From 1277235212b67ec0029bb874f75a6bf2aa34f139 Mon Sep 17 00:00:00 2001 From: jwillmartin Date: Fri, 8 Mar 2024 13:12:24 -0500 Subject: [PATCH] On branch j2735-2024-upgrade Your branch is up to date with 'origin/j2735-2024-upgrade'. Changes to be committed: updated folder: src/tmx/Asn_J2735/src/r2024/ --- src/tmx/Asn_J2735/src/r2024/ANY.c | 80 + src/tmx/Asn_J2735/src/r2024/ANY.h | 84 - src/tmx/Asn_J2735/src/r2024/ANY_aper.c | 190 + src/tmx/Asn_J2735/src/r2024/ANY_ber.c | 116 + src/tmx/Asn_J2735/src/r2024/ANY_uper.c | 108 + src/tmx/Asn_J2735/src/r2024/ANY_xer.c | 22 + .../Asn_J2735/src/r2024/AbsolutePosition2d.c | 84 + .../Asn_J2735/src/r2024/AbsolutePosition2d.h | 40 - .../Asn_J2735/src/r2024/AbsolutePosition3d.c | 104 + .../Asn_J2735/src/r2024/AbsolutePosition3d.h | 44 - .../src/r2024/AccelSteerYawRateConfidence.c | 102 + .../src/r2024/AccelSteerYawRateConfidence.h | 44 - .../Asn_J2735/src/r2024/AccelTimeConstant.c | 86 + .../Asn_J2735/src/r2024/AccelTimeConstant.h | 41 - src/tmx/Asn_J2735/src/r2024/Acceleration.c | 76 + src/tmx/Asn_J2735/src/r2024/Acceleration.h | 46 - .../src/r2024/AccelerationConfidence.c | 80 + .../src/r2024/AccelerationConfidence.h | 59 - .../Asn_J2735/src/r2024/AccelerationSet4Way.c | 120 + .../Asn_J2735/src/r2024/AccelerationSet4Way.h | 45 - .../src/r2024/AcceleratorPedalPosition.c | 76 + .../src/r2024/AcceleratorPedalPosition.h | 46 - .../src/r2024/AccidentsAndIncidents.c | 76 + .../src/r2024/AccidentsAndIncidents.h | 102 - src/tmx/Asn_J2735/src/r2024/AccountStatus.c | 76 + src/tmx/Asn_J2735/src/r2024/AccountStatus.h | 53 - src/tmx/Asn_J2735/src/r2024/AckPolicy.c | 158 + src/tmx/Asn_J2735/src/r2024/AckPolicy.h | 45 - src/tmx/Asn_J2735/src/r2024/Activity.c | 39 + src/tmx/Asn_J2735/src/r2024/Activity.h | 45 - .../src/r2024/ActualNumberOfPassengers.c | 76 + .../src/r2024/ActualNumberOfPassengers.h | 46 - .../Asn_J2735/src/r2024/ActuatedInterval.c | 39 + .../Asn_J2735/src/r2024/ActuatedInterval.h | 45 - src/tmx/Asn_J2735/src/r2024/AddGrpB_Angle.c | 76 + src/tmx/Asn_J2735/src/r2024/AddGrpB_Angle.h | 45 - .../Asn_J2735/src/r2024/AddGrpB_Elevation.c | 76 + .../Asn_J2735/src/r2024/AddGrpB_Elevation.h | 46 - .../Asn_J2735/src/r2024/AddGrpB_MsgCount.c | 76 + .../Asn_J2735/src/r2024/AddGrpB_MsgCount.h | 45 - .../Asn_J2735/src/r2024/AddGrpB_TimeMark.c | 228 + .../Asn_J2735/src/r2024/AddGrpB_TimeMark.h | 56 - .../Asn_J2735/src/r2024/AddGrpC_Altitude.c | 84 + .../Asn_J2735/src/r2024/AddGrpC_Altitude.h | 42 - .../src/r2024/AdviceInstructionsMandatory.c | 76 + .../src/r2024/AdviceInstructionsMandatory.h | 81 - .../r2024/AdviceInstructionsRecommendations.c | 76 + .../r2024/AdviceInstructionsRecommendations.h | 87 - src/tmx/Asn_J2735/src/r2024/AdvisorySpeed.c | 261 + src/tmx/Asn_J2735/src/r2024/AdvisorySpeed.h | 66 - .../Asn_J2735/src/r2024/AdvisorySpeedList.c | 72 + .../Asn_J2735/src/r2024/AdvisorySpeedList.h | 47 - .../Asn_J2735/src/r2024/AdvisorySpeedType.c | 74 + .../Asn_J2735/src/r2024/AdvisorySpeedType.h | 58 - .../AggregatedSingleTariffClassSession.c | 206 + .../AggregatedSingleTariffClassSession.h | 64 - .../Asn_J2735/src/r2024/AllowedManeuvers.c | 82 + .../Asn_J2735/src/r2024/AllowedManeuvers.h | 62 - src/tmx/Asn_J2735/src/r2024/AlternateRoute.c | 76 + src/tmx/Asn_J2735/src/r2024/AlternateRoute.h | 73 - .../Asn_J2735/src/r2024/AltitudeConfidence.c | 96 + .../Asn_J2735/src/r2024/AltitudeConfidence.h | 67 - src/tmx/Asn_J2735/src/r2024/AltitudeValue.c | 76 + src/tmx/Asn_J2735/src/r2024/AltitudeValue.h | 46 - .../Asn_J2735/src/r2024/AmbientAirPressure.c | 76 + .../Asn_J2735/src/r2024/AmbientAirPressure.h | 46 - .../src/r2024/AmbientAirTemperature.c | 76 + .../src/r2024/AmbientAirTemperature.h | 46 - src/tmx/Asn_J2735/src/r2024/AngularVelocity.c | 84 + src/tmx/Asn_J2735/src/r2024/AngularVelocity.h | 42 - .../src/r2024/AngularVelocityConfidence.c | 86 + .../src/r2024/AngularVelocityConfidence.h | 42 - .../Asn_J2735/src/r2024/AnimalPropelledType.c | 74 + .../Asn_J2735/src/r2024/AnimalPropelledType.h | 58 - src/tmx/Asn_J2735/src/r2024/AnimalType.c | 74 + src/tmx/Asn_J2735/src/r2024/AnimalType.h | 58 - .../Asn_J2735/src/r2024/AntennaOffsetSet.c | 102 + .../Asn_J2735/src/r2024/AntennaOffsetSet.h | 44 - .../Asn_J2735/src/r2024/AntiLockBrakeStatus.c | 72 + .../Asn_J2735/src/r2024/AntiLockBrakeStatus.h | 55 - .../Asn_J2735/src/r2024/ApplicableHeading.c | 84 + .../Asn_J2735/src/r2024/ApplicableHeading.h | 46 - src/tmx/Asn_J2735/src/r2024/ApproachID.c | 76 + src/tmx/Asn_J2735/src/r2024/ApproachID.h | 46 - src/tmx/Asn_J2735/src/r2024/ApproachOrLane.c | 93 + src/tmx/Asn_J2735/src/r2024/ApproachOrLane.h | 53 - src/tmx/Asn_J2735/src/r2024/Area.c | 133 + src/tmx/Asn_J2735/src/r2024/Area.h | 48 - .../src/r2024/AreaOrSegmentChargingInfo.c | 169 + .../src/r2024/AreaOrSegmentChargingInfo.h | 56 - src/tmx/Asn_J2735/src/r2024/AreaType.c | 93 + src/tmx/Asn_J2735/src/r2024/AreaType.h | 59 - src/tmx/Asn_J2735/src/r2024/AsphaltOrTar.c | 66 + src/tmx/Asn_J2735/src/r2024/AsphaltOrTar.h | 44 - .../Asn_J2735/src/r2024/AsphaltOrTarType.c | 74 + .../Asn_J2735/src/r2024/AsphaltOrTarType.h | 58 - src/tmx/Asn_J2735/src/r2024/AssetStatus.c | 76 + src/tmx/Asn_J2735/src/r2024/AssetStatus.h | 68 - .../r2024/AtmosPressureMeasurementStdDev.c | 76 + .../r2024/AtmosPressureMeasurementStdDev.h | 46 - src/tmx/Asn_J2735/src/r2024/Attachment.c | 80 + src/tmx/Asn_J2735/src/r2024/Attachment.h | 61 - .../Asn_J2735/src/r2024/AttachmentRadius.c | 76 + .../Asn_J2735/src/r2024/AttachmentRadius.h | 46 - src/tmx/Asn_J2735/src/r2024/Attitude.c | 102 + src/tmx/Asn_J2735/src/r2024/Attitude.h | 44 - .../Asn_J2735/src/r2024/AttitudeConfidence.c | 102 + .../Asn_J2735/src/r2024/AttitudeConfidence.h | 42 - src/tmx/Asn_J2735/src/r2024/AudioLink.c | 285 + src/tmx/Asn_J2735/src/r2024/AudioLink.h | 48 - .../src/r2024/AuxiliaryBrakeStatus.c | 72 + .../src/r2024/AuxiliaryBrakeStatus.h | 55 - src/tmx/Asn_J2735/src/r2024/AxesMovement.c | 158 + src/tmx/Asn_J2735/src/r2024/AxesMovement.h | 50 - src/tmx/Asn_J2735/src/r2024/AxleLocation.c | 76 + src/tmx/Asn_J2735/src/r2024/AxleLocation.h | 46 - src/tmx/Asn_J2735/src/r2024/AxleWeight.c | 76 + src/tmx/Asn_J2735/src/r2024/AxleWeight.h | 46 - src/tmx/Asn_J2735/src/r2024/AxleWeightLimit.c | 84 + src/tmx/Asn_J2735/src/r2024/AxleWeightLimit.h | 42 - .../Asn_J2735/src/r2024/AxleWeightLimits.c | 138 + .../Asn_J2735/src/r2024/AxleWeightLimits.h | 44 - src/tmx/Asn_J2735/src/r2024/AxleWeightList.c | 72 + src/tmx/Asn_J2735/src/r2024/AxleWeightList.h | 47 - src/tmx/Asn_J2735/src/r2024/AxleWeightSet.c | 86 + src/tmx/Asn_J2735/src/r2024/AxleWeightSet.h | 46 - src/tmx/Asn_J2735/src/r2024/Axles.c | 215 + src/tmx/Asn_J2735/src/r2024/Axles.h | 46 - src/tmx/Asn_J2735/src/r2024/AxlesCharges.c | 121 + src/tmx/Asn_J2735/src/r2024/AxlesCharges.h | 46 - .../Asn_J2735/src/r2024/AxlesChargesTable.c | 72 + .../Asn_J2735/src/r2024/AxlesChargesTable.h | 47 - .../Asn_J2735/src/r2024/AxlesWeightLimits.c | 60 + .../Asn_J2735/src/r2024/AxlesWeightLimits.h | 44 - src/tmx/Asn_J2735/src/r2024/BIT_STRING.c | 213 + src/tmx/Asn_J2735/src/r2024/BIT_STRING.h | 75 - src/tmx/Asn_J2735/src/r2024/BIT_STRING_oer.c | 168 + .../Asn_J2735/src/r2024/BIT_STRING_print.c | 69 + .../Asn_J2735/src/r2024/BIT_STRING_rfill.c | 124 + src/tmx/Asn_J2735/src/r2024/BIT_STRING_uper.c | 244 + src/tmx/Asn_J2735/src/r2024/BIT_STRING_xer.c | 70 + src/tmx/Asn_J2735/src/r2024/BOOLEAN.c | 128 + src/tmx/Asn_J2735/src/r2024/BOOLEAN.h | 70 - src/tmx/Asn_J2735/src/r2024/BOOLEAN_aper.c | 61 + src/tmx/Asn_J2735/src/r2024/BOOLEAN_ber.c | 104 + src/tmx/Asn_J2735/src/r2024/BOOLEAN_oer.c | 54 + src/tmx/Asn_J2735/src/r2024/BOOLEAN_print.c | 33 + src/tmx/Asn_J2735/src/r2024/BOOLEAN_rfill.c | 56 + src/tmx/Asn_J2735/src/r2024/BOOLEAN_uper.c | 58 + src/tmx/Asn_J2735/src/r2024/BOOLEAN_xer.c | 74 + src/tmx/Asn_J2735/src/r2024/BSMcoreData.c | 300 + src/tmx/Asn_J2735/src/r2024/BSMcoreData.h | 66 - src/tmx/Asn_J2735/src/r2024/BankAngle.c | 76 + src/tmx/Asn_J2735/src/r2024/BankAngle.h | 46 - .../Asn_J2735/src/r2024/BasicSafetyMessage.c | 310 + .../Asn_J2735/src/r2024/BasicSafetyMessage.h | 66 - .../src/r2024/BasicSafetyMessage_PartII-Id.c | 76 + .../src/r2024/BasicSafetyMessage_PartII-Id.h | 49 - .../Asn_J2735/src/r2024/BasicVehicleClass.c | 76 + .../Asn_J2735/src/r2024/BasicVehicleClass.h | 102 - .../Asn_J2735/src/r2024/BasicVehicleRole.c | 112 + .../Asn_J2735/src/r2024/BasicVehicleRole.h | 77 - .../src/r2024/BrakeAppliedPressure.c | 96 + .../src/r2024/BrakeAppliedPressure.h | 67 - .../Asn_J2735/src/r2024/BrakeAppliedStatus.c | 82 + .../Asn_J2735/src/r2024/BrakeAppliedStatus.h | 55 - .../Asn_J2735/src/r2024/BrakeBoostApplied.c | 70 + .../Asn_J2735/src/r2024/BrakeBoostApplied.h | 54 - .../Asn_J2735/src/r2024/BrakePedalPosition.c | 76 + .../Asn_J2735/src/r2024/BrakePedalPosition.h | 46 - .../Asn_J2735/src/r2024/BrakeSystemStatus.c | 156 + .../Asn_J2735/src/r2024/BrakeSystemStatus.h | 50 - src/tmx/Asn_J2735/src/r2024/BroadRegion.c | 84 + src/tmx/Asn_J2735/src/r2024/BroadRegion.h | 46 - src/tmx/Asn_J2735/src/r2024/BroadRegionArea.c | 93 + src/tmx/Asn_J2735/src/r2024/BroadRegionArea.h | 59 - src/tmx/Asn_J2735/src/r2024/BumperHeight.c | 76 + src/tmx/Asn_J2735/src/r2024/BumperHeight.h | 46 - src/tmx/Asn_J2735/src/r2024/BumperHeights.c | 84 + src/tmx/Asn_J2735/src/r2024/BumperHeights.h | 41 - src/tmx/Asn_J2735/src/r2024/CCMFaultMode.c | 82 + src/tmx/Asn_J2735/src/r2024/CCMFaultMode.h | 58 - .../Asn_J2735/src/r2024/CO2EmissionValue.c | 76 + .../Asn_J2735/src/r2024/CO2EmissionValue.h | 45 - src/tmx/Asn_J2735/src/r2024/CargoWeight.c | 76 + src/tmx/Asn_J2735/src/r2024/CargoWeight.h | 46 - .../src/r2024/CfgAveragedAndSummaryTriggers.c | 93 + .../src/r2024/CfgAveragedAndSummaryTriggers.h | 59 - .../Asn_J2735/src/r2024/CfgAveragedTriggers.c | 140 + .../Asn_J2735/src/r2024/CfgAveragedTriggers.h | 48 - .../src/r2024/CfgCommSysPerfEvents.c | 526 + .../src/r2024/CfgCommSysPerfEvents.h | 54 - .../src/r2024/CfgEmerAndTransitInfo.c | 129 + .../src/r2024/CfgEmerAndTransitInfo.h | 62 - .../Asn_J2735/src/r2024/CfgEventRecurrence.c | 266 + .../Asn_J2735/src/r2024/CfgEventRecurrence.h | 63 - src/tmx/Asn_J2735/src/r2024/CfgEvents.c | 177 + src/tmx/Asn_J2735/src/r2024/CfgEvents.h | 49 - src/tmx/Asn_J2735/src/r2024/CfgHysteresis.c | 158 + src/tmx/Asn_J2735/src/r2024/CfgHysteresis.h | 45 - .../src/r2024/CfgInstantaneousEventTriggers.c | 129 + .../src/r2024/CfgInstantaneousEventTriggers.h | 65 - src/tmx/Asn_J2735/src/r2024/CfgInterval.c | 167 + src/tmx/Asn_J2735/src/r2024/CfgInterval.h | 58 - .../Asn_J2735/src/r2024/CfgIntervalEvents.c | 158 + .../Asn_J2735/src/r2024/CfgIntervalEvents.h | 56 - .../Asn_J2735/src/r2024/CfgKinematicEvents.c | 86 + .../Asn_J2735/src/r2024/CfgKinematicEvents.h | 51 - .../Asn_J2735/src/r2024/CfgLowSpeedCriteria.c | 160 + .../Asn_J2735/src/r2024/CfgLowSpeedCriteria.h | 45 - .../Asn_J2735/src/r2024/CfgMsgDictionary.c | 72 + .../Asn_J2735/src/r2024/CfgMsgDictionary.h | 57 - .../src/r2024/CfgMsgRecepIndicators.c | 189 + .../src/r2024/CfgMsgRecepIndicators.h | 53 - src/tmx/Asn_J2735/src/r2024/CfgRoadSignInfo.c | 178 + src/tmx/Asn_J2735/src/r2024/CfgRoadSignInfo.h | 47 - .../Asn_J2735/src/r2024/CfgRoadSignTypes.c | 302 + .../Asn_J2735/src/r2024/CfgRoadSignTypes.h | 57 - .../Asn_J2735/src/r2024/CfgRoadwayEvents.c | 339 + .../Asn_J2735/src/r2024/CfgRoadwayEvents.h | 66 - .../Asn_J2735/src/r2024/CfgStoppedCriteria.c | 158 + .../Asn_J2735/src/r2024/CfgStoppedCriteria.h | 45 - .../Asn_J2735/src/r2024/CfgSummaryTriggers.c | 266 + .../Asn_J2735/src/r2024/CfgSummaryTriggers.h | 65 - .../src/r2024/CfgTrafficSigEncounters.c | 408 + .../src/r2024/CfgTrafficSigEncounters.h | 60 - .../src/r2024/CfgTransitVehicleData.c | 104 + .../src/r2024/CfgTransitVehicleData.h | 46 - src/tmx/Asn_J2735/src/r2024/CfgVehicleClass.c | 282 + src/tmx/Asn_J2735/src/r2024/CfgVehicleClass.h | 56 - .../Asn_J2735/src/r2024/CfgVehicleEvents.c | 303 + .../Asn_J2735/src/r2024/CfgVehicleEvents.h | 68 - src/tmx/Asn_J2735/src/r2024/ChargeObjectId.c | 86 + src/tmx/Asn_J2735/src/r2024/ChargeObjectId.h | 47 - src/tmx/Asn_J2735/src/r2024/ChargerInfo.c | 122 + src/tmx/Asn_J2735/src/r2024/ChargerInfo.h | 55 - src/tmx/Asn_J2735/src/r2024/ChargesTable.c | 111 + src/tmx/Asn_J2735/src/r2024/ChargesTable.h | 62 - .../src/r2024/ChargingAreaOrSegment.c | 93 + .../src/r2024/ChargingAreaOrSegment.h | 59 - src/tmx/Asn_J2735/src/r2024/ChargingConfig.c | 310 + src/tmx/Asn_J2735/src/r2024/ChargingConfig.h | 77 - src/tmx/Asn_J2735/src/r2024/ChargingFees.c | 207 + src/tmx/Asn_J2735/src/r2024/ChargingFees.h | 60 - src/tmx/Asn_J2735/src/r2024/ChargingUnits.c | 93 + src/tmx/Asn_J2735/src/r2024/ChargingUnits.h | 59 - src/tmx/Asn_J2735/src/r2024/Cinders.c | 66 + src/tmx/Asn_J2735/src/r2024/Cinders.h | 44 - src/tmx/Asn_J2735/src/r2024/CindersType.c | 68 + src/tmx/Asn_J2735/src/r2024/CindersType.h | 55 - src/tmx/Asn_J2735/src/r2024/Circle.c | 102 + src/tmx/Asn_J2735/src/r2024/Circle.h | 44 - .../src/r2024/ClassificationConfidence.c | 76 + .../src/r2024/ClassificationConfidence.h | 46 - .../src/r2024/ClosedNetworkChargesTable.c | 93 + .../src/r2024/ClosedNetworkChargesTable.h | 59 - src/tmx/Asn_J2735/src/r2024/Closures.c | 76 + src/tmx/Asn_J2735/src/r2024/Closures.h | 68 - src/tmx/Asn_J2735/src/r2024/CoarseHeading.c | 76 + src/tmx/Asn_J2735/src/r2024/CoarseHeading.h | 46 - src/tmx/Asn_J2735/src/r2024/CodeWord.c | 77 + src/tmx/Asn_J2735/src/r2024/CodeWord.h | 45 - .../src/r2024/CoefficientOfFriction.c | 76 + .../src/r2024/CoefficientOfFriction.h | 46 - src/tmx/Asn_J2735/src/r2024/CommonContainer.c | 207 + src/tmx/Asn_J2735/src/r2024/CommonContainer.h | 61 - .../Asn_J2735/src/r2024/CommonSafetyRequest.c | 243 + .../Asn_J2735/src/r2024/CommonSafetyRequest.h | 64 - src/tmx/Asn_J2735/src/r2024/Common_Angle.c | 76 + src/tmx/Asn_J2735/src/r2024/Common_Angle.h | 46 - src/tmx/Asn_J2735/src/r2024/Common_Duration.c | 76 + src/tmx/Asn_J2735/src/r2024/Common_Duration.h | 45 - .../Asn_J2735/src/r2024/Common_Elevation.c | 76 + .../Asn_J2735/src/r2024/Common_Elevation.h | 46 - src/tmx/Asn_J2735/src/r2024/Common_Latitude.c | 76 + src/tmx/Asn_J2735/src/r2024/Common_Latitude.h | 46 - .../Asn_J2735/src/r2024/Common_Longitude.c | 76 + .../Asn_J2735/src/r2024/Common_Longitude.h | 46 - .../src/r2024/Common_MeanVariation.c | 76 + .../src/r2024/Common_MeanVariation.h | 46 - src/tmx/Asn_J2735/src/r2024/Common_MsgCount.c | 76 + src/tmx/Asn_J2735/src/r2024/Common_MsgCount.h | 46 - src/tmx/Asn_J2735/src/r2024/ComputedLane.c | 449 + src/tmx/Asn_J2735/src/r2024/ComputedLane.h | 98 - src/tmx/Asn_J2735/src/r2024/Confidence.c | 76 + src/tmx/Asn_J2735/src/r2024/Confidence.h | 46 - src/tmx/Asn_J2735/src/r2024/ConfidenceSet.c | 176 + src/tmx/Asn_J2735/src/r2024/ConfidenceSet.h | 63 - src/tmx/Asn_J2735/src/r2024/ConfigBoundary.c | 93 + src/tmx/Asn_J2735/src/r2024/ConfigBoundary.h | 59 - .../Asn_J2735/src/r2024/ConfigDescriptor.c | 159 + .../Asn_J2735/src/r2024/ConfigDescriptor.h | 56 - src/tmx/Asn_J2735/src/r2024/ConfigId.c | 76 + src/tmx/Asn_J2735/src/r2024/ConfigId.h | 46 - src/tmx/Asn_J2735/src/r2024/ConfigInfo.c | 277 + src/tmx/Asn_J2735/src/r2024/ConfigInfo.h | 61 - .../src/r2024/ConfigTemporalBoundary.c | 102 + .../src/r2024/ConfigTemporalBoundary.h | 47 - src/tmx/Asn_J2735/src/r2024/ConfigTriggers.c | 93 + src/tmx/Asn_J2735/src/r2024/ConfigTriggers.h | 59 - src/tmx/Asn_J2735/src/r2024/ConnectingLane.c | 86 + src/tmx/Asn_J2735/src/r2024/ConnectingLane.h | 42 - src/tmx/Asn_J2735/src/r2024/Connection.c | 140 + src/tmx/Asn_J2735/src/r2024/Connection.h | 53 - .../r2024/ConnectionManeuverAssist-addGrpC.c | 86 + .../r2024/ConnectionManeuverAssist-addGrpC.h | 47 - .../src/r2024/ConnectionManeuverAssist.c | 261 + .../src/r2024/ConnectionManeuverAssist.h | 65 - src/tmx/Asn_J2735/src/r2024/ConnectsToList.c | 72 + src/tmx/Asn_J2735/src/r2024/ConnectsToList.h | 47 - .../src/r2024/ConsecutiveTrafficLight.c | 72 + .../src/r2024/ConsecutiveTrafficLight.h | 57 - .../Asn_J2735/src/r2024/ContentContainer.c | 165 + .../Asn_J2735/src/r2024/ContentContainer.h | 71 - .../src/r2024/ContractAuthenticator.c | 39 + .../src/r2024/ContractAuthenticator.h | 45 - .../src/r2024/ContractSerialNumber.c | 67 + .../src/r2024/ContractSerialNumber.h | 46 - .../Asn_J2735/src/r2024/ContractValidity.c | 122 + .../Asn_J2735/src/r2024/ContractValidity.h | 40 - .../src/r2024/CooperativeControlMessage.c | 189 + .../src/r2024/CooperativeControlMessage.h | 58 - .../CooperativeControlMessage_ManeuverID.c | 76 + .../CooperativeControlMessage_ManeuverID.h | 82 - .../CooperativeControlMessage_PartII-Id.c | 76 + .../CooperativeControlMessage_PartII-Id.h | 49 - .../CooperativeControlMessage_PitchRate.c | 76 + .../CooperativeControlMessage_PitchRate.h | 46 - .../CooperativeControlMessage_RollRate.c | 76 + .../CooperativeControlMessage_RollRate.h | 46 - src/tmx/Asn_J2735/src/r2024/CopValue.c | 76 + src/tmx/Asn_J2735/src/r2024/CopValue.h | 58 - src/tmx/Asn_J2735/src/r2024/Count.c | 76 + src/tmx/Asn_J2735/src/r2024/Count.h | 45 - src/tmx/Asn_J2735/src/r2024/CountryCode.c | 82 + src/tmx/Asn_J2735/src/r2024/CountryCode.h | 46 - src/tmx/Asn_J2735/src/r2024/CrossLinking.c | 413 + src/tmx/Asn_J2735/src/r2024/CrossLinking.h | 72 - .../Asn_J2735/src/r2024/CurrentStateData.c | 158 + .../Asn_J2735/src/r2024/CurrentStateData.h | 61 - src/tmx/Asn_J2735/src/r2024/CurveContainer.c | 140 + src/tmx/Asn_J2735/src/r2024/CurveContainer.h | 58 - src/tmx/Asn_J2735/src/r2024/DDate.c | 102 + src/tmx/Asn_J2735/src/r2024/DDate.h | 44 - src/tmx/Asn_J2735/src/r2024/DDateTime.c | 176 + src/tmx/Asn_J2735/src/r2024/DDateTime.h | 52 - src/tmx/Asn_J2735/src/r2024/DDay.c | 76 + src/tmx/Asn_J2735/src/r2024/DDay.h | 46 - src/tmx/Asn_J2735/src/r2024/DFullTime.c | 138 + src/tmx/Asn_J2735/src/r2024/DFullTime.h | 46 - src/tmx/Asn_J2735/src/r2024/DHour.c | 76 + src/tmx/Asn_J2735/src/r2024/DHour.h | 46 - src/tmx/Asn_J2735/src/r2024/DMinute.c | 76 + src/tmx/Asn_J2735/src/r2024/DMinute.h | 46 - src/tmx/Asn_J2735/src/r2024/DMonth.c | 76 + src/tmx/Asn_J2735/src/r2024/DMonth.h | 46 - src/tmx/Asn_J2735/src/r2024/DMonthDay.c | 84 + src/tmx/Asn_J2735/src/r2024/DMonthDay.h | 40 - src/tmx/Asn_J2735/src/r2024/DOffset.c | 76 + src/tmx/Asn_J2735/src/r2024/DOffset.h | 46 - src/tmx/Asn_J2735/src/r2024/DSRCmsgID.c | 76 + src/tmx/Asn_J2735/src/r2024/DSRCmsgID.h | 113 - src/tmx/Asn_J2735/src/r2024/DSecond.c | 76 + src/tmx/Asn_J2735/src/r2024/DSecond.h | 46 - src/tmx/Asn_J2735/src/r2024/DTime.c | 122 + src/tmx/Asn_J2735/src/r2024/DTime.h | 46 - src/tmx/Asn_J2735/src/r2024/DYear.c | 76 + src/tmx/Asn_J2735/src/r2024/DYear.h | 46 - src/tmx/Asn_J2735/src/r2024/DYearMonth.c | 84 + src/tmx/Asn_J2735/src/r2024/DYearMonth.h | 40 - src/tmx/Asn_J2735/src/r2024/DataParameters.c | 330 + src/tmx/Asn_J2735/src/r2024/DataParameters.h | 47 - src/tmx/Asn_J2735/src/r2024/DataSourceInfo.c | 70 + src/tmx/Asn_J2735/src/r2024/DataSourceInfo.h | 56 - src/tmx/Asn_J2735/src/r2024/DateAndTime.c | 84 + src/tmx/Asn_J2735/src/r2024/DateAndTime.h | 42 - src/tmx/Asn_J2735/src/r2024/DateCompact.c | 213 + src/tmx/Asn_J2735/src/r2024/DateCompact.h | 42 - src/tmx/Asn_J2735/src/r2024/Day.c | 76 + src/tmx/Asn_J2735/src/r2024/Day.h | 46 - src/tmx/Asn_J2735/src/r2024/DayOfWeek.c | 80 + src/tmx/Asn_J2735/src/r2024/DayOfWeek.h | 59 - src/tmx/Asn_J2735/src/r2024/DegreesLat.c | 76 + src/tmx/Asn_J2735/src/r2024/DegreesLat.h | 46 - src/tmx/Asn_J2735/src/r2024/DegreesLong.c | 76 + src/tmx/Asn_J2735/src/r2024/DegreesLong.h | 46 - .../src/r2024/DelayStatusCancellation.c | 76 + .../src/r2024/DelayStatusCancellation.h | 86 - src/tmx/Asn_J2735/src/r2024/DeltaAngle.c | 76 + src/tmx/Asn_J2735/src/r2024/DeltaAngle.h | 46 - src/tmx/Asn_J2735/src/r2024/DeltaTime.c | 76 + src/tmx/Asn_J2735/src/r2024/DeltaTime.h | 46 - .../src/r2024/DescriptionOfRoadSurface.c | 201 + .../src/r2024/DescriptionOfRoadSurface.h | 77 - .../src/r2024/DescriptiveCharacteristics.c | 76 + .../src/r2024/DescriptiveCharacteristics.h | 51 - src/tmx/Asn_J2735/src/r2024/DescriptiveName.c | 91 + src/tmx/Asn_J2735/src/r2024/DescriptiveName.h | 46 - .../src/r2024/DetectedChargeObject.c | 230 + .../src/r2024/DetectedChargeObject.h | 67 - .../src/r2024/DetectedObjectCommonData.c | 374 + .../src/r2024/DetectedObjectCommonData.h | 79 - .../Asn_J2735/src/r2024/DetectedObjectData.c | 86 + .../Asn_J2735/src/r2024/DetectedObjectData.h | 47 - .../Asn_J2735/src/r2024/DetectedObjectList.c | 72 + .../Asn_J2735/src/r2024/DetectedObjectList.h | 47 - .../src/r2024/DetectedObjectOptionalData.c | 111 + .../src/r2024/DetectedObjectOptionalData.h | 56 - .../src/r2024/DetectedObstacleData.c | 84 + .../src/r2024/DetectedObstacleData.h | 42 - src/tmx/Asn_J2735/src/r2024/DetectedVRUData.c | 122 + src/tmx/Asn_J2735/src/r2024/DetectedVRUData.h | 51 - .../Asn_J2735/src/r2024/DetectedVehicleData.c | 230 + .../Asn_J2735/src/r2024/DetectedVehicleData.h | 72 - src/tmx/Asn_J2735/src/r2024/DetectionMode.c | 76 + src/tmx/Asn_J2735/src/r2024/DetectionMode.h | 53 - src/tmx/Asn_J2735/src/r2024/DeviceStatus.c | 76 + src/tmx/Asn_J2735/src/r2024/DeviceStatus.h | 91 - .../src/r2024/DewPointTempMeasurementStdDev.c | 76 + .../src/r2024/DewPointTempMeasurementStdDev.h | 46 - .../src/r2024/DieselEmissionValues.c | 84 + .../src/r2024/DieselEmissionValues.h | 42 - src/tmx/Asn_J2735/src/r2024/DirectionOfUse.c | 72 + src/tmx/Asn_J2735/src/r2024/DirectionOfUse.h | 55 - src/tmx/Asn_J2735/src/r2024/DisabledVehicle.c | 123 + src/tmx/Asn_J2735/src/r2024/DisabledVehicle.h | 46 - src/tmx/Asn_J2735/src/r2024/Disasters.c | 76 + src/tmx/Asn_J2735/src/r2024/Disasters.h | 82 - src/tmx/Asn_J2735/src/r2024/Distance.c | 109 + src/tmx/Asn_J2735/src/r2024/Distance.h | 42 - src/tmx/Asn_J2735/src/r2024/DistanceUnit.c | 76 + src/tmx/Asn_J2735/src/r2024/DistanceUnit.h | 59 - src/tmx/Asn_J2735/src/r2024/DistanceUnits.c | 80 + src/tmx/Asn_J2735/src/r2024/DistanceUnits.h | 59 - src/tmx/Asn_J2735/src/r2024/Disturbances.c | 76 + src/tmx/Asn_J2735/src/r2024/Disturbances.h | 87 - .../src/r2024/DriveAxleLiftAirPressure.c | 76 + .../src/r2024/DriveAxleLiftAirPressure.h | 46 - .../Asn_J2735/src/r2024/DriveAxleLocation.c | 76 + .../Asn_J2735/src/r2024/DriveAxleLocation.h | 46 - .../src/r2024/DriveAxleLubePressure.c | 76 + .../src/r2024/DriveAxleLubePressure.h | 46 - .../src/r2024/DriveAxleTemperature.c | 76 + .../src/r2024/DriveAxleTemperature.h | 46 - src/tmx/Asn_J2735/src/r2024/Driven.c | 76 + src/tmx/Asn_J2735/src/r2024/Driven.h | 59 - .../Asn_J2735/src/r2024/DrivenLineOffsetLg.c | 76 + .../Asn_J2735/src/r2024/DrivenLineOffsetLg.h | 46 - .../Asn_J2735/src/r2024/DrivenLineOffsetSm.c | 76 + .../Asn_J2735/src/r2024/DrivenLineOffsetSm.h | 46 - .../src/r2024/DriverCharacteristics.c | 84 + .../src/r2024/DriverCharacteristics.h | 41 - .../Asn_J2735/src/r2024/DrivingWheelAngle.c | 76 + .../Asn_J2735/src/r2024/DrivingWheelAngle.h | 46 - .../src/r2024/DynamicInfoContainer.c | 270 + .../src/r2024/DynamicInfoContainer.h | 64 - src/tmx/Asn_J2735/src/r2024/EXTERNAL.c | 228 + src/tmx/Asn_J2735/src/r2024/EXTERNAL.h | 65 - src/tmx/Asn_J2735/src/r2024/EfcContextMark.c | 177 + src/tmx/Asn_J2735/src/r2024/EfcContextMark.h | 42 - .../src/r2024/EfcDataDictionary_Altitude.c | 76 + .../src/r2024/EfcDataDictionary_Altitude.h | 46 - .../src/r2024/EfcDataDictionary_Duration.c | 109 + .../src/r2024/EfcDataDictionary_Duration.h | 40 - .../src/r2024/EfcDataDictionary_Latitude.c | 76 + .../src/r2024/EfcDataDictionary_Latitude.h | 46 - .../src/r2024/EfcDataDictionary_Longitude.c | 76 + .../src/r2024/EfcDataDictionary_Longitude.h | 46 - src/tmx/Asn_J2735/src/r2024/ElevOffset.c | 76 + src/tmx/Asn_J2735/src/r2024/ElevOffset.h | 46 - .../Asn_J2735/src/r2024/ElevationConfidence.c | 96 + .../Asn_J2735/src/r2024/ElevationConfidence.h | 67 - .../Asn_J2735/src/r2024/EmergencyDetails.c | 158 + .../Asn_J2735/src/r2024/EmergencyDetails.h | 59 - .../src/r2024/EmergencyVehicleAlert.c | 351 + .../src/r2024/EmergencyVehicleAlert.h | 77 - src/tmx/Asn_J2735/src/r2024/EmissionType.c | 76 + src/tmx/Asn_J2735/src/r2024/EmissionType.h | 59 - src/tmx/Asn_J2735/src/r2024/EmissionUnit.c | 76 + src/tmx/Asn_J2735/src/r2024/EmissionUnit.h | 52 - src/tmx/Asn_J2735/src/r2024/EnabledLaneList.c | 72 + src/tmx/Asn_J2735/src/r2024/EnabledLaneList.h | 42 - .../Asn_J2735/src/r2024/EncryptedTumData.c | 77 + .../Asn_J2735/src/r2024/EncryptedTumData.h | 46 - .../src/r2024/EngineCharacteristics.c | 76 + .../src/r2024/EngineCharacteristics.h | 104 - src/tmx/Asn_J2735/src/r2024/EngineDetails.c | 84 + src/tmx/Asn_J2735/src/r2024/EngineDetails.h | 41 - .../Asn_J2735/src/r2024/EntryChargesTable.c | 84 + .../Asn_J2735/src/r2024/EntryChargesTable.h | 46 - .../src/r2024/EnvironmentalCharacteristics.c | 84 + .../src/r2024/EnvironmentalCharacteristics.h | 42 - src/tmx/Asn_J2735/src/r2024/EquipmentIccId.c | 39 + src/tmx/Asn_J2735/src/r2024/EquipmentIccId.h | 45 - src/tmx/Asn_J2735/src/r2024/EquipmentObuId.c | 39 + src/tmx/Asn_J2735/src/r2024/EquipmentObuId.h | 45 - src/tmx/Asn_J2735/src/r2024/EquipmentStatus.c | 82 + src/tmx/Asn_J2735/src/r2024/EquipmentStatus.h | 45 - src/tmx/Asn_J2735/src/r2024/EquipmentType.c | 74 + src/tmx/Asn_J2735/src/r2024/EquipmentType.h | 58 - .../Asn_J2735/src/r2024/EssMobileFriction.c | 76 + .../Asn_J2735/src/r2024/EssMobileFriction.h | 46 - src/tmx/Asn_J2735/src/r2024/EssPrecipRate.c | 76 + src/tmx/Asn_J2735/src/r2024/EssPrecipRate.h | 46 - .../Asn_J2735/src/r2024/EssPrecipSituation.c | 94 + .../Asn_J2735/src/r2024/EssPrecipSituation.h | 66 - src/tmx/Asn_J2735/src/r2024/EssPrecipYesNo.c | 70 + src/tmx/Asn_J2735/src/r2024/EssPrecipYesNo.h | 54 - .../Asn_J2735/src/r2024/EssSolarRadiation.c | 76 + .../Asn_J2735/src/r2024/EssSolarRadiation.h | 46 - src/tmx/Asn_J2735/src/r2024/EuroValue.c | 76 + src/tmx/Asn_J2735/src/r2024/EuroValue.h | 59 - .../Asn_J2735/src/r2024/EventDescription.c | 364 + .../Asn_J2735/src/r2024/EventDescription.h | 70 - src/tmx/Asn_J2735/src/r2024/EventIdentifier.c | 84 + src/tmx/Asn_J2735/src/r2024/EventIdentifier.h | 46 - src/tmx/Asn_J2735/src/r2024/EventInfo.c | 418 + src/tmx/Asn_J2735/src/r2024/EventInfo.h | 78 - src/tmx/Asn_J2735/src/r2024/EventRecurrence.c | 266 + src/tmx/Asn_J2735/src/r2024/EventRecurrence.h | 63 - .../src/r2024/ExhaustEmissionValues.c | 175 + .../src/r2024/ExhaustEmissionValues.h | 46 - .../Asn_J2735/src/r2024/ExitChargesTable.c | 86 + .../Asn_J2735/src/r2024/ExitChargesTable.h | 46 - src/tmx/Asn_J2735/src/r2024/ExitInfo.c | 178 + src/tmx/Asn_J2735/src/r2024/ExitInfo.h | 47 - src/tmx/Asn_J2735/src/r2024/ExitService.c | 215 + src/tmx/Asn_J2735/src/r2024/ExitService.h | 69 - src/tmx/Asn_J2735/src/r2024/Extent.c | 96 + src/tmx/Asn_J2735/src/r2024/Extent.h | 67 - src/tmx/Asn_J2735/src/r2024/ExteriorLights.c | 82 + src/tmx/Asn_J2735/src/r2024/ExteriorLights.h | 59 - src/tmx/Asn_J2735/src/r2024/FeeReport.c | 84 + src/tmx/Asn_J2735/src/r2024/FeeReport.h | 46 - .../Asn_J2735/src/r2024/FrictionInformation.c | 104 + .../Asn_J2735/src/r2024/FrictionInformation.h | 53 - src/tmx/Asn_J2735/src/r2024/FrontCutIn.c | 39 + src/tmx/Asn_J2735/src/r2024/FrontCutIn.h | 45 - src/tmx/Asn_J2735/src/r2024/FuelType.c | 76 + src/tmx/Asn_J2735/src/r2024/FuelType.h | 56 - .../Asn_J2735/src/r2024/FullPositionVector.c | 230 + .../Asn_J2735/src/r2024/FullPositionVector.h | 71 - .../Asn_J2735/src/r2024/FullRoadAuthorityID.c | 39 + .../Asn_J2735/src/r2024/FullRoadAuthorityID.h | 45 - src/tmx/Asn_J2735/src/r2024/FurtherInfoID.c | 77 + src/tmx/Asn_J2735/src/r2024/FurtherInfoID.h | 46 - .../src/r2024/FutureCharacteristics.c | 76 + .../src/r2024/FutureCharacteristics.h | 52 - src/tmx/Asn_J2735/src/r2024/GNSSstatus.c | 82 + src/tmx/Asn_J2735/src/r2024/GNSSstatus.h | 58 - src/tmx/Asn_J2735/src/r2024/GeneralizedTime.c | 743 ++ src/tmx/Asn_J2735/src/r2024/GeneralizedTime.h | 102 - .../Asn_J2735/src/r2024/GeneralizedTime_ber.c | 45 + .../src/r2024/GeneralizedTime_print.c | 42 + .../src/r2024/GeneralizedTime_rfill.c | 39 + .../Asn_J2735/src/r2024/GeneralizedTime_xer.c | 46 + src/tmx/Asn_J2735/src/r2024/GenericLane.c | 333 + src/tmx/Asn_J2735/src/r2024/GenericLane.h | 75 - src/tmx/Asn_J2735/src/r2024/GenericSignage.c | 215 + src/tmx/Asn_J2735/src/r2024/GenericSignage.h | 69 - .../Asn_J2735/src/r2024/GeographicalPath.c | 418 + .../Asn_J2735/src/r2024/GeographicalPath.h | 101 - .../Asn_J2735/src/r2024/GeometricProjection.c | 243 + .../Asn_J2735/src/r2024/GeometricProjection.h | 64 - src/tmx/Asn_J2735/src/r2024/GraphicString.c | 91 + src/tmx/Asn_J2735/src/r2024/GraphicString.h | 56 - src/tmx/Asn_J2735/src/r2024/Grass.c | 66 + src/tmx/Asn_J2735/src/r2024/Grass.h | 44 - src/tmx/Asn_J2735/src/r2024/GrassType.c | 68 + src/tmx/Asn_J2735/src/r2024/GrassType.h | 55 - src/tmx/Asn_J2735/src/r2024/Gravel.c | 66 + src/tmx/Asn_J2735/src/r2024/Gravel.h | 44 - src/tmx/Asn_J2735/src/r2024/GravelType.c | 70 + src/tmx/Asn_J2735/src/r2024/GravelType.h | 56 - src/tmx/Asn_J2735/src/r2024/GrossDistance.c | 76 + src/tmx/Asn_J2735/src/r2024/GrossDistance.h | 46 - src/tmx/Asn_J2735/src/r2024/GrossSpeed.c | 76 + src/tmx/Asn_J2735/src/r2024/GrossSpeed.h | 46 - src/tmx/Asn_J2735/src/r2024/Header.c | 122 + src/tmx/Asn_J2735/src/r2024/Header.h | 50 - src/tmx/Asn_J2735/src/r2024/Heading.c | 76 + src/tmx/Asn_J2735/src/r2024/Heading.h | 46 - .../Asn_J2735/src/r2024/HeadingConfidence.c | 80 + .../Asn_J2735/src/r2024/HeadingConfidence.h | 59 - src/tmx/Asn_J2735/src/r2024/HeadingDeg.c | 76 + src/tmx/Asn_J2735/src/r2024/HeadingDeg.h | 46 - src/tmx/Asn_J2735/src/r2024/HeadingSlice.c | 82 + src/tmx/Asn_J2735/src/r2024/HeadingSlice.h | 66 - .../src/r2024/HeavyTruckCCMExtensions.c | 374 + .../src/r2024/HeavyTruckCCMExtensions.h | 81 - src/tmx/Asn_J2735/src/r2024/Holiday.c | 68 + src/tmx/Asn_J2735/src/r2024/Holiday.h | 53 - src/tmx/Asn_J2735/src/r2024/Hour.c | 76 + src/tmx/Asn_J2735/src/r2024/Hour.h | 46 - .../Asn_J2735/src/r2024/HumanPropelledType.c | 78 + .../Asn_J2735/src/r2024/HumanPropelledType.h | 60 - src/tmx/Asn_J2735/src/r2024/IA5String.c | 133 + src/tmx/Asn_J2735/src/r2024/IA5String.h | 59 - src/tmx/Asn_J2735/src/r2024/INTEGER.c | 738 + src/tmx/Asn_J2735/src/r2024/INTEGER.h | 139 - src/tmx/Asn_J2735/src/r2024/INTEGER_aper.c | 308 + src/tmx/Asn_J2735/src/r2024/INTEGER_ber.c | 72 + src/tmx/Asn_J2735/src/r2024/INTEGER_oer.c | 174 + src/tmx/Asn_J2735/src/r2024/INTEGER_print.c | 26 + src/tmx/Asn_J2735/src/r2024/INTEGER_rfill.c | 92 + src/tmx/Asn_J2735/src/r2024/INTEGER_uper.c | 236 + src/tmx/Asn_J2735/src/r2024/INTEGER_xer.c | 351 + src/tmx/Asn_J2735/src/r2024/ITISEventType.c | 741 + src/tmx/Asn_J2735/src/r2024/ITISEventType.h | 158 - .../src/r2024/ITIS_GenericLocations.c | 258 + .../src/r2024/ITIS_GenericLocations.h | 150 - src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodes.c | 76 + src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodes.h | 46 - .../src/r2024/ITIS_ITIScodesAndText.c | 215 + .../src/r2024/ITIS_ITIScodesAndText.h | 69 - src/tmx/Asn_J2735/src/r2024/ITIS_ITIStext.c | 91 + src/tmx/Asn_J2735/src/r2024/ITIS_ITIStext.h | 46 - .../r2024/ITIS_IncidentResponseEquipment.c | 210 + .../r2024/ITIS_IncidentResponseEquipment.h | 126 - .../src/r2024/ITIS_ResponderGroupAffected.c | 94 + .../src/r2024/ITIS_ResponderGroupAffected.h | 68 - .../src/r2024/ITIS_VehicleGroupAffected.c | 136 + .../src/r2024/ITIS_VehicleGroupAffected.h | 89 - src/tmx/Asn_J2735/src/r2024/ITISgroups.c | 76 + src/tmx/Asn_J2735/src/r2024/ITISgroups.h | 103 - src/tmx/Asn_J2735/src/r2024/ITIStextPhrase.c | 91 + src/tmx/Asn_J2735/src/r2024/ITIStextPhrase.h | 46 - src/tmx/Asn_J2735/src/r2024/Ice.c | 66 + src/tmx/Asn_J2735/src/r2024/Ice.h | 44 - src/tmx/Asn_J2735/src/r2024/IceType.c | 68 + src/tmx/Asn_J2735/src/r2024/IceType.h | 55 - .../src/r2024/IncidentResponseStatus.c | 76 + .../src/r2024/IncidentResponseStatus.h | 67 - .../Asn_J2735/src/r2024/IncidentsContainer.c | 189 + .../Asn_J2735/src/r2024/IncidentsContainer.h | 53 - src/tmx/Asn_J2735/src/r2024/Int1Signed.c | 76 + src/tmx/Asn_J2735/src/r2024/Int1Signed.h | 45 - src/tmx/Asn_J2735/src/r2024/Int1Unsigned.c | 76 + src/tmx/Asn_J2735/src/r2024/Int1Unsigned.h | 46 - src/tmx/Asn_J2735/src/r2024/Int2Signed.c | 76 + src/tmx/Asn_J2735/src/r2024/Int2Signed.h | 46 - src/tmx/Asn_J2735/src/r2024/Int2Unsigned.c | 76 + src/tmx/Asn_J2735/src/r2024/Int2Unsigned.h | 46 - src/tmx/Asn_J2735/src/r2024/Int3Unsigned.c | 76 + src/tmx/Asn_J2735/src/r2024/Int3Unsigned.h | 46 - src/tmx/Asn_J2735/src/r2024/Int4Signed.c | 76 + src/tmx/Asn_J2735/src/r2024/Int4Signed.h | 46 - src/tmx/Asn_J2735/src/r2024/Int4Unsigned.c | 72 + src/tmx/Asn_J2735/src/r2024/Int4Unsigned.h | 47 - src/tmx/Asn_J2735/src/r2024/Int8Signed.c | 82 + src/tmx/Asn_J2735/src/r2024/Int8Signed.h | 45 - src/tmx/Asn_J2735/src/r2024/Int8Unsigned.c | 82 + src/tmx/Asn_J2735/src/r2024/Int8Unsigned.h | 45 - .../src/r2024/IntersectionAccessPoint.c | 111 + .../src/r2024/IntersectionAccessPoint.h | 62 - .../src/r2024/IntersectionCollision.c | 333 + .../src/r2024/IntersectionCollision.h | 77 - .../src/r2024/IntersectionGeometry.c | 333 + .../src/r2024/IntersectionGeometry.h | 77 - .../src/r2024/IntersectionGeometryList.c | 72 + .../src/r2024/IntersectionGeometryList.h | 47 - src/tmx/Asn_J2735/src/r2024/IntersectionID.c | 76 + src/tmx/Asn_J2735/src/r2024/IntersectionID.h | 46 - .../src/r2024/IntersectionReferenceID.c | 86 + .../src/r2024/IntersectionReferenceID.h | 42 - .../src/r2024/IntersectionState-addGrpC.c | 68 + .../src/r2024/IntersectionState-addGrpC.h | 49 - .../Asn_J2735/src/r2024/IntersectionState.c | 351 + .../Asn_J2735/src/r2024/IntersectionState.h | 79 - .../src/r2024/IntersectionStateList.c | 72 + .../src/r2024/IntersectionStateList.h | 47 - .../src/r2024/IntersectionStatusObject.c | 82 + .../src/r2024/IntersectionStatusObject.h | 64 - src/tmx/Asn_J2735/src/r2024/IsDolly.c | 39 + src/tmx/Asn_J2735/src/r2024/IsDolly.h | 45 - .../Asn_J2735/src/r2024/Iso3833VehicleType.c | 76 + .../Asn_J2735/src/r2024/Iso3833VehicleType.h | 46 - .../Asn_J2735/src/r2024/IssuerIdentifier.c | 76 + .../Asn_J2735/src/r2024/IssuerIdentifier.h | 46 - .../Asn_J2735/src/r2024/ItemizedChargerData.c | 177 + .../Asn_J2735/src/r2024/ItemizedChargerData.h | 57 - .../src/r2024/ItemizedPaymentReport.c | 223 + .../src/r2024/ItemizedPaymentReport.h | 62 - src/tmx/Asn_J2735/src/r2024/J1939data.c | 230 + src/tmx/Asn_J2735/src/r2024/J1939data.h | 68 - .../src/r2024/J2540ITIS_GenericLocations.c | 76 + .../src/r2024/J2540ITIS_GenericLocations.h | 146 - .../Asn_J2735/src/r2024/J2540ITIS_ITIScodes.c | 76 + .../Asn_J2735/src/r2024/J2540ITIS_ITIScodes.h | 2506 ---- .../src/r2024/J2540ITIS_ITIScodesAndText.c | 215 + .../src/r2024/J2540ITIS_ITIScodesAndText.h | 66 - .../Asn_J2735/src/r2024/J2540ITIS_ITIStext.c | 91 + .../Asn_J2735/src/r2024/J2540ITIS_ITIStext.h | 46 - .../J2540ITIS_IncidentResponseEquipment.c | 76 + .../J2540ITIS_IncidentResponseEquipment.h | 123 - .../r2024/J2540ITIS_ResponderGroupAffected.c | 76 + .../r2024/J2540ITIS_ResponderGroupAffected.h | 65 - .../r2024/J2540ITIS_VehicleGroupAffected.c | 76 + .../r2024/J2540ITIS_VehicleGroupAffected.h | 95 - .../src/r2024/LaneAttributes-Barrier.c | 82 + .../src/r2024/LaneAttributes-Barrier.h | 60 - .../Asn_J2735/src/r2024/LaneAttributes-Bike.c | 82 + .../Asn_J2735/src/r2024/LaneAttributes-Bike.h | 57 - .../src/r2024/LaneAttributes-Crosswalk.c | 82 + .../src/r2024/LaneAttributes-Crosswalk.h | 59 - .../src/r2024/LaneAttributes-Parking.c | 82 + .../src/r2024/LaneAttributes-Parking.h | 57 - .../src/r2024/LaneAttributes-Sidewalk.c | 82 + .../src/r2024/LaneAttributes-Sidewalk.h | 54 - .../src/r2024/LaneAttributes-Striping.c | 82 + .../src/r2024/LaneAttributes-Striping.h | 56 - .../src/r2024/LaneAttributes-TrackedVehicle.c | 82 + .../src/r2024/LaneAttributes-TrackedVehicle.h | 55 - .../src/r2024/LaneAttributes-Vehicle.c | 82 + .../src/r2024/LaneAttributes-Vehicle.h | 58 - src/tmx/Asn_J2735/src/r2024/LaneAttributes.c | 122 + src/tmx/Asn_J2735/src/r2024/LaneAttributes.h | 51 - .../Asn_J2735/src/r2024/LaneChargesTable.c | 84 + .../Asn_J2735/src/r2024/LaneChargesTable.h | 46 - src/tmx/Asn_J2735/src/r2024/LaneClosed.c | 39 + src/tmx/Asn_J2735/src/r2024/LaneClosed.h | 45 - .../src/r2024/LaneClosureContainer.c | 207 + .../src/r2024/LaneClosureContainer.h | 60 - .../Asn_J2735/src/r2024/LaneConnectionID.c | 76 + .../Asn_J2735/src/r2024/LaneConnectionID.h | 46 - .../src/r2024/LaneDataAttribute-addGrpB.c | 43 + .../src/r2024/LaneDataAttribute-addGrpB.h | 41 - .../Asn_J2735/src/r2024/LaneDataAttribute.c | 286 + .../Asn_J2735/src/r2024/LaneDataAttribute.h | 84 - .../src/r2024/LaneDataAttributeList.c | 72 + .../src/r2024/LaneDataAttributeList.h | 47 - src/tmx/Asn_J2735/src/r2024/LaneDirection.c | 82 + src/tmx/Asn_J2735/src/r2024/LaneDirection.h | 52 - src/tmx/Asn_J2735/src/r2024/LaneID.c | 76 + src/tmx/Asn_J2735/src/r2024/LaneID.h | 46 - src/tmx/Asn_J2735/src/r2024/LaneInfo.c | 104 + src/tmx/Asn_J2735/src/r2024/LaneInfo.h | 48 - src/tmx/Asn_J2735/src/r2024/LaneList.c | 72 + src/tmx/Asn_J2735/src/r2024/LaneList.h | 47 - src/tmx/Asn_J2735/src/r2024/LaneOffset.c | 80 + src/tmx/Asn_J2735/src/r2024/LaneOffset.h | 61 - src/tmx/Asn_J2735/src/r2024/LaneRoadway.c | 76 + src/tmx/Asn_J2735/src/r2024/LaneRoadway.h | 111 - src/tmx/Asn_J2735/src/r2024/LaneSharing.c | 82 + src/tmx/Asn_J2735/src/r2024/LaneSharing.h | 60 - .../Asn_J2735/src/r2024/LaneTypeAttributes.c | 201 + .../Asn_J2735/src/r2024/LaneTypeAttributes.h | 77 - src/tmx/Asn_J2735/src/r2024/LaneWidth.c | 76 + src/tmx/Asn_J2735/src/r2024/LaneWidth.h | 46 - src/tmx/Asn_J2735/src/r2024/LargeNumbers.c | 76 + src/tmx/Asn_J2735/src/r2024/LargeNumbers.h | 139 - .../Asn_J2735/src/r2024/LastTollPointInfo.c | 84 + .../Asn_J2735/src/r2024/LastTollPointInfo.h | 46 - .../Asn_J2735/src/r2024/LastTollPointInfos.c | 72 + .../Asn_J2735/src/r2024/LastTollPointInfos.h | 47 - src/tmx/Asn_J2735/src/r2024/LatOffset.c | 76 + src/tmx/Asn_J2735/src/r2024/LatOffset.h | 46 - src/tmx/Asn_J2735/src/r2024/LatitudeDMS.c | 76 + src/tmx/Asn_J2735/src/r2024/LatitudeDMS.h | 46 - src/tmx/Asn_J2735/src/r2024/LatitudeDMS2.c | 102 + src/tmx/Asn_J2735/src/r2024/LatitudeDMS2.h | 44 - src/tmx/Asn_J2735/src/r2024/LayerID.c | 76 + src/tmx/Asn_J2735/src/r2024/LayerID.h | 46 - src/tmx/Asn_J2735/src/r2024/LayerType.c | 82 + src/tmx/Asn_J2735/src/r2024/LayerType.h | 62 - .../src/r2024/LightVehicleCCMExtensions.c | 158 + .../src/r2024/LightVehicleCCMExtensions.h | 59 - src/tmx/Asn_J2735/src/r2024/LightbarInUse.c | 80 + src/tmx/Asn_J2735/src/r2024/LightbarInUse.h | 59 - src/tmx/Asn_J2735/src/r2024/LocAndTimeStamp.c | 140 + src/tmx/Asn_J2735/src/r2024/LocAndTimeStamp.h | 52 - .../Asn_J2735/src/r2024/LocAndTimeStamps.c | 72 + .../Asn_J2735/src/r2024/LocAndTimeStamps.h | 47 - .../Asn_J2735/src/r2024/LocalVehicleClassId.c | 76 + .../Asn_J2735/src/r2024/LocalVehicleClassId.h | 46 - .../Asn_J2735/src/r2024/Location-quality.c | 80 + .../Asn_J2735/src/r2024/Location-quality.h | 57 - src/tmx/Asn_J2735/src/r2024/Location-tech.c | 86 + src/tmx/Asn_J2735/src/r2024/Location-tech.h | 62 - src/tmx/Asn_J2735/src/r2024/LocationClassId.c | 67 + src/tmx/Asn_J2735/src/r2024/LocationClassId.h | 46 - src/tmx/Asn_J2735/src/r2024/LongOffset.c | 76 + src/tmx/Asn_J2735/src/r2024/LongOffset.h | 46 - src/tmx/Asn_J2735/src/r2024/LongitudeDMS.c | 76 + src/tmx/Asn_J2735/src/r2024/LongitudeDMS.h | 46 - src/tmx/Asn_J2735/src/r2024/LongitudeDMS2.c | 102 + src/tmx/Asn_J2735/src/r2024/LongitudeDMS2.h | 44 - .../src/r2024/LongitudinalControlState.c | 84 + .../src/r2024/LongitudinalControlState.h | 63 - src/tmx/Asn_J2735/src/r2024/Lpn.c | 225 + src/tmx/Asn_J2735/src/r2024/Lpn.h | 82 - src/tmx/Asn_J2735/src/r2024/MSCMType.c | 82 + src/tmx/Asn_J2735/src/r2024/MSCMType.h | 62 - src/tmx/Asn_J2735/src/r2024/MUTCDCode.c | 80 + src/tmx/Asn_J2735/src/r2024/MUTCDCode.h | 61 - src/tmx/Asn_J2735/src/r2024/MUTCDLocations.c | 76 + src/tmx/Asn_J2735/src/r2024/MUTCDLocations.h | 118 - src/tmx/Asn_J2735/src/r2024/Maneuver.c | 66 + src/tmx/Asn_J2735/src/r2024/Maneuver.h | 44 - .../Asn_J2735/src/r2024/ManeuverAssistList.c | 72 + .../Asn_J2735/src/r2024/ManeuverAssistList.h | 47 - .../src/r2024/ManeuverExecutionStatus.c | 74 + .../src/r2024/ManeuverExecutionStatus.h | 58 - .../ManeuverSharingAndCoordinatingMessage.c | 248 + .../ManeuverSharingAndCoordinatingMessage.h | 72 - ...SharingAndCoordinatingMessage_ManeuverID.c | 76 + ...SharingAndCoordinatingMessage_ManeuverID.h | 46 - ...ingAndCoordinatingMessage_ObjectDistance.c | 76 + ...ingAndCoordinatingMessage_ObjectDistance.h | 46 - ...AndCoordinatingMessage_PositionOffsetXYZ.c | 104 + ...AndCoordinatingMessage_PositionOffsetXYZ.h | 42 - src/tmx/Asn_J2735/src/r2024/MapData-addGrpC.c | 68 + src/tmx/Asn_J2735/src/r2024/MapData-addGrpC.h | 49 - src/tmx/Asn_J2735/src/r2024/MapData.c | 315 + src/tmx/Asn_J2735/src/r2024/MapData.h | 76 - .../src/r2024/MaxAvailableAcceleration.c | 76 + .../src/r2024/MaxAvailableAcceleration.h | 46 - .../src/r2024/MaxAvailableDeceleration.c | 76 + .../src/r2024/MaxAvailableDeceleration.h | 46 - src/tmx/Asn_J2735/src/r2024/MaxTimetoChange.c | 76 + src/tmx/Asn_J2735/src/r2024/MaxTimetoChange.h | 46 - .../src/r2024/MeasurementTimeOffset.c | 76 + .../src/r2024/MeasurementTimeOffset.h | 46 - .../src/r2024/MergeDivergeNodeAngle.c | 76 + .../src/r2024/MergeDivergeNodeAngle.h | 46 - src/tmx/Asn_J2735/src/r2024/MessageBLOB.c | 77 + src/tmx/Asn_J2735/src/r2024/MessageBLOB.h | 45 - src/tmx/Asn_J2735/src/r2024/MessageFrame.c | 1254 ++ src/tmx/Asn_J2735/src/r2024/MessageFrame.h | 206 - src/tmx/Asn_J2735/src/r2024/MinTimetoChange.c | 76 + src/tmx/Asn_J2735/src/r2024/MinTimetoChange.h | 46 - src/tmx/Asn_J2735/src/r2024/Minute.c | 76 + src/tmx/Asn_J2735/src/r2024/Minute.h | 46 - src/tmx/Asn_J2735/src/r2024/MinuteOfTheYear.c | 76 + src/tmx/Asn_J2735/src/r2024/MinuteOfTheYear.h | 46 - src/tmx/Asn_J2735/src/r2024/MinutesAngle.c | 76 + src/tmx/Asn_J2735/src/r2024/MinutesAngle.h | 46 - src/tmx/Asn_J2735/src/r2024/MinutesDuration.c | 76 + src/tmx/Asn_J2735/src/r2024/MinutesDuration.h | 46 - src/tmx/Asn_J2735/src/r2024/MobileSituation.c | 76 + src/tmx/Asn_J2735/src/r2024/MobileSituation.h | 72 - src/tmx/Asn_J2735/src/r2024/Month.c | 76 + src/tmx/Asn_J2735/src/r2024/Month.h | 46 - .../src/r2024/MotorizedPropelledType.c | 78 + .../src/r2024/MotorizedPropelledType.h | 60 - .../src/r2024/MovementEvent-addGrpB.c | 158 + .../src/r2024/MovementEvent-addGrpB.h | 52 - src/tmx/Asn_J2735/src/r2024/MovementEvent.c | 225 + src/tmx/Asn_J2735/src/r2024/MovementEvent.h | 64 - .../Asn_J2735/src/r2024/MovementEventList.c | 72 + .../Asn_J2735/src/r2024/MovementEventList.h | 47 - src/tmx/Asn_J2735/src/r2024/MovementList.c | 72 + src/tmx/Asn_J2735/src/r2024/MovementList.h | 47 - .../Asn_J2735/src/r2024/MovementPhaseState.c | 84 + .../Asn_J2735/src/r2024/MovementPhaseState.h | 61 - src/tmx/Asn_J2735/src/r2024/MovementState.c | 243 + src/tmx/Asn_J2735/src/r2024/MovementState.h | 65 - src/tmx/Asn_J2735/src/r2024/MsgCRC.c | 77 + src/tmx/Asn_J2735/src/r2024/MsgCRC.h | 46 - .../src/r2024/MultiVehicleResponse.c | 72 + .../src/r2024/MultiVehicleResponse.h | 55 - src/tmx/Asn_J2735/src/r2024/NMEA-MsgType.c | 76 + src/tmx/Asn_J2735/src/r2024/NMEA-MsgType.h | 46 - src/tmx/Asn_J2735/src/r2024/NMEA-Payload.c | 77 + src/tmx/Asn_J2735/src/r2024/NMEA-Payload.h | 46 - src/tmx/Asn_J2735/src/r2024/NMEA-Revision.c | 80 + src/tmx/Asn_J2735/src/r2024/NMEA-Revision.h | 61 - src/tmx/Asn_J2735/src/r2024/NMEAcorrections.c | 261 + src/tmx/Asn_J2735/src/r2024/NMEAcorrections.h | 66 - .../src/r2024/NTCIPEssAirTemperature.c | 76 + .../src/r2024/NTCIPEssAirTemperature.h | 46 - .../src/r2024/NTCIPEssCloudSituationV4.c | 76 + .../src/r2024/NTCIPEssCloudSituationV4.h | 46 - .../src/r2024/NTCIPEssDewpointTemp.c | 76 + .../src/r2024/NTCIPEssDewpointTemp.h | 46 - .../src/r2024/NTCIPEssPaveTreatProductForm.c | 74 + .../src/r2024/NTCIPEssPaveTreatProductForm.h | 58 - .../src/r2024/NTCIPEssPaveTreatProductType.c | 94 + .../src/r2024/NTCIPEssPaveTreatProductType.h | 68 - .../src/r2024/NTCIPEssPaveTreatmentAmount.c | 76 + .../src/r2024/NTCIPEssPaveTreatmentAmount.h | 46 - .../src/r2024/NTCIPEssPaveTreatmentWidth.c | 76 + .../src/r2024/NTCIPEssPaveTreatmentWidth.h | 46 - .../r2024/NTCIPEssPavementTreatmentLatitude.c | 76 + .../r2024/NTCIPEssPavementTreatmentLatitude.h | 46 - .../r2024/NTCIPEssPavementTreatmentLocation.c | 91 + .../r2024/NTCIPEssPavementTreatmentLocation.h | 46 - .../NTCIPEssPavementTreatmentLongitude.c | 76 + .../NTCIPEssPavementTreatmentLongitude.h | 46 - .../src/r2024/NTCIPEssPercentProductMix.c | 76 + .../src/r2024/NTCIPEssPercentProductMix.h | 46 - ...TCIPEssPressureSensorAtmosphericPressure.c | 76 + ...TCIPEssPressureSensorAtmosphericPressure.h | 46 - .../r2024/NTCIPEssSurfaceIceOrWaterDepth.c | 76 + .../r2024/NTCIPEssSurfaceIceOrWaterDepth.h | 46 - .../src/r2024/NTCIPEssSurfaceTemperature.c | 76 + .../src/r2024/NTCIPEssSurfaceTemperature.h | 46 - .../r2024/NTCIPEssTemperatureSensorHeight.c | 76 + .../r2024/NTCIPEssTemperatureSensorHeight.h | 46 - .../src/r2024/NTCIPEssTotalRadiationPeriod.c | 76 + .../src/r2024/NTCIPEssTotalRadiationPeriod.h | 46 - .../src/r2024/NTCIPEssTotalRadiationV4.c | 76 + .../src/r2024/NTCIPEssTotalRadiationV4.h | 46 - .../Asn_J2735/src/r2024/NTCIPEssVisibility.c | 76 + .../Asn_J2735/src/r2024/NTCIPEssVisibility.h | 46 - .../src/r2024/NTCIPEssVisibilitySituation.c | 90 + .../src/r2024/NTCIPEssVisibilitySituation.h | 66 - .../NTCIPHumiditySensorRelativeHumidity.c | 76 + .../NTCIPHumiditySensorRelativeHumidity.h | 46 - .../NTCIPPavementSensorSurfaceCondition.c | 92 + .../NTCIPPavementSensorSurfaceCondition.h | 67 - .../NTCIPPrecipitationSensorPrecipSituation.c | 96 + .../NTCIPPrecipitationSensorPrecipSituation.h | 69 - .../src/r2024/NTCIPWindSensorAvgDirection.c | 76 + .../src/r2024/NTCIPWindSensorAvgDirection.h | 46 - .../src/r2024/NTCIPWindSensorAvgSpeed.c | 76 + .../src/r2024/NTCIPWindSensorAvgSpeed.h | 46 - .../src/r2024/NTCIPWindSensorGustDirection.c | 76 + .../src/r2024/NTCIPWindSensorGustDirection.h | 46 - .../src/r2024/NTCIPWindSensorGustSpeed.c | 76 + .../src/r2024/NTCIPWindSensorGustSpeed.h | 46 - .../src/r2024/NTCIPWindSensorSpotDirection.c | 76 + .../src/r2024/NTCIPWindSensorSpotDirection.h | 46 - .../src/r2024/NTCIPWindSensorSpotSpeed.c | 76 + .../src/r2024/NTCIPWindSensorSpotSpeed.h | 46 - src/tmx/Asn_J2735/src/r2024/NULL.c | 113 + src/tmx/Asn_J2735/src/r2024/NULL.h | 69 - src/tmx/Asn_J2735/src/r2024/NULL_aper.c | 52 + src/tmx/Asn_J2735/src/r2024/NULL_ber.c | 63 + src/tmx/Asn_J2735/src/r2024/NULL_oer.c | 48 + src/tmx/Asn_J2735/src/r2024/NULL_print.c | 20 + src/tmx/Asn_J2735/src/r2024/NULL_rfill.c | 31 + src/tmx/Asn_J2735/src/r2024/NULL_uper.c | 52 + src/tmx/Asn_J2735/src/r2024/NULL_xer.c | 52 + src/tmx/Asn_J2735/src/r2024/NamedObjects.c | 76 + src/tmx/Asn_J2735/src/r2024/NamedObjects.h | 74 - .../Asn_J2735/src/r2024/NativeEnumerated.c | 108 + .../Asn_J2735/src/r2024/NativeEnumerated.h | 76 - .../src/r2024/NativeEnumerated_aper.c | 157 + .../src/r2024/NativeEnumerated_oer.c | 144 + .../src/r2024/NativeEnumerated_uper.c | 135 + .../src/r2024/NativeEnumerated_xer.c | 36 + src/tmx/Asn_J2735/src/r2024/NativeInteger.c | 152 + src/tmx/Asn_J2735/src/r2024/NativeInteger.h | 71 - .../Asn_J2735/src/r2024/NativeInteger_aper.c | 69 + .../Asn_J2735/src/r2024/NativeInteger_ber.c | 130 + .../Asn_J2735/src/r2024/NativeInteger_oer.c | 94 + .../Asn_J2735/src/r2024/NativeInteger_print.c | 43 + .../Asn_J2735/src/r2024/NativeInteger_rfill.c | 83 + .../Asn_J2735/src/r2024/NativeInteger_uper.c | 70 + .../Asn_J2735/src/r2024/NativeInteger_xer.c | 78 + src/tmx/Asn_J2735/src/r2024/Node-LL-24B.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-LL-24B.h | 41 - src/tmx/Asn_J2735/src/r2024/Node-LL-28B.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-LL-28B.h | 41 - src/tmx/Asn_J2735/src/r2024/Node-LL-32B.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-LL-32B.h | 41 - src/tmx/Asn_J2735/src/r2024/Node-LL-36B.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-LL-36B.h | 41 - src/tmx/Asn_J2735/src/r2024/Node-LL-44B.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-LL-44B.h | 41 - src/tmx/Asn_J2735/src/r2024/Node-LL-48B.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-LL-48B.h | 41 - src/tmx/Asn_J2735/src/r2024/Node-LLdms-48b.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-LLdms-48b.h | 42 - src/tmx/Asn_J2735/src/r2024/Node-LLdms-80b.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-LLdms-80b.h | 42 - src/tmx/Asn_J2735/src/r2024/Node-LLmD-64b.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-LLmD-64b.h | 42 - src/tmx/Asn_J2735/src/r2024/Node-XY-20b.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-XY-20b.h | 41 - src/tmx/Asn_J2735/src/r2024/Node-XY-22b.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-XY-22b.h | 41 - src/tmx/Asn_J2735/src/r2024/Node-XY-24b.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-XY-24b.h | 41 - src/tmx/Asn_J2735/src/r2024/Node-XY-26b.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-XY-26b.h | 41 - src/tmx/Asn_J2735/src/r2024/Node-XY-28b.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-XY-28b.h | 41 - src/tmx/Asn_J2735/src/r2024/Node-XY-32b.c | 84 + src/tmx/Asn_J2735/src/r2024/Node-XY-32b.h | 41 - src/tmx/Asn_J2735/src/r2024/NodeAttributeLL.c | 90 + src/tmx/Asn_J2735/src/r2024/NodeAttributeLL.h | 66 - .../Asn_J2735/src/r2024/NodeAttributeLLList.c | 72 + .../Asn_J2735/src/r2024/NodeAttributeLLList.h | 42 - .../Asn_J2735/src/r2024/NodeAttributeSetLL.c | 279 + .../Asn_J2735/src/r2024/NodeAttributeSetLL.h | 69 - .../Asn_J2735/src/r2024/NodeAttributeSetXY.c | 279 + .../Asn_J2735/src/r2024/NodeAttributeSetXY.h | 69 - src/tmx/Asn_J2735/src/r2024/NodeAttributeXY.c | 90 + src/tmx/Asn_J2735/src/r2024/NodeAttributeXY.h | 66 - .../Asn_J2735/src/r2024/NodeAttributeXYList.c | 72 + .../Asn_J2735/src/r2024/NodeAttributeXYList.h | 42 - src/tmx/Asn_J2735/src/r2024/NodeLL.c | 86 + src/tmx/Asn_J2735/src/r2024/NodeLL.h | 51 - src/tmx/Asn_J2735/src/r2024/NodeListLL.c | 75 + src/tmx/Asn_J2735/src/r2024/NodeListLL.h | 56 - src/tmx/Asn_J2735/src/r2024/NodeListXY.c | 93 + src/tmx/Asn_J2735/src/r2024/NodeListXY.h | 59 - .../Asn_J2735/src/r2024/NodeOffsetPointLL.c | 201 + .../Asn_J2735/src/r2024/NodeOffsetPointLL.h | 71 - .../src/r2024/NodeOffsetPointXY-addGrpB.c | 93 + .../src/r2024/NodeOffsetPointXY-addGrpB.h | 59 - .../Asn_J2735/src/r2024/NodeOffsetPointXY.c | 201 + .../Asn_J2735/src/r2024/NodeOffsetPointXY.h | 71 - src/tmx/Asn_J2735/src/r2024/NodePointLLE.c | 93 + src/tmx/Asn_J2735/src/r2024/NodePointLLE.h | 59 - src/tmx/Asn_J2735/src/r2024/NodeSetLL.c | 72 + src/tmx/Asn_J2735/src/r2024/NodeSetLL.h | 47 - src/tmx/Asn_J2735/src/r2024/NodeSetXY.c | 72 + src/tmx/Asn_J2735/src/r2024/NodeSetXY.h | 47 - src/tmx/Asn_J2735/src/r2024/NodeXY.c | 86 + src/tmx/Asn_J2735/src/r2024/NodeXY.h | 51 - .../Asn_J2735/src/r2024/NtcipAirTemperature.c | 104 + .../Asn_J2735/src/r2024/NtcipAirTemperature.h | 48 - .../src/r2024/NtcipAtmosphericPressure.c | 86 + .../src/r2024/NtcipAtmosphericPressure.h | 46 - .../Asn_J2735/src/r2024/NtcipCloudSituation.c | 66 + .../Asn_J2735/src/r2024/NtcipCloudSituation.h | 44 - src/tmx/Asn_J2735/src/r2024/NtcipDewPoint.c | 104 + src/tmx/Asn_J2735/src/r2024/NtcipDewPoint.h | 48 - src/tmx/Asn_J2735/src/r2024/NtcipEssData.c | 248 + src/tmx/Asn_J2735/src/r2024/NtcipEssData.h | 79 - src/tmx/Asn_J2735/src/r2024/NtcipPavement.c | 140 + src/tmx/Asn_J2735/src/r2024/NtcipPavement.h | 57 - .../src/r2024/NtcipPavementTreatment.c | 194 + .../src/r2024/NtcipPavementTreatment.h | 58 - .../Asn_J2735/src/r2024/NtcipPrecipitation.c | 66 + .../Asn_J2735/src/r2024/NtcipPrecipitation.h | 44 - .../src/r2024/NtcipRelativeHumidity.c | 86 + .../src/r2024/NtcipRelativeHumidity.h | 46 - .../Asn_J2735/src/r2024/NtcipSolarRadiation.c | 84 + .../Asn_J2735/src/r2024/NtcipSolarRadiation.h | 46 - src/tmx/Asn_J2735/src/r2024/NtcipVisibility.c | 66 + src/tmx/Asn_J2735/src/r2024/NtcipVisibility.h | 44 - .../src/r2024/NtcipVisibilitySituation.c | 66 + .../src/r2024/NtcipVisibilitySituation.h | 44 - src/tmx/Asn_J2735/src/r2024/NtcipWind.c | 158 + src/tmx/Asn_J2735/src/r2024/NtcipWind.h | 54 - src/tmx/Asn_J2735/src/r2024/NumberOfAxles.c | 158 + src/tmx/Asn_J2735/src/r2024/NumberOfAxles.h | 41 - .../src/r2024/NumberOfParticipantsInCluster.c | 74 + .../src/r2024/NumberOfParticipantsInCluster.h | 58 - .../Asn_J2735/src/r2024/OBJECT_IDENTIFIER.c | 532 + .../Asn_J2735/src/r2024/OBJECT_IDENTIFIER.h | 184 - .../src/r2024/OBJECT_IDENTIFIER_print.c | 30 + .../src/r2024/OBJECT_IDENTIFIER_rfill.c | 73 + .../src/r2024/OBJECT_IDENTIFIER_xer.c | 80 + src/tmx/Asn_J2735/src/r2024/OCTET_STRING.c | 383 + src/tmx/Asn_J2735/src/r2024/OCTET_STRING.h | 165 - .../Asn_J2735/src/r2024/OCTET_STRING_aper.c | 414 + .../Asn_J2735/src/r2024/OCTET_STRING_ber.c | 525 + .../Asn_J2735/src/r2024/OCTET_STRING_oer.c | 166 + .../Asn_J2735/src/r2024/OCTET_STRING_print.c | 65 + .../Asn_J2735/src/r2024/OCTET_STRING_rfill.c | 209 + .../Asn_J2735/src/r2024/OCTET_STRING_uper.c | 319 + .../Asn_J2735/src/r2024/OCTET_STRING_xer.c | 627 + src/tmx/Asn_J2735/src/r2024/OPEN_TYPE.c | 63 + src/tmx/Asn_J2735/src/r2024/OPEN_TYPE.h | 117 - src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_aper.c | 173 + src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_ber.c | 90 + src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_oer.c | 91 + src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_uper.c | 119 + src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_xer.c | 166 + src/tmx/Asn_J2735/src/r2024/ObeId.c | 84 + src/tmx/Asn_J2735/src/r2024/ObeId.h | 42 - src/tmx/Asn_J2735/src/r2024/ObjectCount.c | 76 + src/tmx/Asn_J2735/src/r2024/ObjectCount.h | 46 - .../Asn_J2735/src/r2024/ObjectDescriptor.c | 91 + .../Asn_J2735/src/r2024/ObjectDescriptor.h | 54 - src/tmx/Asn_J2735/src/r2024/ObjectID.c | 76 + src/tmx/Asn_J2735/src/r2024/ObjectID.h | 46 - src/tmx/Asn_J2735/src/r2024/ObjectType.c | 74 + src/tmx/Asn_J2735/src/r2024/ObjectType.h | 58 - src/tmx/Asn_J2735/src/r2024/Objects.c | 76 + src/tmx/Asn_J2735/src/r2024/Objects.h | 103 - .../Asn_J2735/src/r2024/ObstacleDetection.c | 195 + .../Asn_J2735/src/r2024/ObstacleDetection.h | 54 - .../Asn_J2735/src/r2024/ObstacleDirection.c | 76 + .../Asn_J2735/src/r2024/ObstacleDirection.h | 46 - .../Asn_J2735/src/r2024/ObstacleDistance.c | 76 + .../Asn_J2735/src/r2024/ObstacleDistance.h | 46 - src/tmx/Asn_J2735/src/r2024/ObstacleSize.c | 104 + src/tmx/Asn_J2735/src/r2024/ObstacleSize.h | 42 - .../src/r2024/ObstacleSizeConfidence.c | 104 + .../src/r2024/ObstacleSizeConfidence.h | 42 - src/tmx/Asn_J2735/src/r2024/Obstruction.c | 76 + src/tmx/Asn_J2735/src/r2024/Obstruction.h | 90 - src/tmx/Asn_J2735/src/r2024/Obstructions.c | 86 + src/tmx/Asn_J2735/src/r2024/Obstructions.h | 46 - src/tmx/Asn_J2735/src/r2024/Offset-B09.c | 76 + src/tmx/Asn_J2735/src/r2024/Offset-B09.h | 46 - src/tmx/Asn_J2735/src/r2024/Offset-B10.c | 76 + src/tmx/Asn_J2735/src/r2024/Offset-B10.h | 46 - src/tmx/Asn_J2735/src/r2024/Offset-B11.c | 76 + src/tmx/Asn_J2735/src/r2024/Offset-B11.h | 46 - src/tmx/Asn_J2735/src/r2024/Offset-B12.c | 76 + src/tmx/Asn_J2735/src/r2024/Offset-B12.h | 46 - src/tmx/Asn_J2735/src/r2024/Offset-B13.c | 76 + src/tmx/Asn_J2735/src/r2024/Offset-B13.h | 46 - src/tmx/Asn_J2735/src/r2024/Offset-B14.c | 76 + src/tmx/Asn_J2735/src/r2024/Offset-B14.h | 46 - src/tmx/Asn_J2735/src/r2024/Offset-B16.c | 76 + src/tmx/Asn_J2735/src/r2024/Offset-B16.h | 46 - src/tmx/Asn_J2735/src/r2024/Offset3D.c | 104 + src/tmx/Asn_J2735/src/r2024/Offset3D.h | 48 - src/tmx/Asn_J2735/src/r2024/OffsetLL-B12.c | 76 + src/tmx/Asn_J2735/src/r2024/OffsetLL-B12.h | 46 - src/tmx/Asn_J2735/src/r2024/OffsetLL-B14.c | 76 + src/tmx/Asn_J2735/src/r2024/OffsetLL-B14.h | 46 - src/tmx/Asn_J2735/src/r2024/OffsetLL-B16.c | 76 + src/tmx/Asn_J2735/src/r2024/OffsetLL-B16.h | 46 - src/tmx/Asn_J2735/src/r2024/OffsetLL-B18.c | 76 + src/tmx/Asn_J2735/src/r2024/OffsetLL-B18.h | 46 - src/tmx/Asn_J2735/src/r2024/OffsetLL-B22.c | 76 + src/tmx/Asn_J2735/src/r2024/OffsetLL-B22.h | 46 - src/tmx/Asn_J2735/src/r2024/OffsetLL-B24.c | 76 + src/tmx/Asn_J2735/src/r2024/OffsetLL-B24.h | 46 - src/tmx/Asn_J2735/src/r2024/OffsetSystem.c | 171 + src/tmx/Asn_J2735/src/r2024/OffsetSystem.h | 60 - src/tmx/Asn_J2735/src/r2024/OperatorDefined.c | 338 + src/tmx/Asn_J2735/src/r2024/OperatorDefined.h | 64 - src/tmx/Asn_J2735/src/r2024/OverlayLaneList.c | 72 + src/tmx/Asn_J2735/src/r2024/OverlayLaneList.h | 42 - src/tmx/Asn_J2735/src/r2024/Parked.c | 72 + src/tmx/Asn_J2735/src/r2024/Parked.h | 57 - .../Asn_J2735/src/r2024/ParkingInformation.c | 76 + .../Asn_J2735/src/r2024/ParkingInformation.h | 84 - src/tmx/Asn_J2735/src/r2024/PartIIcontent.c | 284 + src/tmx/Asn_J2735/src/r2024/PartIIcontent.h | 66 - src/tmx/Asn_J2735/src/r2024/Particulate.c | 121 + src/tmx/Asn_J2735/src/r2024/Particulate.h | 42 - .../Asn_J2735/src/r2024/PassengerCapacity.c | 84 + .../Asn_J2735/src/r2024/PassengerCapacity.h | 41 - src/tmx/Asn_J2735/src/r2024/Path.c | 121 + src/tmx/Asn_J2735/src/r2024/Path.h | 46 - src/tmx/Asn_J2735/src/r2024/PathHistory.c | 104 + src/tmx/Asn_J2735/src/r2024/PathHistory.h | 53 - .../Asn_J2735/src/r2024/PathHistoryPoint.c | 176 + .../Asn_J2735/src/r2024/PathHistoryPoint.h | 60 - .../src/r2024/PathHistoryPointList.c | 72 + .../src/r2024/PathHistoryPointList.h | 47 - src/tmx/Asn_J2735/src/r2024/PathList.c | 72 + src/tmx/Asn_J2735/src/r2024/PathList.h | 47 - src/tmx/Asn_J2735/src/r2024/PathPoints.c | 72 + src/tmx/Asn_J2735/src/r2024/PathPoints.h | 47 - src/tmx/Asn_J2735/src/r2024/PathPrediction.c | 84 + src/tmx/Asn_J2735/src/r2024/PathPrediction.h | 46 - .../Asn_J2735/src/r2024/PavementConditions.c | 76 + .../Asn_J2735/src/r2024/PavementConditions.h | 105 - src/tmx/Asn_J2735/src/r2024/PayUnit.c | 77 + src/tmx/Asn_J2735/src/r2024/PayUnit.h | 46 - src/tmx/Asn_J2735/src/r2024/PayloadData.c | 77 + src/tmx/Asn_J2735/src/r2024/PayloadData.h | 45 - src/tmx/Asn_J2735/src/r2024/PaymentFee.c | 84 + src/tmx/Asn_J2735/src/r2024/PaymentFee.h | 42 - src/tmx/Asn_J2735/src/r2024/PaymentMeans.c | 140 + src/tmx/Asn_J2735/src/r2024/PaymentMeans.h | 42 - .../Asn_J2735/src/r2024/PaymentMeansBalance.c | 47 + .../Asn_J2735/src/r2024/PaymentMeansBalance.h | 45 - .../Asn_J2735/src/r2024/PaymentSecurityData.c | 39 + .../Asn_J2735/src/r2024/PaymentSecurityData.h | 45 - .../src/r2024/PedestrianBicycleDetect.c | 39 + .../src/r2024/PedestrianBicycleDetect.h | 45 - src/tmx/Asn_J2735/src/r2024/PedestrianCall.c | 39 + src/tmx/Asn_J2735/src/r2024/PedestrianCall.h | 45 - .../src/r2024/PerAxleWeightCharges.c | 257 + .../src/r2024/PerAxleWeightCharges.h | 59 - src/tmx/Asn_J2735/src/r2024/Period.c | 84 + src/tmx/Asn_J2735/src/r2024/Period.h | 41 - .../src/r2024/PermissiveNonProtected.c | 70 + .../src/r2024/PermissiveNonProtected.h | 56 - .../src/r2024/PersonalAccountNumber.c | 77 + .../src/r2024/PersonalAccountNumber.h | 46 - .../Asn_J2735/src/r2024/PersonalAssistive.c | 82 + .../Asn_J2735/src/r2024/PersonalAssistive.h | 56 - .../src/r2024/PersonalClusterRadius.c | 76 + .../src/r2024/PersonalClusterRadius.h | 46 - .../src/r2024/PersonalCrossingInProgress.c | 39 + .../src/r2024/PersonalCrossingInProgress.h | 45 - .../src/r2024/PersonalCrossingRequest.c | 39 + .../src/r2024/PersonalCrossingRequest.h | 45 - .../src/r2024/PersonalDeviceUsageState.c | 82 + .../src/r2024/PersonalDeviceUsageState.h | 59 - .../src/r2024/PersonalDeviceUserType.c | 76 + .../src/r2024/PersonalDeviceUserType.h | 59 - .../src/r2024/PersonalSafetyMessage.c | 621 + .../src/r2024/PersonalSafetyMessage.h | 110 - .../src/r2024/PersonalSafetyMessage2.c | 39 + .../src/r2024/PersonalSafetyMessage2.h | 45 - src/tmx/Asn_J2735/src/r2024/Pitch.c | 76 + src/tmx/Asn_J2735/src/r2024/Pitch.h | 46 - src/tmx/Asn_J2735/src/r2024/PitchDetected.c | 76 + src/tmx/Asn_J2735/src/r2024/PitchDetected.h | 46 - .../Asn_J2735/src/r2024/PitchRateConfidence.c | 80 + .../Asn_J2735/src/r2024/PitchRateConfidence.h | 59 - .../src/r2024/PivotPointDescription.c | 102 + .../src/r2024/PivotPointDescription.h | 48 - src/tmx/Asn_J2735/src/r2024/PivotingAllowed.c | 39 + src/tmx/Asn_J2735/src/r2024/PivotingAllowed.h | 45 - src/tmx/Asn_J2735/src/r2024/Point.c | 111 + src/tmx/Asn_J2735/src/r2024/Point.h | 53 - src/tmx/Asn_J2735/src/r2024/PortlandCement.c | 66 + src/tmx/Asn_J2735/src/r2024/PortlandCement.h | 44 - .../Asn_J2735/src/r2024/PortlandCementType.c | 72 + .../Asn_J2735/src/r2024/PortlandCementType.h | 57 - .../Asn_J2735/src/r2024/Position3D-addGrpB.c | 102 + .../Asn_J2735/src/r2024/Position3D-addGrpB.h | 48 - .../Asn_J2735/src/r2024/Position3D-addGrpC.c | 66 + .../Asn_J2735/src/r2024/Position3D-addGrpC.h | 44 - src/tmx/Asn_J2735/src/r2024/Position3D.c | 225 + src/tmx/Asn_J2735/src/r2024/Position3D.h | 62 - .../Asn_J2735/src/r2024/PositionConfidence.c | 96 + .../Asn_J2735/src/r2024/PositionConfidence.h | 67 - .../src/r2024/PositionConfidenceSet.c | 84 + .../src/r2024/PositionConfidenceSet.h | 42 - .../Asn_J2735/src/r2024/PositionalAccuracy.c | 102 + .../Asn_J2735/src/r2024/PositionalAccuracy.h | 44 - src/tmx/Asn_J2735/src/r2024/Precipitation.c | 76 + src/tmx/Asn_J2735/src/r2024/Precipitation.h | 76 - .../Asn_J2735/src/r2024/PreemptPriorityList.c | 72 + .../Asn_J2735/src/r2024/PreemptPriorityList.h | 47 - .../src/r2024/PrimaryRegionChargingInfo.c | 151 + .../src/r2024/PrimaryRegionChargingInfo.h | 67 - .../Asn_J2735/src/r2024/PrimaryRegionState.c | 138 + .../Asn_J2735/src/r2024/PrimaryRegionState.h | 51 - .../src/r2024/PrioritizationResponse.c | 102 + .../src/r2024/PrioritizationResponse.h | 48 - .../src/r2024/PrioritizationResponseList.c | 72 + .../src/r2024/PrioritizationResponseList.h | 47 - .../src/r2024/PrioritizationResponseStatus.c | 82 + .../src/r2024/PrioritizationResponseStatus.h | 62 - src/tmx/Asn_J2735/src/r2024/Priority.c | 77 + src/tmx/Asn_J2735/src/r2024/Priority.h | 46 - .../Asn_J2735/src/r2024/PriorityRequestType.c | 74 + .../Asn_J2735/src/r2024/PriorityRequestType.h | 58 - .../src/r2024/PrivilegedEventFlags.c | 82 + .../src/r2024/PrivilegedEventFlags.h | 56 - .../Asn_J2735/src/r2024/PrivilegedEvents.c | 84 + .../Asn_J2735/src/r2024/PrivilegedEvents.h | 46 - src/tmx/Asn_J2735/src/r2024/ProbeDataConfig.c | 159 + src/tmx/Asn_J2735/src/r2024/ProbeDataConfig.h | 55 - .../src/r2024/ProbeDataConfigMessage.c | 72 + .../src/r2024/ProbeDataConfigMessage.h | 47 - .../Asn_J2735/src/r2024/ProbeDataManagement.c | 467 + .../Asn_J2735/src/r2024/ProbeDataManagement.h | 104 - .../src/r2024/ProbeDataReportMessage.c | 152 + .../src/r2024/ProbeDataReportMessage.h | 60 - .../src/r2024/ProbeDataReport_MeanVariation.c | 76 + .../src/r2024/ProbeDataReport_MeanVariation.h | 46 - .../Asn_J2735/src/r2024/ProbeSegmentNumber.c | 76 + .../Asn_J2735/src/r2024/ProbeSegmentNumber.h | 46 - .../Asn_J2735/src/r2024/ProbeVehicleData.c | 382 + .../Asn_J2735/src/r2024/ProbeVehicleData.h | 75 - .../src/r2024/PropelledInformation.c | 111 + .../src/r2024/PropelledInformation.h | 62 - src/tmx/Asn_J2735/src/r2024/Provider.c | 84 + src/tmx/Asn_J2735/src/r2024/Provider.h | 42 - .../r2024/PublicSafetyAndRoadWorkerActivity.c | 82 + .../r2024/PublicSafetyAndRoadWorkerActivity.h | 56 - .../PublicSafetyDirectingTrafficSubType.c | 82 + .../PublicSafetyDirectingTrafficSubType.h | 57 - .../PublicSafetyEventResponderWorkerType.c | 82 + .../PublicSafetyEventResponderWorkerType.h | 62 - src/tmx/Asn_J2735/src/r2024/PurseBalance.c | 84 + src/tmx/Asn_J2735/src/r2024/PurseBalance.h | 42 - src/tmx/Asn_J2735/src/r2024/Qualifiers.c | 76 + src/tmx/Asn_J2735/src/r2024/Qualifiers.h | 136 - src/tmx/Asn_J2735/src/r2024/RELATIVE-OID.c | 214 + src/tmx/Asn_J2735/src/r2024/RELATIVE-OID.h | 85 - .../Asn_J2735/src/r2024/RELATIVE-OID_print.c | 28 + .../Asn_J2735/src/r2024/RELATIVE-OID_rfill.c | 67 + .../Asn_J2735/src/r2024/RELATIVE-OID_xer.c | 79 + src/tmx/Asn_J2735/src/r2024/RSMLanePosition.c | 76 + src/tmx/Asn_J2735/src/r2024/RSMLanePosition.h | 46 - src/tmx/Asn_J2735/src/r2024/RSMPolygon.c | 72 + src/tmx/Asn_J2735/src/r2024/RSMPolygon.h | 47 - src/tmx/Asn_J2735/src/r2024/RTCM-Revision.c | 74 + src/tmx/Asn_J2735/src/r2024/RTCM-Revision.h | 58 - src/tmx/Asn_J2735/src/r2024/RTCMPackage.c | 86 + src/tmx/Asn_J2735/src/r2024/RTCMPackage.h | 51 - src/tmx/Asn_J2735/src/r2024/RTCMcorrections.c | 279 + src/tmx/Asn_J2735/src/r2024/RTCMcorrections.h | 70 - src/tmx/Asn_J2735/src/r2024/RTCMheader.c | 84 + src/tmx/Asn_J2735/src/r2024/RTCMheader.h | 42 - src/tmx/Asn_J2735/src/r2024/RTCMmessage.c | 77 + src/tmx/Asn_J2735/src/r2024/RTCMmessage.h | 46 - src/tmx/Asn_J2735/src/r2024/RTCMmessageList.c | 72 + src/tmx/Asn_J2735/src/r2024/RTCMmessageList.h | 42 - src/tmx/Asn_J2735/src/r2024/Radius-B12.c | 76 + src/tmx/Asn_J2735/src/r2024/Radius-B12.h | 46 - src/tmx/Asn_J2735/src/r2024/Radius.c | 76 + src/tmx/Asn_J2735/src/r2024/Radius.h | 46 - .../Asn_J2735/src/r2024/RadiusOfCurvature.c | 76 + .../Asn_J2735/src/r2024/RadiusOfCurvature.h | 46 - src/tmx/Asn_J2735/src/r2024/RainSensor.c | 80 + src/tmx/Asn_J2735/src/r2024/RainSensor.h | 59 - src/tmx/Asn_J2735/src/r2024/ReasonCode.c | 82 + src/tmx/Asn_J2735/src/r2024/ReasonCode.h | 62 - .../src/r2024/ReceiptAuthenticator.c | 39 + .../src/r2024/ReceiptAuthenticator.h | 45 - src/tmx/Asn_J2735/src/r2024/ReceiptContract.c | 140 + src/tmx/Asn_J2735/src/r2024/ReceiptContract.h | 42 - src/tmx/Asn_J2735/src/r2024/ReceiptData.c | 395 + src/tmx/Asn_J2735/src/r2024/ReceiptData.h | 58 - src/tmx/Asn_J2735/src/r2024/ReceiptDistance.c | 76 + src/tmx/Asn_J2735/src/r2024/ReceiptDistance.h | 45 - .../src/r2024/ReceiptFinancialPart.c | 120 + .../src/r2024/ReceiptFinancialPart.h | 44 - src/tmx/Asn_J2735/src/r2024/ReceiptIccId.c | 39 + src/tmx/Asn_J2735/src/r2024/ReceiptIccId.h | 45 - src/tmx/Asn_J2735/src/r2024/ReceiptObuId.c | 39 + src/tmx/Asn_J2735/src/r2024/ReceiptObuId.h | 45 - .../Asn_J2735/src/r2024/ReceiptServicePart.c | 254 + .../Asn_J2735/src/r2024/ReceiptServicePart.h | 50 - .../src/r2024/ReceiptServiceSerialNumber.c | 76 + .../src/r2024/ReceiptServiceSerialNumber.h | 45 - src/tmx/Asn_J2735/src/r2024/ReceiptText.c | 39 + src/tmx/Asn_J2735/src/r2024/ReceiptText.h | 45 - .../r2024/RecreationalObjectsAndActivities.c | 76 + .../r2024/RecreationalObjectsAndActivities.h | 112 - .../src/r2024/ReducedSpeedZoneContainer.c | 84 + .../src/r2024/ReducedSpeedZoneContainer.h | 46 - .../Asn_J2735/src/r2024/ReferencePointType.c | 70 + .../Asn_J2735/src/r2024/ReferencePointType.h | 56 - src/tmx/Asn_J2735/src/r2024/RegionId.c | 76 + src/tmx/Asn_J2735/src/r2024/RegionId.h | 50 - src/tmx/Asn_J2735/src/r2024/RegionInfo.c | 158 + src/tmx/Asn_J2735/src/r2024/RegionInfo.h | 60 - src/tmx/Asn_J2735/src/r2024/RegionList.c | 72 + src/tmx/Asn_J2735/src/r2024/RegionList.h | 47 - src/tmx/Asn_J2735/src/r2024/RegionOffsets.c | 104 + src/tmx/Asn_J2735/src/r2024/RegionOffsets.h | 42 - src/tmx/Asn_J2735/src/r2024/RegionPointSet.c | 104 + src/tmx/Asn_J2735/src/r2024/RegionPointSet.h | 53 - .../Asn_J2735/src/r2024/RegionUncertainty.c | 93 + .../Asn_J2735/src/r2024/RegionUncertainty.h | 58 - .../Asn_J2735/src/r2024/RegionalExtension.c | 11120 ++++++++++++++++ .../Asn_J2735/src/r2024/RegionalExtension.h | 1337 -- .../src/r2024/RegulatoryAndWarningSigns.c | 76 + .../src/r2024/RegulatoryAndWarningSigns.h | 92 - .../src/r2024/RegulatorySpeedLimit.c | 84 + .../src/r2024/RegulatorySpeedLimit.h | 42 - .../Asn_J2735/src/r2024/RelativePosition3d.c | 104 + .../Asn_J2735/src/r2024/RelativePosition3d.h | 42 - .../src/r2024/RelativeRoadAuthorityID.c | 39 + .../src/r2024/RelativeRoadAuthorityID.h | 45 - .../src/r2024/ReportCharacteristics.c | 249 + .../src/r2024/ReportCharacteristics.h | 66 - src/tmx/Asn_J2735/src/r2024/RequestID.c | 76 + src/tmx/Asn_J2735/src/r2024/RequestID.h | 46 - .../src/r2024/RequestImportanceLevel.c | 96 + .../src/r2024/RequestImportanceLevel.h | 67 - src/tmx/Asn_J2735/src/r2024/RequestSubRole.c | 96 + src/tmx/Asn_J2735/src/r2024/RequestSubRole.h | 67 - src/tmx/Asn_J2735/src/r2024/RequestedItem.c | 100 + src/tmx/Asn_J2735/src/r2024/RequestedItem.h | 71 - .../Asn_J2735/src/r2024/RequestedItemList.c | 72 + .../Asn_J2735/src/r2024/RequestedItemList.h | 42 - .../src/r2024/RequestorDescription.c | 315 + .../src/r2024/RequestorDescription.h | 73 - .../src/r2024/RequestorPositionVector.c | 104 + .../src/r2024/RequestorPositionVector.h | 53 - src/tmx/Asn_J2735/src/r2024/RequestorType.c | 158 + src/tmx/Asn_J2735/src/r2024/RequestorType.h | 59 - src/tmx/Asn_J2735/src/r2024/ReservedBit.c | 39 + src/tmx/Asn_J2735/src/r2024/ReservedBit.h | 45 - src/tmx/Asn_J2735/src/r2024/ResponseFlag.c | 39 + src/tmx/Asn_J2735/src/r2024/ResponseFlag.h | 45 - src/tmx/Asn_J2735/src/r2024/ResponseType.c | 80 + src/tmx/Asn_J2735/src/r2024/ResponseType.h | 61 - .../src/r2024/RestrictionAppliesTo.c | 94 + .../src/r2024/RestrictionAppliesTo.h | 68 - .../Asn_J2735/src/r2024/RestrictionClass.c | 76 + .../Asn_J2735/src/r2024/RestrictionClass.h | 91 - .../src/r2024/RestrictionClassAssignment.c | 84 + .../src/r2024/RestrictionClassAssignment.h | 42 - .../Asn_J2735/src/r2024/RestrictionClassID.c | 76 + .../Asn_J2735/src/r2024/RestrictionClassID.h | 46 - .../src/r2024/RestrictionClassList.c | 72 + .../src/r2024/RestrictionClassList.h | 47 - .../src/r2024/RestrictionUserType-addGrpC.c | 68 + .../src/r2024/RestrictionUserType-addGrpC.h | 44 - .../Asn_J2735/src/r2024/RestrictionUserType.c | 196 + .../Asn_J2735/src/r2024/RestrictionUserType.h | 71 - .../src/r2024/RestrictionUserTypeList.c | 72 + .../src/r2024/RestrictionUserTypeList.h | 47 - src/tmx/Asn_J2735/src/r2024/ResultFin.c | 77 + src/tmx/Asn_J2735/src/r2024/ResultFin.h | 46 - src/tmx/Asn_J2735/src/r2024/ResultOp.c | 76 + src/tmx/Asn_J2735/src/r2024/ResultOp.h | 76 - src/tmx/Asn_J2735/src/r2024/RoadAuthorityID.c | 93 + src/tmx/Asn_J2735/src/r2024/RoadAuthorityID.h | 59 - .../src/r2024/RoadGeometryAndAttributes.c | 39 + .../src/r2024/RoadGeometryAndAttributes.h | 45 - src/tmx/Asn_J2735/src/r2024/RoadGrade.c | 76 + src/tmx/Asn_J2735/src/r2024/RoadGrade.h | 46 - src/tmx/Asn_J2735/src/r2024/RoadLaneSetList.c | 72 + src/tmx/Asn_J2735/src/r2024/RoadLaneSetList.h | 47 - src/tmx/Asn_J2735/src/r2024/RoadRegulatorID.c | 76 + src/tmx/Asn_J2735/src/r2024/RoadRegulatorID.h | 46 - src/tmx/Asn_J2735/src/r2024/RoadRoughness.c | 122 + src/tmx/Asn_J2735/src/r2024/RoadRoughness.h | 48 - .../Asn_J2735/src/r2024/RoadSafetyMessage.c | 187 + .../Asn_J2735/src/r2024/RoadSafetyMessage.h | 58 - src/tmx/Asn_J2735/src/r2024/RoadSegment.c | 297 + src/tmx/Asn_J2735/src/r2024/RoadSegment.h | 71 - src/tmx/Asn_J2735/src/r2024/RoadSegmentID.c | 76 + src/tmx/Asn_J2735/src/r2024/RoadSegmentID.h | 46 - src/tmx/Asn_J2735/src/r2024/RoadSegmentList.c | 72 + src/tmx/Asn_J2735/src/r2024/RoadSegmentList.h | 47 - .../src/r2024/RoadSegmentReferenceID.c | 86 + .../src/r2024/RoadSegmentReferenceID.h | 42 - src/tmx/Asn_J2735/src/r2024/RoadSideAlert.c | 436 + src/tmx/Asn_J2735/src/r2024/RoadSideAlert.h | 79 - src/tmx/Asn_J2735/src/r2024/RoadSignID.c | 122 + src/tmx/Asn_J2735/src/r2024/RoadSignID.h | 46 - .../src/r2024/RoadSurfaceCondition.c | 70 + .../src/r2024/RoadSurfaceCondition.h | 56 - .../src/r2024/RoadUserChargingConfigMessage.c | 169 + .../src/r2024/RoadUserChargingConfigMessage.h | 56 - .../src/r2024/RoadUserChargingReportMessage.c | 124 + .../src/r2024/RoadUserChargingReportMessage.h | 46 - .../Asn_J2735/src/r2024/RoadWeatherDownload.c | 86 + .../Asn_J2735/src/r2024/RoadWeatherDownload.h | 51 - .../Asn_J2735/src/r2024/RoadWeatherMessage.c | 93 + .../Asn_J2735/src/r2024/RoadWeatherMessage.h | 59 - .../Asn_J2735/src/r2024/RoadWeatherUpload.c | 196 + .../Asn_J2735/src/r2024/RoadWeatherUpload.h | 71 - src/tmx/Asn_J2735/src/r2024/RoadsideAssets.c | 76 + src/tmx/Asn_J2735/src/r2024/RoadsideAssets.h | 127 - .../Asn_J2735/src/r2024/RoadwayCrownAngle.c | 76 + .../Asn_J2735/src/r2024/RoadwayCrownAngle.h | 46 - src/tmx/Asn_J2735/src/r2024/Roadwork.c | 76 + src/tmx/Asn_J2735/src/r2024/Roadwork.h | 94 - src/tmx/Asn_J2735/src/r2024/Rock.c | 66 + src/tmx/Asn_J2735/src/r2024/Rock.h | 44 - src/tmx/Asn_J2735/src/r2024/RockType.c | 68 + src/tmx/Asn_J2735/src/r2024/RockType.h | 55 - src/tmx/Asn_J2735/src/r2024/Roll.c | 76 + src/tmx/Asn_J2735/src/r2024/Roll.h | 46 - src/tmx/Asn_J2735/src/r2024/RollDetected.c | 76 + src/tmx/Asn_J2735/src/r2024/RollDetected.h | 46 - .../Asn_J2735/src/r2024/RollRateConfidence.c | 80 + .../Asn_J2735/src/r2024/RollRateConfidence.h | 59 - .../src/r2024/RptAveragedAndSummaryRecord.c | 174 + .../src/r2024/RptAveragedAndSummaryRecord.h | 53 - .../Asn_J2735/src/r2024/RptAveragedRecord.c | 287 + .../Asn_J2735/src/r2024/RptAveragedRecord.h | 58 - .../src/r2024/RptAvgAndSummaryRecordData.c | 93 + .../src/r2024/RptAvgAndSummaryRecordData.h | 59 - .../src/r2024/RptCommSysPerfEvents.c | 330 + .../src/r2024/RptCommSysPerfEvents.h | 78 - src/tmx/Asn_J2735/src/r2024/RptDevType.c | 104 + src/tmx/Asn_J2735/src/r2024/RptDevType.h | 46 - .../src/r2024/RptDriverAlertsAndWarnings.c | 237 + .../src/r2024/RptDriverAlertsAndWarnings.h | 74 - src/tmx/Asn_J2735/src/r2024/RptEmissions.c | 545 + src/tmx/Asn_J2735/src/r2024/RptEmissions.h | 52 - src/tmx/Asn_J2735/src/r2024/RptEvents.c | 147 + src/tmx/Asn_J2735/src/r2024/RptEvents.h | 64 - src/tmx/Asn_J2735/src/r2024/RptHysteresis.c | 122 + src/tmx/Asn_J2735/src/r2024/RptHysteresis.h | 55 - .../Asn_J2735/src/r2024/RptHysteresisRecord.c | 72 + .../Asn_J2735/src/r2024/RptHysteresisRecord.h | 47 - .../src/r2024/RptInstantaneousRecord.c | 140 + .../src/r2024/RptInstantaneousRecord.h | 57 - .../src/r2024/RptInstantaneousRecordData.c | 129 + .../src/r2024/RptInstantaneousRecordData.h | 65 - .../src/r2024/RptInstantaneousRecords.c | 72 + .../src/r2024/RptInstantaneousRecords.h | 47 - .../Asn_J2735/src/r2024/RptIntervalEvents.c | 214 + .../Asn_J2735/src/r2024/RptIntervalEvents.h | 57 - .../Asn_J2735/src/r2024/RptKinematicEvents.c | 86 + .../Asn_J2735/src/r2024/RptKinematicEvents.h | 51 - src/tmx/Asn_J2735/src/r2024/RptLocOfStops.c | 139 + src/tmx/Asn_J2735/src/r2024/RptLocOfStops.h | 48 - .../Asn_J2735/src/r2024/RptRoadRoughness.c | 122 + .../Asn_J2735/src/r2024/RptRoadRoughness.h | 48 - .../Asn_J2735/src/r2024/RptRoadwayEvents.c | 327 + .../Asn_J2735/src/r2024/RptRoadwayEvents.h | 86 - .../Asn_J2735/src/r2024/RptSummaryRecord.c | 636 + .../Asn_J2735/src/r2024/RptSummaryRecord.h | 63 - .../Asn_J2735/src/r2024/RptTrafficMetrics.c | 183 + .../Asn_J2735/src/r2024/RptTrafficMetrics.h | 68 - .../src/r2024/RptTrafficSigEncounters.c | 86 + .../src/r2024/RptTrafficSigEncounters.h | 46 - .../Asn_J2735/src/r2024/RptTransitVehData.c | 215 + .../Asn_J2735/src/r2024/RptTransitVehData.h | 46 - src/tmx/Asn_J2735/src/r2024/RptVehicleClass.c | 92 + src/tmx/Asn_J2735/src/r2024/RptVehicleClass.h | 67 - .../Asn_J2735/src/r2024/RptVehicleEvents.c | 327 + .../Asn_J2735/src/r2024/RptVehicleEvents.h | 86 - .../Asn_J2735/src/r2024/RptVehicleReport.c | 72 + .../Asn_J2735/src/r2024/RptVehicleReport.h | 47 - src/tmx/Asn_J2735/src/r2024/RptVelocity.c | 104 + src/tmx/Asn_J2735/src/r2024/RptVelocity.h | 48 - src/tmx/Asn_J2735/src/r2024/RptWiperStatus.c | 74 + src/tmx/Asn_J2735/src/r2024/RptWiperStatus.h | 58 - src/tmx/Asn_J2735/src/r2024/SPAT.c | 225 + src/tmx/Asn_J2735/src/r2024/SPAT.h | 62 - src/tmx/Asn_J2735/src/r2024/SPAT_TimeMark.c | 76 + src/tmx/Asn_J2735/src/r2024/SPAT_TimeMark.h | 46 - src/tmx/Asn_J2735/src/r2024/SSPindex.c | 76 + src/tmx/Asn_J2735/src/r2024/SSPindex.h | 46 - src/tmx/Asn_J2735/src/r2024/Sample.c | 158 + src/tmx/Asn_J2735/src/r2024/Sample.h | 41 - src/tmx/Asn_J2735/src/r2024/Scale-B12.c | 76 + src/tmx/Asn_J2735/src/r2024/Scale-B12.h | 46 - .../src/r2024/SchoolBusJ2945Slash1C.c | 248 + .../src/r2024/SchoolBusJ2945Slash1C.h | 54 - src/tmx/Asn_J2735/src/r2024/Second.c | 76 + src/tmx/Asn_J2735/src/r2024/Second.h | 46 - src/tmx/Asn_J2735/src/r2024/SecondOfTime.c | 76 + src/tmx/Asn_J2735/src/r2024/SecondOfTime.h | 46 - src/tmx/Asn_J2735/src/r2024/SecondsAngle.c | 76 + src/tmx/Asn_J2735/src/r2024/SecondsAngle.h | 46 - src/tmx/Asn_J2735/src/r2024/Segment.c | 207 + src/tmx/Asn_J2735/src/r2024/Segment.h | 61 - .../Asn_J2735/src/r2024/SegmentAttributeLL.c | 142 + .../Asn_J2735/src/r2024/SegmentAttributeLL.h | 92 - .../src/r2024/SegmentAttributeLLList.c | 72 + .../src/r2024/SegmentAttributeLLList.h | 42 - .../Asn_J2735/src/r2024/SegmentAttributeXY.c | 142 + .../Asn_J2735/src/r2024/SegmentAttributeXY.h | 92 - .../src/r2024/SegmentAttributeXYList.c | 72 + .../src/r2024/SegmentAttributeXYList.h | 42 - .../src/r2024/SemiMajorAxisAccuracy.c | 76 + .../src/r2024/SemiMajorAxisAccuracy.h | 46 - .../src/r2024/SemiMajorAxisOrientation.c | 76 + .../src/r2024/SemiMajorAxisOrientation.h | 46 - .../src/r2024/SemiMinorAxisAccuracy.c | 76 + .../src/r2024/SemiMinorAxisAccuracy.h | 46 - .../src/r2024/SensorDataSharingMessage.c | 194 + .../src/r2024/SensorDataSharingMessage.h | 54 - .../SensorDataSharingMessage_ObjectDistance.c | 76 + .../SensorDataSharingMessage_ObjectDistance.h | 46 - .../SensorDataSharingMessage_PitchRate.c | 76 + .../SensorDataSharingMessage_PitchRate.h | 46 - ...nsorDataSharingMessage_PositionOffsetXYZ.c | 104 + ...nsorDataSharingMessage_PositionOffsetXYZ.h | 42 - .../r2024/SensorDataSharingMessage_RollRate.c | 76 + .../r2024/SensorDataSharingMessage_RollRate.h | 46 - .../Asn_J2735/src/r2024/SeparationDistance.c | 76 + .../Asn_J2735/src/r2024/SeparationDistance.h | 46 - src/tmx/Asn_J2735/src/r2024/SessionClass.c | 84 + src/tmx/Asn_J2735/src/r2024/SessionClass.h | 39 - src/tmx/Asn_J2735/src/r2024/SessionLocation.c | 121 + src/tmx/Asn_J2735/src/r2024/SessionLocation.h | 42 - src/tmx/Asn_J2735/src/r2024/ShapePointSet.c | 122 + src/tmx/Asn_J2735/src/r2024/ShapePointSet.h | 55 - src/tmx/Asn_J2735/src/r2024/ShortString.c | 91 + src/tmx/Asn_J2735/src/r2024/ShortString.h | 46 - src/tmx/Asn_J2735/src/r2024/SignPrority.c | 76 + src/tmx/Asn_J2735/src/r2024/SignPrority.h | 46 - .../SignalControlAndPrioritizationRequest.c | 39 + .../SignalControlAndPrioritizationRequest.h | 45 - .../SignalControlAndPrioritizationStatus.c | 39 + .../SignalControlAndPrioritizationStatus.h | 45 - .../Asn_J2735/src/r2024/SignalControlZone.c | 66 + .../Asn_J2735/src/r2024/SignalControlZone.h | 44 - src/tmx/Asn_J2735/src/r2024/SignalGroupID.c | 76 + src/tmx/Asn_J2735/src/r2024/SignalGroupID.h | 46 - .../Asn_J2735/src/r2024/SignalHeadLocation.c | 84 + .../Asn_J2735/src/r2024/SignalHeadLocation.h | 46 - .../src/r2024/SignalHeadLocationList.c | 72 + .../src/r2024/SignalHeadLocationList.h | 47 - src/tmx/Asn_J2735/src/r2024/SignalReqScheme.c | 77 + src/tmx/Asn_J2735/src/r2024/SignalReqScheme.h | 45 - src/tmx/Asn_J2735/src/r2024/SignalRequest.c | 261 + src/tmx/Asn_J2735/src/r2024/SignalRequest.h | 67 - .../Asn_J2735/src/r2024/SignalRequestList.c | 72 + .../Asn_J2735/src/r2024/SignalRequestList.h | 47 - .../src/r2024/SignalRequestMessage.c | 261 + .../src/r2024/SignalRequestMessage.h | 67 - .../src/r2024/SignalRequestPackage.c | 243 + .../src/r2024/SignalRequestPackage.h | 63 - .../Asn_J2735/src/r2024/SignalRequesterInfo.c | 140 + .../Asn_J2735/src/r2024/SignalRequesterInfo.h | 57 - src/tmx/Asn_J2735/src/r2024/SignalStatus.c | 225 + src/tmx/Asn_J2735/src/r2024/SignalStatus.h | 62 - .../Asn_J2735/src/r2024/SignalStatusList.c | 72 + .../Asn_J2735/src/r2024/SignalStatusList.h | 47 - .../Asn_J2735/src/r2024/SignalStatusMessage.c | 243 + .../Asn_J2735/src/r2024/SignalStatusMessage.h | 64 - .../Asn_J2735/src/r2024/SignalStatusPackage.c | 297 + .../Asn_J2735/src/r2024/SignalStatusPackage.h | 71 - .../src/r2024/SignalStatusPackageList.c | 72 + .../src/r2024/SignalStatusPackageList.h | 47 - src/tmx/Asn_J2735/src/r2024/SignedValue.c | 167 + src/tmx/Asn_J2735/src/r2024/SignedValue.h | 52 - src/tmx/Asn_J2735/src/r2024/SirenInUse.c | 72 + src/tmx/Asn_J2735/src/r2024/SirenInUse.h | 55 - .../src/r2024/SituationalContainer.c | 140 + .../src/r2024/SituationalContainer.h | 56 - src/tmx/Asn_J2735/src/r2024/SizeValue.c | 76 + src/tmx/Asn_J2735/src/r2024/SizeValue.h | 46 - .../Asn_J2735/src/r2024/SizeValueConfidence.c | 92 + .../Asn_J2735/src/r2024/SizeValueConfidence.h | 65 - src/tmx/Asn_J2735/src/r2024/SmallNumbers.c | 76 + src/tmx/Asn_J2735/src/r2024/SmallNumbers.h | 304 - src/tmx/Asn_J2735/src/r2024/SnapShot.c | 122 + src/tmx/Asn_J2735/src/r2024/SnapShot.h | 57 - src/tmx/Asn_J2735/src/r2024/Snapshot.c | 104 + src/tmx/Asn_J2735/src/r2024/Snapshot.h | 54 - .../Asn_J2735/src/r2024/SnapshotDistance.c | 120 + .../Asn_J2735/src/r2024/SnapshotDistance.h | 44 - src/tmx/Asn_J2735/src/r2024/SnapshotTime.c | 120 + src/tmx/Asn_J2735/src/r2024/SnapshotTime.h | 44 - src/tmx/Asn_J2735/src/r2024/Snow.c | 66 + src/tmx/Asn_J2735/src/r2024/Snow.h | 44 - src/tmx/Asn_J2735/src/r2024/SnowType.c | 70 + src/tmx/Asn_J2735/src/r2024/SnowType.h | 56 - src/tmx/Asn_J2735/src/r2024/SoundLevel.c | 84 + src/tmx/Asn_J2735/src/r2024/SoundLevel.h | 41 - src/tmx/Asn_J2735/src/r2024/SpecialCharges.c | 176 + src/tmx/Asn_J2735/src/r2024/SpecialCharges.h | 58 - src/tmx/Asn_J2735/src/r2024/SpecialEvents.c | 76 + src/tmx/Asn_J2735/src/r2024/SpecialEvents.h | 73 - .../src/r2024/SpecialVehicleExtensions.c | 104 + .../src/r2024/SpecialVehicleExtensions.h | 55 - src/tmx/Asn_J2735/src/r2024/Speed.c | 76 + src/tmx/Asn_J2735/src/r2024/Speed.h | 46 - src/tmx/Asn_J2735/src/r2024/SpeedAdvice.c | 76 + src/tmx/Asn_J2735/src/r2024/SpeedAdvice.h | 46 - src/tmx/Asn_J2735/src/r2024/SpeedConfidence.c | 80 + src/tmx/Asn_J2735/src/r2024/SpeedConfidence.h | 59 - src/tmx/Asn_J2735/src/r2024/SpeedLimit.c | 215 + src/tmx/Asn_J2735/src/r2024/SpeedLimit.h | 69 - src/tmx/Asn_J2735/src/r2024/SpeedLimitList.c | 72 + src/tmx/Asn_J2735/src/r2024/SpeedLimitList.h | 47 - src/tmx/Asn_J2735/src/r2024/SpeedLimitType.c | 92 + src/tmx/Asn_J2735/src/r2024/SpeedLimitType.h | 67 - src/tmx/Asn_J2735/src/r2024/SpeedProfile.c | 66 + src/tmx/Asn_J2735/src/r2024/SpeedProfile.h | 44 - .../src/r2024/SpeedProfileMeasurement.c | 76 + .../src/r2024/SpeedProfileMeasurement.h | 46 - .../src/r2024/SpeedProfileMeasurementList.c | 72 + .../src/r2024/SpeedProfileMeasurementList.h | 42 - .../SpeedandHeadingandThrottleConfidence.c | 102 + .../SpeedandHeadingandThrottleConfidence.h | 44 - src/tmx/Asn_J2735/src/r2024/SportingEvents.c | 76 + src/tmx/Asn_J2735/src/r2024/SportingEvents.h | 75 - .../src/r2024/StabilityControlStatus.c | 72 + .../src/r2024/StabilityControlStatus.h | 55 - .../src/r2024/StatesAndTerritories.c | 76 + .../src/r2024/StatesAndTerritories.h | 105 - src/tmx/Asn_J2735/src/r2024/StationID.c | 72 + src/tmx/Asn_J2735/src/r2024/StationID.h | 47 - src/tmx/Asn_J2735/src/r2024/StationType.c | 76 + src/tmx/Asn_J2735/src/r2024/StationType.h | 66 - src/tmx/Asn_J2735/src/r2024/StdDev.c | 76 + src/tmx/Asn_J2735/src/r2024/StdDev.h | 46 - .../src/r2024/SteeringAxleLubePressure.c | 76 + .../src/r2024/SteeringAxleLubePressure.h | 46 - .../src/r2024/SteeringAxleTemperature.c | 76 + .../src/r2024/SteeringAxleTemperature.h | 46 - .../Asn_J2735/src/r2024/SteeringWheelAngle.c | 76 + .../Asn_J2735/src/r2024/SteeringWheelAngle.h | 46 - .../src/r2024/SteeringWheelAngleConfidence.c | 72 + .../src/r2024/SteeringWheelAngleConfidence.h | 55 - .../r2024/SteeringWheelAngleRateOfChange.c | 76 + .../r2024/SteeringWheelAngleRateOfChange.h | 46 - src/tmx/Asn_J2735/src/r2024/StreetSuffixes.c | 76 + src/tmx/Asn_J2735/src/r2024/StreetSuffixes.h | 194 - src/tmx/Asn_J2735/src/r2024/Structures.c | 76 + src/tmx/Asn_J2735/src/r2024/Structures.h | 76 - src/tmx/Asn_J2735/src/r2024/SubManeuver.c | 194 + src/tmx/Asn_J2735/src/r2024/SubManeuver.h | 61 - src/tmx/Asn_J2735/src/r2024/SubManeuverList.c | 72 + src/tmx/Asn_J2735/src/r2024/SubManeuverList.h | 47 - .../src/r2024/SubRegionChargingInfo.c | 84 + .../src/r2024/SubRegionChargingInfo.h | 46 - .../Asn_J2735/src/r2024/SuggestionAdvice.c | 76 + .../Asn_J2735/src/r2024/SuggestionAdvice.h | 72 - src/tmx/Asn_J2735/src/r2024/SummerTime.c | 68 + src/tmx/Asn_J2735/src/r2024/SummerTime.h | 53 - src/tmx/Asn_J2735/src/r2024/SunSensor.c | 76 + src/tmx/Asn_J2735/src/r2024/SunSensor.h | 46 - .../src/r2024/SupplementalVehicleExtensions.c | 387 + .../src/r2024/SupplementalVehicleExtensions.h | 90 - .../src/r2024/SurfaceTempMeasurementStdDev.c | 76 + .../src/r2024/SurfaceTempMeasurementStdDev.h | 46 - .../src/r2024/SurroundingVehicleInfo.c | 102 + .../src/r2024/SurroundingVehicleInfo.h | 48 - .../Asn_J2735/src/r2024/SystemInformation.c | 76 + .../Asn_J2735/src/r2024/SystemInformation.h | 66 - src/tmx/Asn_J2735/src/r2024/TRRLength.c | 76 + src/tmx/Asn_J2735/src/r2024/TRRLength.h | 46 - src/tmx/Asn_J2735/src/r2024/TRRLocation.c | 111 + src/tmx/Asn_J2735/src/r2024/TRRLocation.h | 62 - .../Asn_J2735/src/r2024/TRRLocationType1.c | 122 + .../Asn_J2735/src/r2024/TRRLocationType1.h | 50 - .../Asn_J2735/src/r2024/TRRLocationType2.c | 140 + .../Asn_J2735/src/r2024/TRRLocationType2.h | 55 - .../Asn_J2735/src/r2024/TRRLocationType3.c | 60 + .../Asn_J2735/src/r2024/TRRLocationType3.h | 46 - src/tmx/Asn_J2735/src/r2024/TRRType.c | 72 + src/tmx/Asn_J2735/src/r2024/TRRType.h | 57 - .../Asn_J2735/src/r2024/TargetRoadResource.c | 84 + .../Asn_J2735/src/r2024/TargetRoadResource.h | 46 - .../src/r2024/TariffClassDescription.c | 163 + .../src/r2024/TariffClassDescription.h | 48 - src/tmx/Asn_J2735/src/r2024/TariffClassId.c | 67 + src/tmx/Asn_J2735/src/r2024/TariffClassId.h | 46 - src/tmx/Asn_J2735/src/r2024/Temperature.c | 76 + src/tmx/Asn_J2735/src/r2024/Temperature.h | 73 - .../src/r2024/TemperatureMeasurementStdDev.c | 76 + .../src/r2024/TemperatureMeasurementStdDev.h | 46 - src/tmx/Asn_J2735/src/r2024/TemporaryID.c | 77 + src/tmx/Asn_J2735/src/r2024/TemporaryID.h | 46 - src/tmx/Asn_J2735/src/r2024/TemporaryIDList.c | 72 + src/tmx/Asn_J2735/src/r2024/TemporaryIDList.h | 42 - .../Asn_J2735/src/r2024/TemporaryIDPointer.c | 82 + .../Asn_J2735/src/r2024/TemporaryIDPointer.h | 46 - src/tmx/Asn_J2735/src/r2024/TenthSecond.c | 76 + src/tmx/Asn_J2735/src/r2024/TenthSecond.h | 46 - src/tmx/Asn_J2735/src/r2024/TermDistance.c | 76 + src/tmx/Asn_J2735/src/r2024/TermDistance.h | 46 - src/tmx/Asn_J2735/src/r2024/TermTime.c | 76 + src/tmx/Asn_J2735/src/r2024/TermTime.h | 46 - src/tmx/Asn_J2735/src/r2024/TestMessage00.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage00.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage01.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage01.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage02.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage02.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage03.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage03.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage04.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage04.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage05.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage05.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage06.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage06.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage07.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage07.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage08.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage08.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage09.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage09.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage10.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage10.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage11.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage11.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage12.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage12.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage13.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage13.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage14.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage14.h | 52 - src/tmx/Asn_J2735/src/r2024/TestMessage15.c | 86 + src/tmx/Asn_J2735/src/r2024/TestMessage15.h | 52 - .../Asn_J2735/src/r2024/ThrottleConfidence.c | 72 + .../Asn_J2735/src/r2024/ThrottleConfidence.h | 55 - .../Asn_J2735/src/r2024/ThrottlePosition.c | 76 + .../Asn_J2735/src/r2024/ThrottlePosition.h | 46 - src/tmx/Asn_J2735/src/r2024/Time.c | 67 + src/tmx/Asn_J2735/src/r2024/Time.h | 45 - .../Asn_J2735/src/r2024/TimeChangeDetails.c | 158 + .../Asn_J2735/src/r2024/TimeChangeDetails.h | 46 - .../Asn_J2735/src/r2024/TimeChargesTable.c | 121 + .../Asn_J2735/src/r2024/TimeChargesTable.h | 46 - src/tmx/Asn_J2735/src/r2024/TimeClassId.c | 76 + src/tmx/Asn_J2735/src/r2024/TimeClassId.h | 46 - src/tmx/Asn_J2735/src/r2024/TimeCompact.c | 213 + src/tmx/Asn_J2735/src/r2024/TimeCompact.h | 42 - src/tmx/Asn_J2735/src/r2024/TimeConfidence.c | 144 + src/tmx/Asn_J2735/src/r2024/TimeConfidence.h | 91 - src/tmx/Asn_J2735/src/r2024/TimeConstant.c | 76 + src/tmx/Asn_J2735/src/r2024/TimeConstant.h | 46 - .../Asn_J2735/src/r2024/TimeInSecond-B16.c | 76 + .../Asn_J2735/src/r2024/TimeInSecond-B16.h | 46 - src/tmx/Asn_J2735/src/r2024/TimeInSecond-B8.c | 76 + src/tmx/Asn_J2735/src/r2024/TimeInSecond-B8.h | 46 - .../src/r2024/TimeIntervalConfidence.c | 76 + .../src/r2024/TimeIntervalConfidence.h | 46 - src/tmx/Asn_J2735/src/r2024/TimeOffset.c | 76 + src/tmx/Asn_J2735/src/r2024/TimeOffset.h | 46 - src/tmx/Asn_J2735/src/r2024/TimePeriod.c | 84 + src/tmx/Asn_J2735/src/r2024/TimePeriod.h | 45 - src/tmx/Asn_J2735/src/r2024/TimeRemaining.c | 76 + src/tmx/Asn_J2735/src/r2024/TimeRemaining.h | 46 - src/tmx/Asn_J2735/src/r2024/TimeUnit.c | 76 + src/tmx/Asn_J2735/src/r2024/TimeUnit.h | 55 - src/tmx/Asn_J2735/src/r2024/TireData.c | 176 + src/tmx/Asn_J2735/src/r2024/TireData.h | 56 - src/tmx/Asn_J2735/src/r2024/TireDataList.c | 72 + src/tmx/Asn_J2735/src/r2024/TireDataList.h | 47 - src/tmx/Asn_J2735/src/r2024/TireLeakageRate.c | 76 + src/tmx/Asn_J2735/src/r2024/TireLeakageRate.h | 46 - src/tmx/Asn_J2735/src/r2024/TireLocation.c | 76 + src/tmx/Asn_J2735/src/r2024/TireLocation.h | 46 - src/tmx/Asn_J2735/src/r2024/TirePressure.c | 76 + src/tmx/Asn_J2735/src/r2024/TirePressure.h | 46 - .../r2024/TirePressureThresholdDetection.c | 80 + .../r2024/TirePressureThresholdDetection.h | 59 - src/tmx/Asn_J2735/src/r2024/TireTemp.c | 76 + src/tmx/Asn_J2735/src/r2024/TireTemp.h | 46 - src/tmx/Asn_J2735/src/r2024/Tolerance.c | 76 + src/tmx/Asn_J2735/src/r2024/Tolerance.h | 46 - .../src/r2024/TollAdvertisementInfo.c | 342 + .../src/r2024/TollAdvertisementInfo.h | 66 - .../src/r2024/TollAdvertisementMessage.c | 86 + .../src/r2024/TollAdvertisementMessage.h | 51 - src/tmx/Asn_J2735/src/r2024/TollChargerInfo.c | 104 + src/tmx/Asn_J2735/src/r2024/TollChargerInfo.h | 48 - .../Asn_J2735/src/r2024/TollChargesTable.c | 393 + .../Asn_J2735/src/r2024/TollChargesTable.h | 92 - src/tmx/Asn_J2735/src/r2024/TollPointID.c | 76 + src/tmx/Asn_J2735/src/r2024/TollPointID.h | 46 - src/tmx/Asn_J2735/src/r2024/TollPointMap.c | 461 + src/tmx/Asn_J2735/src/r2024/TollPointMap.h | 70 - .../src/r2024/TollServiceProviderData.c | 77 + .../src/r2024/TollServiceProviderData.h | 46 - .../Asn_J2735/src/r2024/TollUsageAckMessage.c | 121 + .../Asn_J2735/src/r2024/TollUsageAckMessage.h | 46 - .../Asn_J2735/src/r2024/TollUsageMessage.c | 158 + .../Asn_J2735/src/r2024/TollUsageMessage.h | 53 - src/tmx/Asn_J2735/src/r2024/TollUserData.c | 303 + src/tmx/Asn_J2735/src/r2024/TollUserData.h | 76 - src/tmx/Asn_J2735/src/r2024/Torque.c | 76 + src/tmx/Asn_J2735/src/r2024/Torque.h | 46 - src/tmx/Asn_J2735/src/r2024/TotalMass.c | 76 + src/tmx/Asn_J2735/src/r2024/TotalMass.h | 46 - .../Asn_J2735/src/r2024/TotalWeightCharges.c | 202 + .../Asn_J2735/src/r2024/TotalWeightCharges.h | 58 - .../src/r2024/TractionControlStatus.c | 72 + .../src/r2024/TractionControlStatus.h | 55 - .../Asn_J2735/src/r2024/TrafficConditions.c | 76 + .../Asn_J2735/src/r2024/TrafficConditions.h | 71 - .../src/r2024/TrafficLightControllerStatus.c | 82 + .../src/r2024/TrafficLightControllerStatus.h | 58 - .../src/r2024/TrafficLightDirectionCode.c | 84 + .../src/r2024/TrafficLightDirectionCode.h | 63 - src/tmx/Asn_J2735/src/r2024/TrafficLightID.c | 93 + src/tmx/Asn_J2735/src/r2024/TrafficLightID.h | 53 - .../src/r2024/TrafficLightIntervalType.c | 70 + .../src/r2024/TrafficLightIntervalType.h | 56 - .../src/r2024/TrafficLightOperationStatus.c | 82 + .../src/r2024/TrafficLightOperationStatus.h | 58 - .../Asn_J2735/src/r2024/TrafficLightStatus.c | 246 + .../Asn_J2735/src/r2024/TrafficLightStatus.h | 63 - .../src/r2024/TrafficLightStatusList.c | 72 + .../src/r2024/TrafficLightStatusList.h | 47 - .../src/r2024/TrafficLightStatusMessage.c | 212 + .../src/r2024/TrafficLightStatusMessage.h | 59 - .../Asn_J2735/src/r2024/TrafficLightType.c | 82 + .../Asn_J2735/src/r2024/TrafficLightType.h | 62 - .../src/r2024/TrafficLightingStatus.c | 80 + .../src/r2024/TrafficLightingStatus.h | 61 - .../src/r2024/TrafficSignalPhaseAndTiming.c | 39 + .../src/r2024/TrafficSignalPhaseAndTiming.h | 45 - .../src/r2024/TrailerCharacteristics.c | 102 + .../src/r2024/TrailerCharacteristics.h | 43 - src/tmx/Asn_J2735/src/r2024/TrailerData.c | 102 + src/tmx/Asn_J2735/src/r2024/TrailerData.h | 48 - src/tmx/Asn_J2735/src/r2024/TrailerDetails.c | 121 + src/tmx/Asn_J2735/src/r2024/TrailerDetails.h | 42 - .../Asn_J2735/src/r2024/TrailerHistoryPoint.c | 140 + .../Asn_J2735/src/r2024/TrailerHistoryPoint.h | 52 - .../src/r2024/TrailerHistoryPointList.c | 72 + .../src/r2024/TrailerHistoryPointList.h | 47 - src/tmx/Asn_J2735/src/r2024/TrailerMass.c | 76 + src/tmx/Asn_J2735/src/r2024/TrailerMass.h | 46 - src/tmx/Asn_J2735/src/r2024/TrailerType.c | 76 + src/tmx/Asn_J2735/src/r2024/TrailerType.h | 53 - .../src/r2024/TrailerUnitDescJ2945Slash1B.c | 194 + .../src/r2024/TrailerUnitDescJ2945Slash1B.h | 65 - .../src/r2024/TrailerUnitDescription.c | 284 + .../src/r2024/TrailerUnitDescription.h | 74 - .../src/r2024/TrailerUnitDescriptionList.c | 72 + .../src/r2024/TrailerUnitDescriptionList.h | 47 - src/tmx/Asn_J2735/src/r2024/TrailerWeight.c | 76 + src/tmx/Asn_J2735/src/r2024/TrailerWeight.h | 46 - .../src/r2024/TrailersJ2945Slash1B.c | 72 + .../src/r2024/TrailersJ2945Slash1B.h | 47 - src/tmx/Asn_J2735/src/r2024/TransitMode.c | 76 + src/tmx/Asn_J2735/src/r2024/TransitMode.h | 76 - .../Asn_J2735/src/r2024/TransitOperations.c | 76 + .../Asn_J2735/src/r2024/TransitOperations.h | 103 - src/tmx/Asn_J2735/src/r2024/TransitStatus.c | 82 + src/tmx/Asn_J2735/src/r2024/TransitStatus.h | 55 - .../src/r2024/TransitVehicleOccupancy.c | 80 + .../src/r2024/TransitVehicleOccupancy.h | 59 - .../src/r2024/TransitVehicleStatus.c | 82 + .../src/r2024/TransitVehicleStatus.h | 56 - .../src/r2024/TransmissionAndSpeed.c | 84 + .../src/r2024/TransmissionAndSpeed.h | 42 - .../Asn_J2735/src/r2024/TransmissionState.c | 80 + .../Asn_J2735/src/r2024/TransmissionState.h | 59 - .../Asn_J2735/src/r2024/TravelerDataFrame.c | 629 + .../Asn_J2735/src/r2024/TravelerDataFrame.h | 122 - .../src/r2024/TravelerDataFrameList.c | 72 + .../src/r2024/TravelerDataFrameList.h | 47 - .../TravelerDataFrameNewPartIIIContent.c | 75 + .../TravelerDataFrameNewPartIIIContent.h | 56 - .../src/r2024/TravelerGroupAffected.c | 76 + .../src/r2024/TravelerGroupAffected.h | 65 - .../Asn_J2735/src/r2024/TravelerInfoType.c | 74 + .../Asn_J2735/src/r2024/TravelerInfoType.h | 58 - .../Asn_J2735/src/r2024/TravelerInformation.c | 261 + .../Asn_J2735/src/r2024/TravelerInformation.h | 66 - src/tmx/Asn_J2735/src/r2024/TripInfo.c | 190 + src/tmx/Asn_J2735/src/r2024/TripInfo.h | 48 - src/tmx/Asn_J2735/src/r2024/TumAck.c | 72 + src/tmx/Asn_J2735/src/r2024/TumAck.h | 47 - src/tmx/Asn_J2735/src/r2024/TumAckHash.c | 142 + src/tmx/Asn_J2735/src/r2024/TumAckHash.h | 48 - src/tmx/Asn_J2735/src/r2024/TumData.c | 86 + src/tmx/Asn_J2735/src/r2024/TumData.h | 44 - src/tmx/Asn_J2735/src/r2024/TumHash.c | 77 + src/tmx/Asn_J2735/src/r2024/TumHash.h | 46 - src/tmx/Asn_J2735/src/r2024/TumInstructions.c | 158 + src/tmx/Asn_J2735/src/r2024/TumInstructions.h | 45 - .../Asn_J2735/src/r2024/TyreConfiguration.c | 76 + .../Asn_J2735/src/r2024/TyreConfiguration.h | 54 - src/tmx/Asn_J2735/src/r2024/URL-Base.c | 91 + src/tmx/Asn_J2735/src/r2024/URL-Base.h | 46 - src/tmx/Asn_J2735/src/r2024/URL-Link.c | 91 + src/tmx/Asn_J2735/src/r2024/URL-Link.h | 45 - src/tmx/Asn_J2735/src/r2024/URL-Short.c | 91 + src/tmx/Asn_J2735/src/r2024/URL-Short.h | 46 - src/tmx/Asn_J2735/src/r2024/UniqueMSGID.c | 77 + src/tmx/Asn_J2735/src/r2024/UniqueMSGID.h | 46 - src/tmx/Asn_J2735/src/r2024/Units.c | 76 + src/tmx/Asn_J2735/src/r2024/Units.h | 112 - src/tmx/Asn_J2735/src/r2024/UnusualDriving.c | 76 + src/tmx/Asn_J2735/src/r2024/UnusualDriving.h | 58 - src/tmx/Asn_J2735/src/r2024/UsageReport.c | 93 + src/tmx/Asn_J2735/src/r2024/UsageReport.h | 59 - src/tmx/Asn_J2735/src/r2024/UserClassId.c | 76 + src/tmx/Asn_J2735/src/r2024/UserClassId.h | 46 - src/tmx/Asn_J2735/src/r2024/UserData.c | 140 + src/tmx/Asn_J2735/src/r2024/UserData.h | 57 - src/tmx/Asn_J2735/src/r2024/UserFeeInfo.c | 84 + src/tmx/Asn_J2735/src/r2024/UserFeeInfo.h | 46 - src/tmx/Asn_J2735/src/r2024/UserId.c | 152 + src/tmx/Asn_J2735/src/r2024/UserId.h | 55 - .../src/r2024/UserSizeAndBehaviour.c | 82 + .../src/r2024/UserSizeAndBehaviour.h | 55 - src/tmx/Asn_J2735/src/r2024/VINstring.c | 77 + src/tmx/Asn_J2735/src/r2024/VINstring.h | 46 - src/tmx/Asn_J2735/src/r2024/ValidManeuvers.c | 76 + src/tmx/Asn_J2735/src/r2024/ValidManeuvers.h | 177 - src/tmx/Asn_J2735/src/r2024/ValidRegion.c | 207 + src/tmx/Asn_J2735/src/r2024/ValidRegion.h | 65 - .../Asn_J2735/src/r2024/ValidityOfContract.c | 122 + .../Asn_J2735/src/r2024/ValidityOfContract.h | 40 - src/tmx/Asn_J2735/src/r2024/VariationStdDev.c | 76 + src/tmx/Asn_J2735/src/r2024/VariationStdDev.h | 46 - src/tmx/Asn_J2735/src/r2024/VehTypeCharges.c | 104 + src/tmx/Asn_J2735/src/r2024/VehTypeCharges.h | 53 - .../Asn_J2735/src/r2024/VehTypeChargesTable.c | 72 + .../Asn_J2735/src/r2024/VehTypeChargesTable.h | 47 - .../src/r2024/VehicleAuthenticator.c | 39 + .../src/r2024/VehicleAuthenticator.h | 45 - src/tmx/Asn_J2735/src/r2024/VehicleAxles.c | 84 + src/tmx/Asn_J2735/src/r2024/VehicleAxles.h | 42 - .../src/r2024/VehicleAxlesAndWeightInfo.c | 397 + .../src/r2024/VehicleAxlesAndWeightInfo.h | 65 - .../Asn_J2735/src/r2024/VehicleAxlesNumber.c | 84 + .../Asn_J2735/src/r2024/VehicleAxlesNumber.h | 42 - src/tmx/Asn_J2735/src/r2024/VehicleClass.c | 76 + src/tmx/Asn_J2735/src/r2024/VehicleClass.h | 46 - .../src/r2024/VehicleClassification.c | 315 + .../src/r2024/VehicleClassification.h | 72 - .../src/r2024/VehicleCurrentMaxTrainWeight.c | 76 + .../src/r2024/VehicleCurrentMaxTrainWeight.h | 46 - src/tmx/Asn_J2735/src/r2024/VehicleData.c | 231 + src/tmx/Asn_J2735/src/r2024/VehicleData.h | 65 - .../Asn_J2735/src/r2024/VehicleDescription.c | 368 + .../Asn_J2735/src/r2024/VehicleDescription.h | 94 - .../Asn_J2735/src/r2024/VehicleDimensions.c | 102 + .../Asn_J2735/src/r2024/VehicleDimensions.h | 42 - .../Asn_J2735/src/r2024/VehicleEventFlags.c | 82 + .../Asn_J2735/src/r2024/VehicleEventFlags.h | 64 - src/tmx/Asn_J2735/src/r2024/VehicleHeight.c | 76 + src/tmx/Asn_J2735/src/r2024/VehicleHeight.h | 46 - src/tmx/Asn_J2735/src/r2024/VehicleID.c | 93 + src/tmx/Asn_J2735/src/r2024/VehicleID.h | 53 - src/tmx/Asn_J2735/src/r2024/VehicleId.c | 334 + src/tmx/Asn_J2735/src/r2024/VehicleId.h | 55 - src/tmx/Asn_J2735/src/r2024/VehicleIdent.c | 313 + src/tmx/Asn_J2735/src/r2024/VehicleIdent.h | 80 - src/tmx/Asn_J2735/src/r2024/VehicleLength.c | 76 + src/tmx/Asn_J2735/src/r2024/VehicleLength.h | 46 - src/tmx/Asn_J2735/src/r2024/VehicleMass.c | 76 + src/tmx/Asn_J2735/src/r2024/VehicleMass.h | 46 - src/tmx/Asn_J2735/src/r2024/VehicleReport.c | 86 + src/tmx/Asn_J2735/src/r2024/VehicleReport.h | 51 - .../src/r2024/VehicleSafetyExtensions.c | 158 + .../src/r2024/VehicleSafetyExtensions.h | 61 - src/tmx/Asn_J2735/src/r2024/VehicleSize.c | 84 + src/tmx/Asn_J2735/src/r2024/VehicleSize.h | 42 - .../src/r2024/VehicleSizeConfidence.c | 104 + .../src/r2024/VehicleSizeConfidence.h | 42 - .../r2024/VehicleSpecificCharacteristics.c | 120 + .../r2024/VehicleSpecificCharacteristics.h | 46 - src/tmx/Asn_J2735/src/r2024/VehicleStatus.c | 1053 ++ src/tmx/Asn_J2735/src/r2024/VehicleStatus.h | 157 - .../src/r2024/VehicleStatusDeviceTypeTag.c | 124 + .../src/r2024/VehicleStatusDeviceTypeTag.h | 83 - .../src/r2024/VehicleStatusRequest.c | 251 + .../src/r2024/VehicleStatusRequest.h | 50 - .../src/r2024/VehicleStatusRequestList.c | 72 + .../src/r2024/VehicleStatusRequestList.h | 47 - .../src/r2024/VehicleToLanePosition.c | 84 + .../src/r2024/VehicleToLanePosition.h | 46 - .../src/r2024/VehicleToLanePositionList.c | 72 + .../src/r2024/VehicleToLanePositionList.h | 47 - .../src/r2024/VehicleTotalDistance.c | 67 + .../src/r2024/VehicleTotalDistance.h | 45 - src/tmx/Asn_J2735/src/r2024/VehicleType.c | 98 + src/tmx/Asn_J2735/src/r2024/VehicleType.h | 70 - src/tmx/Asn_J2735/src/r2024/VehicleTypes.c | 92 + src/tmx/Asn_J2735/src/r2024/VehicleTypes.h | 67 - .../Asn_J2735/src/r2024/VehicleWeightLaden.c | 76 + .../Asn_J2735/src/r2024/VehicleWeightLaden.h | 46 - .../Asn_J2735/src/r2024/VehicleWeightLimits.c | 102 + .../Asn_J2735/src/r2024/VehicleWeightLimits.h | 42 - src/tmx/Asn_J2735/src/r2024/VehicleWidth.c | 76 + src/tmx/Asn_J2735/src/r2024/VehicleWidth.h | 46 - src/tmx/Asn_J2735/src/r2024/Velocity.c | 76 + src/tmx/Asn_J2735/src/r2024/Velocity.h | 46 - src/tmx/Asn_J2735/src/r2024/VertOffset-B07.c | 76 + src/tmx/Asn_J2735/src/r2024/VertOffset-B07.h | 46 - src/tmx/Asn_J2735/src/r2024/VertOffset-B08.c | 76 + src/tmx/Asn_J2735/src/r2024/VertOffset-B08.h | 46 - src/tmx/Asn_J2735/src/r2024/VertOffset-B09.c | 76 + src/tmx/Asn_J2735/src/r2024/VertOffset-B09.h | 46 - src/tmx/Asn_J2735/src/r2024/VertOffset-B10.c | 76 + src/tmx/Asn_J2735/src/r2024/VertOffset-B10.h | 46 - src/tmx/Asn_J2735/src/r2024/VertOffset-B11.c | 76 + src/tmx/Asn_J2735/src/r2024/VertOffset-B11.h | 46 - src/tmx/Asn_J2735/src/r2024/VertOffset-B12.c | 76 + src/tmx/Asn_J2735/src/r2024/VertOffset-B12.h | 46 - .../src/r2024/VerticalAcceleration.c | 76 + .../src/r2024/VerticalAcceleration.h | 46 - .../src/r2024/VerticalAccelerationThreshold.c | 82 + .../src/r2024/VerticalAccelerationThreshold.h | 55 - src/tmx/Asn_J2735/src/r2024/VerticalOffset.c | 201 + src/tmx/Asn_J2735/src/r2024/VerticalOffset.h | 68 - .../src/r2024/VisibilityAndAirQuality.c | 76 + .../src/r2024/VisibilityAndAirQuality.h | 84 - src/tmx/Asn_J2735/src/r2024/VisualLink.c | 120 + src/tmx/Asn_J2735/src/r2024/VisualLink.h | 44 - src/tmx/Asn_J2735/src/r2024/WDMSFleetData.c | 86 + src/tmx/Asn_J2735/src/r2024/WDMSFleetData.h | 51 - src/tmx/Asn_J2735/src/r2024/WaitOnStopline.c | 39 + src/tmx/Asn_J2735/src/r2024/WaitOnStopline.h | 45 - src/tmx/Asn_J2735/src/r2024/WarningAdvice.c | 76 + src/tmx/Asn_J2735/src/r2024/WarningAdvice.h | 100 - .../Asn_J2735/src/r2024/WeatherConditions.c | 76 + .../Asn_J2735/src/r2024/WeatherConditions.h | 78 - src/tmx/Asn_J2735/src/r2024/WeatherProbe.c | 104 + src/tmx/Asn_J2735/src/r2024/WeatherProbe.h | 53 - src/tmx/Asn_J2735/src/r2024/WeatherReport.c | 158 + src/tmx/Asn_J2735/src/r2024/WeatherReport.h | 54 - src/tmx/Asn_J2735/src/r2024/Weekday.c | 76 + src/tmx/Asn_J2735/src/r2024/Weekday.h | 57 - src/tmx/Asn_J2735/src/r2024/WeightCharges.c | 93 + src/tmx/Asn_J2735/src/r2024/WeightCharges.h | 59 - .../Asn_J2735/src/r2024/WeightChargesTable.c | 72 + .../Asn_J2735/src/r2024/WeightChargesTable.h | 47 - .../Asn_J2735/src/r2024/WheelEndElectFault.c | 72 + .../Asn_J2735/src/r2024/WheelEndElectFault.h | 55 - .../Asn_J2735/src/r2024/WheelSensorStatus.c | 72 + .../Asn_J2735/src/r2024/WheelSensorStatus.h | 55 - src/tmx/Asn_J2735/src/r2024/Winds.c | 76 + src/tmx/Asn_J2735/src/r2024/Winds.h | 65 - .../Asn_J2735/src/r2024/WinterDrivingIndex.c | 76 + .../Asn_J2735/src/r2024/WinterDrivingIndex.h | 56 - .../src/r2024/WinterDrivingRestrictions.c | 76 + .../src/r2024/WinterDrivingRestrictions.h | 63 - src/tmx/Asn_J2735/src/r2024/WiperRate.c | 76 + src/tmx/Asn_J2735/src/r2024/WiperRate.h | 46 - src/tmx/Asn_J2735/src/r2024/WiperSet.c | 122 + src/tmx/Asn_J2735/src/r2024/WiperSet.h | 44 - src/tmx/Asn_J2735/src/r2024/WiperStatus.c | 80 + src/tmx/Asn_J2735/src/r2024/WiperStatus.h | 61 - src/tmx/Asn_J2735/src/r2024/WorkZone.c | 215 + src/tmx/Asn_J2735/src/r2024/WorkZone.h | 69 - src/tmx/Asn_J2735/src/r2024/Yaw.c | 76 + src/tmx/Asn_J2735/src/r2024/Yaw.h | 46 - src/tmx/Asn_J2735/src/r2024/YawDetected.c | 76 + src/tmx/Asn_J2735/src/r2024/YawDetected.h | 46 - src/tmx/Asn_J2735/src/r2024/YawRate.c | 76 + src/tmx/Asn_J2735/src/r2024/YawRate.h | 46 - .../Asn_J2735/src/r2024/YawRateConfidence.c | 80 + .../Asn_J2735/src/r2024/YawRateConfidence.h | 59 - src/tmx/Asn_J2735/src/r2024/Year.c | 76 + src/tmx/Asn_J2735/src/r2024/Year.h | 46 - src/tmx/Asn_J2735/src/r2024/ZoneLength.c | 76 + src/tmx/Asn_J2735/src/r2024/ZoneLength.h | 46 - src/tmx/Asn_J2735/src/r2024/Zoom.c | 76 + src/tmx/Asn_J2735/src/r2024/Zoom.h | 46 - src/tmx/Asn_J2735/src/r2024/aper_decoder.c | 91 + src/tmx/Asn_J2735/src/r2024/aper_decoder.h | 47 - src/tmx/Asn_J2735/src/r2024/aper_encoder.c | 129 + src/tmx/Asn_J2735/src/r2024/aper_encoder.h | 63 - src/tmx/Asn_J2735/src/r2024/aper_opentype.c | 149 + src/tmx/Asn_J2735/src/r2024/aper_opentype.h | 30 - src/tmx/Asn_J2735/src/r2024/aper_support.c | 239 + src/tmx/Asn_J2735/src/r2024/aper_support.h | 63 - src/tmx/Asn_J2735/src/r2024/asn_SEQUENCE_OF.c | 41 + src/tmx/Asn_J2735/src/r2024/asn_SEQUENCE_OF.h | 52 - src/tmx/Asn_J2735/src/r2024/asn_SET_OF.c | 88 + src/tmx/Asn_J2735/src/r2024/asn_SET_OF.h | 72 - src/tmx/Asn_J2735/src/r2024/asn_application.c | 538 + src/tmx/Asn_J2735/src/r2024/asn_application.h | 173 - src/tmx/Asn_J2735/src/r2024/asn_bit_data.c | 333 + src/tmx/Asn_J2735/src/r2024/asn_bit_data.h | 83 - src/tmx/Asn_J2735/src/r2024/asn_codecs.h | 108 - src/tmx/Asn_J2735/src/r2024/asn_codecs_prim.c | 31 + src/tmx/Asn_J2735/src/r2024/asn_codecs_prim.h | 56 - .../Asn_J2735/src/r2024/asn_codecs_prim_ber.c | 115 + .../Asn_J2735/src/r2024/asn_codecs_prim_xer.c | 184 + src/tmx/Asn_J2735/src/r2024/asn_config.h | 3 - src/tmx/Asn_J2735/src/r2024/asn_constant.h | 610 - src/tmx/Asn_J2735/src/r2024/asn_internal.c | 48 + src/tmx/Asn_J2735/src/r2024/asn_internal.h | 170 - src/tmx/Asn_J2735/src/r2024/asn_ioc.h | 51 - src/tmx/Asn_J2735/src/r2024/asn_random_fill.c | 61 + src/tmx/Asn_J2735/src/r2024/asn_random_fill.h | 51 - src/tmx/Asn_J2735/src/r2024/asn_system.h | 169 - src/tmx/Asn_J2735/src/r2024/ber_decoder.c | 283 + src/tmx/Asn_J2735/src/r2024/ber_decoder.h | 66 - src/tmx/Asn_J2735/src/r2024/ber_tlv_length.c | 168 + src/tmx/Asn_J2735/src/r2024/ber_tlv_length.h | 50 - src/tmx/Asn_J2735/src/r2024/ber_tlv_tag.c | 144 + src/tmx/Asn_J2735/src/r2024/ber_tlv_tag.h | 60 - src/tmx/Asn_J2735/src/r2024/constr_CHOICE.c | 358 + src/tmx/Asn_J2735/src/r2024/constr_CHOICE.h | 119 - .../Asn_J2735/src/r2024/constr_CHOICE_aper.c | 181 + .../Asn_J2735/src/r2024/constr_CHOICE_ber.c | 447 + .../Asn_J2735/src/r2024/constr_CHOICE_oer.c | 375 + .../Asn_J2735/src/r2024/constr_CHOICE_print.c | 48 + .../Asn_J2735/src/r2024/constr_CHOICE_rfill.c | 60 + .../Asn_J2735/src/r2024/constr_CHOICE_uper.c | 191 + .../Asn_J2735/src/r2024/constr_CHOICE_xer.c | 316 + src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE.c | 197 + src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE.h | 95 - .../Asn_J2735/src/r2024/constr_SEQUENCE_OF.c | 92 + .../Asn_J2735/src/r2024/constr_SEQUENCE_OF.h | 67 - .../src/r2024/constr_SEQUENCE_OF_aper.c | 88 + .../src/r2024/constr_SEQUENCE_OF_ber.c | 88 + .../src/r2024/constr_SEQUENCE_OF_uper.c | 92 + .../src/r2024/constr_SEQUENCE_OF_xer.c | 60 + .../src/r2024/constr_SEQUENCE_aper.c | 457 + .../Asn_J2735/src/r2024/constr_SEQUENCE_ber.c | 612 + .../Asn_J2735/src/r2024/constr_SEQUENCE_oer.c | 557 + .../src/r2024/constr_SEQUENCE_print.c | 55 + .../src/r2024/constr_SEQUENCE_rfill.c | 74 + .../src/r2024/constr_SEQUENCE_uper.c | 429 + .../Asn_J2735/src/r2024/constr_SEQUENCE_xer.c | 348 + src/tmx/Asn_J2735/src/r2024/constr_SET_OF.c | 371 + src/tmx/Asn_J2735/src/r2024/constr_SET_OF.h | 102 - .../Asn_J2735/src/r2024/constr_SET_OF_aper.c | 186 + .../Asn_J2735/src/r2024/constr_SET_OF_ber.c | 355 + .../Asn_J2735/src/r2024/constr_SET_OF_oer.c | 281 + .../Asn_J2735/src/r2024/constr_SET_OF_print.c | 39 + .../Asn_J2735/src/r2024/constr_SET_OF_rfill.c | 152 + .../Asn_J2735/src/r2024/constr_SET_OF_uper.c | 201 + .../Asn_J2735/src/r2024/constr_SET_OF_xer.c | 314 + src/tmx/Asn_J2735/src/r2024/constr_TYPE.c | 80 + src/tmx/Asn_J2735/src/r2024/constr_TYPE.h | 295 - src/tmx/Asn_J2735/src/r2024/constraints.c | 94 + src/tmx/Asn_J2735/src/r2024/constraints.h | 63 - src/tmx/Asn_J2735/src/r2024/der_encoder.c | 194 + src/tmx/Asn_J2735/src/r2024/der_encoder.h | 68 - src/tmx/Asn_J2735/src/r2024/oer_decoder.c | 152 + src/tmx/Asn_J2735/src/r2024/oer_decoder.h | 72 - src/tmx/Asn_J2735/src/r2024/oer_encoder.c | 141 + src/tmx/Asn_J2735/src/r2024/oer_encoder.h | 70 - src/tmx/Asn_J2735/src/r2024/oer_support.c | 122 + src/tmx/Asn_J2735/src/r2024/oer_support.h | 47 - src/tmx/Asn_J2735/src/r2024/per_decoder.c | 5 + src/tmx/Asn_J2735/src/r2024/per_decoder.h | 30 - src/tmx/Asn_J2735/src/r2024/per_encoder.c | 35 + src/tmx/Asn_J2735/src/r2024/per_encoder.h | 38 - src/tmx/Asn_J2735/src/r2024/per_opentype.c | 28 + src/tmx/Asn_J2735/src/r2024/per_opentype.h | 24 - src/tmx/Asn_J2735/src/r2024/per_support.c | 9 + src/tmx/Asn_J2735/src/r2024/per_support.h | 54 - src/tmx/Asn_J2735/src/r2024/uper_decoder.c | 96 + src/tmx/Asn_J2735/src/r2024/uper_decoder.h | 47 - src/tmx/Asn_J2735/src/r2024/uper_encoder.c | 127 + src/tmx/Asn_J2735/src/r2024/uper_encoder.h | 62 - src/tmx/Asn_J2735/src/r2024/uper_opentype.c | 372 + src/tmx/Asn_J2735/src/r2024/uper_opentype.h | 34 - src/tmx/Asn_J2735/src/r2024/uper_support.c | 311 + src/tmx/Asn_J2735/src/r2024/uper_support.h | 77 - src/tmx/Asn_J2735/src/r2024/xer_decoder.c | 369 + src/tmx/Asn_J2735/src/r2024/xer_decoder.h | 106 - src/tmx/Asn_J2735/src/r2024/xer_encoder.c | 237 + src/tmx/Asn_J2735/src/r2024/xer_encoder.h | 83 - src/tmx/Asn_J2735/src/r2024/xer_support.c | 227 + src/tmx/Asn_J2735/src/r2024/xer_support.h | 55 - 2199 files changed, 150221 insertions(+), 64089 deletions(-) create mode 100644 src/tmx/Asn_J2735/src/r2024/ANY.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ANY.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ANY_aper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/ANY_ber.c create mode 100644 src/tmx/Asn_J2735/src/r2024/ANY_uper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/ANY_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/AbsolutePosition2d.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AbsolutePosition2d.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AbsolutePosition3d.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AbsolutePosition3d.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AccelSteerYawRateConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AccelSteerYawRateConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AccelTimeConstant.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AccelTimeConstant.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Acceleration.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Acceleration.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AccelerationConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AccelerationConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AccelerationSet4Way.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AccelerationSet4Way.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AcceleratorPedalPosition.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AcceleratorPedalPosition.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AccidentsAndIncidents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AccidentsAndIncidents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AccountStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AccountStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AckPolicy.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AckPolicy.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Activity.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Activity.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ActualNumberOfPassengers.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ActualNumberOfPassengers.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ActuatedInterval.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ActuatedInterval.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AddGrpB_Angle.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AddGrpB_Angle.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AddGrpB_Elevation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AddGrpB_Elevation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AddGrpB_MsgCount.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AddGrpB_MsgCount.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AddGrpB_TimeMark.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AddGrpB_TimeMark.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AddGrpC_Altitude.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AddGrpC_Altitude.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AdviceInstructionsMandatory.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AdviceInstructionsMandatory.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AdviceInstructionsRecommendations.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AdviceInstructionsRecommendations.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AdvisorySpeed.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AdvisorySpeed.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AdvisorySpeedList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AdvisorySpeedList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AdvisorySpeedType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AdvisorySpeedType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AggregatedSingleTariffClassSession.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AggregatedSingleTariffClassSession.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AllowedManeuvers.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AllowedManeuvers.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AlternateRoute.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AlternateRoute.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AltitudeConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AltitudeConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AltitudeValue.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AltitudeValue.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AmbientAirPressure.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AmbientAirPressure.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AmbientAirTemperature.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AmbientAirTemperature.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AngularVelocity.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AngularVelocity.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AngularVelocityConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AngularVelocityConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AnimalPropelledType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AnimalPropelledType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AnimalType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AnimalType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AntennaOffsetSet.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AntennaOffsetSet.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AntiLockBrakeStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AntiLockBrakeStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ApplicableHeading.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ApplicableHeading.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ApproachID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ApproachID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ApproachOrLane.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ApproachOrLane.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Area.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Area.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AreaOrSegmentChargingInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AreaOrSegmentChargingInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AreaType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AreaType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AsphaltOrTar.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AsphaltOrTar.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AsphaltOrTarType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AsphaltOrTarType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AssetStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AssetStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AtmosPressureMeasurementStdDev.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AtmosPressureMeasurementStdDev.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Attachment.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Attachment.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AttachmentRadius.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AttachmentRadius.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Attitude.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Attitude.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AttitudeConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AttitudeConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AudioLink.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AudioLink.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AuxiliaryBrakeStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AuxiliaryBrakeStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AxesMovement.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AxesMovement.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AxleLocation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AxleLocation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AxleWeight.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AxleWeight.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AxleWeightLimit.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AxleWeightLimit.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AxleWeightLimits.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AxleWeightLimits.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AxleWeightList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AxleWeightList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AxleWeightSet.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AxleWeightSet.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Axles.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Axles.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AxlesCharges.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AxlesCharges.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AxlesChargesTable.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AxlesChargesTable.h create mode 100644 src/tmx/Asn_J2735/src/r2024/AxlesWeightLimits.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/AxlesWeightLimits.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BIT_STRING.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BIT_STRING.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BIT_STRING_oer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/BIT_STRING_print.c create mode 100644 src/tmx/Asn_J2735/src/r2024/BIT_STRING_rfill.c create mode 100644 src/tmx/Asn_J2735/src/r2024/BIT_STRING_uper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/BIT_STRING_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/BOOLEAN.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BOOLEAN.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BOOLEAN_aper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/BOOLEAN_ber.c create mode 100644 src/tmx/Asn_J2735/src/r2024/BOOLEAN_oer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/BOOLEAN_print.c create mode 100644 src/tmx/Asn_J2735/src/r2024/BOOLEAN_rfill.c create mode 100644 src/tmx/Asn_J2735/src/r2024/BOOLEAN_uper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/BOOLEAN_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/BSMcoreData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BSMcoreData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BankAngle.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BankAngle.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage_PartII-Id.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage_PartII-Id.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BasicVehicleClass.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BasicVehicleClass.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BasicVehicleRole.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BasicVehicleRole.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BrakeAppliedPressure.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BrakeAppliedPressure.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BrakeAppliedStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BrakeAppliedStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BrakeBoostApplied.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BrakeBoostApplied.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BrakePedalPosition.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BrakePedalPosition.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BrakeSystemStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BrakeSystemStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BroadRegion.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BroadRegion.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BroadRegionArea.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BroadRegionArea.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BumperHeight.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BumperHeight.h create mode 100644 src/tmx/Asn_J2735/src/r2024/BumperHeights.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/BumperHeights.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CCMFaultMode.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CCMFaultMode.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CO2EmissionValue.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CO2EmissionValue.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CargoWeight.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CargoWeight.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgAveragedAndSummaryTriggers.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgAveragedAndSummaryTriggers.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgAveragedTriggers.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgAveragedTriggers.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgCommSysPerfEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgCommSysPerfEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgEmerAndTransitInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgEmerAndTransitInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgEventRecurrence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgEventRecurrence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgHysteresis.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgHysteresis.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgInstantaneousEventTriggers.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgInstantaneousEventTriggers.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgInterval.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgInterval.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgIntervalEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgIntervalEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgKinematicEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgKinematicEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgLowSpeedCriteria.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgLowSpeedCriteria.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgMsgDictionary.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgMsgDictionary.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgMsgRecepIndicators.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgMsgRecepIndicators.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgRoadSignInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgRoadSignInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgRoadSignTypes.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgRoadSignTypes.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgRoadwayEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgRoadwayEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgStoppedCriteria.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgStoppedCriteria.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgSummaryTriggers.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgSummaryTriggers.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgTrafficSigEncounters.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgTrafficSigEncounters.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgTransitVehicleData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgTransitVehicleData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgVehicleClass.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgVehicleClass.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CfgVehicleEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CfgVehicleEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ChargeObjectId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ChargeObjectId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ChargerInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ChargerInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ChargesTable.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ChargesTable.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ChargingAreaOrSegment.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ChargingAreaOrSegment.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ChargingConfig.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ChargingConfig.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ChargingFees.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ChargingFees.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ChargingUnits.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ChargingUnits.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Cinders.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Cinders.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CindersType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CindersType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Circle.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Circle.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ClassificationConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ClassificationConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ClosedNetworkChargesTable.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ClosedNetworkChargesTable.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Closures.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Closures.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CoarseHeading.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CoarseHeading.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CodeWord.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CodeWord.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CoefficientOfFriction.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CoefficientOfFriction.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CommonContainer.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CommonContainer.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CommonSafetyRequest.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CommonSafetyRequest.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Common_Angle.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Common_Angle.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Common_Duration.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Common_Duration.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Common_Elevation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Common_Elevation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Common_Latitude.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Common_Latitude.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Common_Longitude.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Common_Longitude.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Common_MeanVariation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Common_MeanVariation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Common_MsgCount.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Common_MsgCount.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ComputedLane.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ComputedLane.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Confidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Confidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ConfidenceSet.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ConfidenceSet.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ConfigBoundary.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ConfigBoundary.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ConfigDescriptor.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ConfigDescriptor.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ConfigId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ConfigId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ConfigInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ConfigInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ConfigTemporalBoundary.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ConfigTemporalBoundary.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ConfigTriggers.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ConfigTriggers.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ConnectingLane.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ConnectingLane.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Connection.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Connection.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist-addGrpC.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist-addGrpC.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ConnectsToList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ConnectsToList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ConsecutiveTrafficLight.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ConsecutiveTrafficLight.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ContentContainer.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ContentContainer.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ContractAuthenticator.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ContractAuthenticator.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ContractSerialNumber.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ContractSerialNumber.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ContractValidity.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ContractValidity.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_ManeuverID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_ManeuverID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PartII-Id.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PartII-Id.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PitchRate.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PitchRate.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_RollRate.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_RollRate.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CopValue.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CopValue.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Count.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Count.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CountryCode.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CountryCode.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CrossLinking.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CrossLinking.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CurrentStateData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CurrentStateData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/CurveContainer.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/CurveContainer.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DDate.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DDate.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DDateTime.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DDateTime.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DDay.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DDay.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DFullTime.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DFullTime.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DHour.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DHour.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DMinute.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DMinute.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DMonth.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DMonth.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DMonthDay.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DMonthDay.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DOffset.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DOffset.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DSRCmsgID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DSRCmsgID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DSecond.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DSecond.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DTime.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DTime.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DYear.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DYear.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DYearMonth.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DYearMonth.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DataParameters.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DataParameters.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DataSourceInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DataSourceInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DateAndTime.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DateAndTime.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DateCompact.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DateCompact.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Day.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Day.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DayOfWeek.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DayOfWeek.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DegreesLat.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DegreesLat.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DegreesLong.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DegreesLong.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DelayStatusCancellation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DelayStatusCancellation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DeltaAngle.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DeltaAngle.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DeltaTime.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DeltaTime.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DescriptionOfRoadSurface.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DescriptionOfRoadSurface.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DescriptiveCharacteristics.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DescriptiveCharacteristics.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DescriptiveName.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DescriptiveName.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedChargeObject.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedChargeObject.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedObjectCommonData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedObjectCommonData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedObjectData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedObjectData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedObjectList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedObjectList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedObjectOptionalData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedObjectOptionalData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedObstacleData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedObstacleData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedVRUData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedVRUData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedVehicleData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DetectedVehicleData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DetectionMode.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DetectionMode.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DeviceStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DeviceStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DewPointTempMeasurementStdDev.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DewPointTempMeasurementStdDev.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DieselEmissionValues.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DieselEmissionValues.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DirectionOfUse.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DirectionOfUse.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DisabledVehicle.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DisabledVehicle.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Disasters.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Disasters.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Distance.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Distance.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DistanceUnit.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DistanceUnit.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DistanceUnits.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DistanceUnits.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Disturbances.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Disturbances.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DriveAxleLiftAirPressure.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DriveAxleLiftAirPressure.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DriveAxleLocation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DriveAxleLocation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DriveAxleLubePressure.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DriveAxleLubePressure.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DriveAxleTemperature.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DriveAxleTemperature.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Driven.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Driven.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetLg.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetLg.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetSm.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetSm.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DriverCharacteristics.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DriverCharacteristics.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DrivingWheelAngle.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DrivingWheelAngle.h create mode 100644 src/tmx/Asn_J2735/src/r2024/DynamicInfoContainer.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/DynamicInfoContainer.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EXTERNAL.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EXTERNAL.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EfcContextMark.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EfcContextMark.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Altitude.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Altitude.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Duration.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Duration.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Latitude.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Latitude.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Longitude.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Longitude.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ElevOffset.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ElevOffset.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ElevationConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ElevationConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EmergencyDetails.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EmergencyDetails.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EmergencyVehicleAlert.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EmergencyVehicleAlert.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EmissionType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EmissionType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EmissionUnit.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EmissionUnit.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EnabledLaneList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EnabledLaneList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EncryptedTumData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EncryptedTumData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EngineCharacteristics.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EngineCharacteristics.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EngineDetails.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EngineDetails.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EntryChargesTable.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EntryChargesTable.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EnvironmentalCharacteristics.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EnvironmentalCharacteristics.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EquipmentIccId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EquipmentIccId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EquipmentObuId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EquipmentObuId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EquipmentStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EquipmentStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EquipmentType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EquipmentType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EssMobileFriction.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EssMobileFriction.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EssPrecipRate.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EssPrecipRate.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EssPrecipSituation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EssPrecipSituation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EssPrecipYesNo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EssPrecipYesNo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EssSolarRadiation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EssSolarRadiation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EuroValue.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EuroValue.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EventDescription.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EventDescription.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EventIdentifier.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EventIdentifier.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EventInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EventInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/EventRecurrence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/EventRecurrence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ExhaustEmissionValues.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ExhaustEmissionValues.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ExitChargesTable.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ExitChargesTable.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ExitInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ExitInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ExitService.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ExitService.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Extent.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Extent.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ExteriorLights.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ExteriorLights.h create mode 100644 src/tmx/Asn_J2735/src/r2024/FeeReport.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/FeeReport.h create mode 100644 src/tmx/Asn_J2735/src/r2024/FrictionInformation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/FrictionInformation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/FrontCutIn.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/FrontCutIn.h create mode 100644 src/tmx/Asn_J2735/src/r2024/FuelType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/FuelType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/FullPositionVector.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/FullPositionVector.h create mode 100644 src/tmx/Asn_J2735/src/r2024/FullRoadAuthorityID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/FullRoadAuthorityID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/FurtherInfoID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/FurtherInfoID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/FutureCharacteristics.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/FutureCharacteristics.h create mode 100644 src/tmx/Asn_J2735/src/r2024/GNSSstatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/GNSSstatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/GeneralizedTime.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/GeneralizedTime.h create mode 100644 src/tmx/Asn_J2735/src/r2024/GeneralizedTime_ber.c create mode 100644 src/tmx/Asn_J2735/src/r2024/GeneralizedTime_print.c create mode 100644 src/tmx/Asn_J2735/src/r2024/GeneralizedTime_rfill.c create mode 100644 src/tmx/Asn_J2735/src/r2024/GeneralizedTime_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/GenericLane.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/GenericLane.h create mode 100644 src/tmx/Asn_J2735/src/r2024/GenericSignage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/GenericSignage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/GeographicalPath.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/GeographicalPath.h create mode 100644 src/tmx/Asn_J2735/src/r2024/GeometricProjection.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/GeometricProjection.h create mode 100644 src/tmx/Asn_J2735/src/r2024/GraphicString.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/GraphicString.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Grass.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Grass.h create mode 100644 src/tmx/Asn_J2735/src/r2024/GrassType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/GrassType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Gravel.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Gravel.h create mode 100644 src/tmx/Asn_J2735/src/r2024/GravelType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/GravelType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/GrossDistance.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/GrossDistance.h create mode 100644 src/tmx/Asn_J2735/src/r2024/GrossSpeed.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/GrossSpeed.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Header.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Header.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Heading.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Heading.h create mode 100644 src/tmx/Asn_J2735/src/r2024/HeadingConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/HeadingConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/HeadingDeg.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/HeadingDeg.h create mode 100644 src/tmx/Asn_J2735/src/r2024/HeadingSlice.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/HeadingSlice.h create mode 100644 src/tmx/Asn_J2735/src/r2024/HeavyTruckCCMExtensions.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/HeavyTruckCCMExtensions.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Holiday.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Holiday.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Hour.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Hour.h create mode 100644 src/tmx/Asn_J2735/src/r2024/HumanPropelledType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/HumanPropelledType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IA5String.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IA5String.h create mode 100644 src/tmx/Asn_J2735/src/r2024/INTEGER.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/INTEGER.h create mode 100644 src/tmx/Asn_J2735/src/r2024/INTEGER_aper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/INTEGER_ber.c create mode 100644 src/tmx/Asn_J2735/src/r2024/INTEGER_oer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/INTEGER_print.c create mode 100644 src/tmx/Asn_J2735/src/r2024/INTEGER_rfill.c create mode 100644 src/tmx/Asn_J2735/src/r2024/INTEGER_uper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/INTEGER_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/ITISEventType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ITISEventType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ITIS_GenericLocations.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ITIS_GenericLocations.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodes.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodes.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodesAndText.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodesAndText.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ITIS_ITIStext.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ITIS_ITIStext.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ITIS_IncidentResponseEquipment.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ITIS_IncidentResponseEquipment.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ITIS_ResponderGroupAffected.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ITIS_ResponderGroupAffected.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ITIS_VehicleGroupAffected.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ITIS_VehicleGroupAffected.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ITISgroups.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ITISgroups.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ITIStextPhrase.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ITIStextPhrase.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Ice.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Ice.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IceType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IceType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IncidentResponseStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IncidentResponseStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IncidentsContainer.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IncidentsContainer.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Int1Signed.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Int1Signed.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Int1Unsigned.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Int1Unsigned.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Int2Signed.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Int2Signed.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Int2Unsigned.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Int2Unsigned.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Int3Unsigned.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Int3Unsigned.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Int4Signed.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Int4Signed.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Int4Unsigned.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Int4Unsigned.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Int8Signed.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Int8Signed.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Int8Unsigned.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Int8Unsigned.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionAccessPoint.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionAccessPoint.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionCollision.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionCollision.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionGeometry.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionGeometry.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionGeometryList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionGeometryList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionReferenceID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionReferenceID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionState-addGrpC.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionState-addGrpC.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionState.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionState.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionStateList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionStateList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionStatusObject.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IntersectionStatusObject.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IsDolly.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IsDolly.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Iso3833VehicleType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Iso3833VehicleType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/IssuerIdentifier.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/IssuerIdentifier.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ItemizedChargerData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ItemizedChargerData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ItemizedPaymentReport.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ItemizedPaymentReport.h create mode 100644 src/tmx/Asn_J2735/src/r2024/J1939data.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/J1939data.h create mode 100644 src/tmx/Asn_J2735/src/r2024/J2540ITIS_GenericLocations.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/J2540ITIS_GenericLocations.h create mode 100644 src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodes.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodes.h create mode 100644 src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodesAndText.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodesAndText.h create mode 100644 src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIStext.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIStext.h create mode 100644 src/tmx/Asn_J2735/src/r2024/J2540ITIS_IncidentResponseEquipment.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/J2540ITIS_IncidentResponseEquipment.h create mode 100644 src/tmx/Asn_J2735/src/r2024/J2540ITIS_ResponderGroupAffected.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/J2540ITIS_ResponderGroupAffected.h create mode 100644 src/tmx/Asn_J2735/src/r2024/J2540ITIS_VehicleGroupAffected.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/J2540ITIS_VehicleGroupAffected.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-Barrier.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-Barrier.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-Bike.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-Bike.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-Crosswalk.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-Crosswalk.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-Parking.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-Parking.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-Sidewalk.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-Sidewalk.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-Striping.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-Striping.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-TrackedVehicle.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-TrackedVehicle.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-Vehicle.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes-Vehicle.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneAttributes.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneChargesTable.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneChargesTable.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneClosed.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneClosed.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneClosureContainer.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneClosureContainer.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneConnectionID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneConnectionID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneDataAttribute-addGrpB.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneDataAttribute-addGrpB.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneDataAttribute.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneDataAttribute.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneDataAttributeList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneDataAttributeList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneDirection.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneDirection.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneOffset.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneOffset.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneRoadway.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneRoadway.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneSharing.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneSharing.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneTypeAttributes.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneTypeAttributes.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LaneWidth.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LaneWidth.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LargeNumbers.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LargeNumbers.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LastTollPointInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LastTollPointInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LastTollPointInfos.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LastTollPointInfos.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LatOffset.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LatOffset.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LatitudeDMS.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LatitudeDMS.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LatitudeDMS2.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LatitudeDMS2.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LayerID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LayerID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LayerType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LayerType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LightVehicleCCMExtensions.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LightVehicleCCMExtensions.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LightbarInUse.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LightbarInUse.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LocAndTimeStamp.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LocAndTimeStamp.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LocAndTimeStamps.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LocAndTimeStamps.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LocalVehicleClassId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LocalVehicleClassId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Location-quality.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Location-quality.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Location-tech.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Location-tech.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LocationClassId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LocationClassId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LongOffset.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LongOffset.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LongitudeDMS.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LongitudeDMS.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LongitudeDMS2.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LongitudeDMS2.h create mode 100644 src/tmx/Asn_J2735/src/r2024/LongitudinalControlState.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/LongitudinalControlState.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Lpn.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Lpn.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MSCMType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MSCMType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MUTCDCode.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MUTCDCode.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MUTCDLocations.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MUTCDLocations.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Maneuver.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Maneuver.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ManeuverAssistList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ManeuverAssistList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ManeuverExecutionStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ManeuverExecutionStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ManeuverID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ManeuverID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ObjectDistance.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ObjectDistance.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MapData-addGrpC.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MapData-addGrpC.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MapData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MapData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MaxAvailableAcceleration.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MaxAvailableAcceleration.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MaxAvailableDeceleration.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MaxAvailableDeceleration.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MaxTimetoChange.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MaxTimetoChange.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MeasurementTimeOffset.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MeasurementTimeOffset.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MergeDivergeNodeAngle.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MergeDivergeNodeAngle.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MessageBLOB.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MessageBLOB.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MessageFrame.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MessageFrame.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MinTimetoChange.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MinTimetoChange.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Minute.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Minute.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MinuteOfTheYear.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MinuteOfTheYear.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MinutesAngle.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MinutesAngle.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MinutesDuration.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MinutesDuration.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MobileSituation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MobileSituation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Month.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Month.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MotorizedPropelledType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MotorizedPropelledType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MovementEvent-addGrpB.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MovementEvent-addGrpB.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MovementEvent.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MovementEvent.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MovementEventList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MovementEventList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MovementList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MovementList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MovementPhaseState.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MovementPhaseState.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MovementState.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MovementState.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MsgCRC.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MsgCRC.h create mode 100644 src/tmx/Asn_J2735/src/r2024/MultiVehicleResponse.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/MultiVehicleResponse.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NMEA-MsgType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NMEA-MsgType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NMEA-Payload.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NMEA-Payload.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NMEA-Revision.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NMEA-Revision.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NMEAcorrections.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NMEAcorrections.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssAirTemperature.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssAirTemperature.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssCloudSituationV4.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssCloudSituationV4.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssDewpointTemp.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssDewpointTemp.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductForm.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductForm.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentAmount.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentAmount.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentWidth.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentWidth.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLatitude.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLatitude.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLocation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLocation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLongitude.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLongitude.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPercentProductMix.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPercentProductMix.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPressureSensorAtmosphericPressure.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssPressureSensorAtmosphericPressure.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceIceOrWaterDepth.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceIceOrWaterDepth.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceTemperature.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceTemperature.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssTemperatureSensorHeight.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssTemperatureSensorHeight.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationPeriod.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationPeriod.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationV4.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationV4.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibility.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibility.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibilitySituation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibilitySituation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPHumiditySensorRelativeHumidity.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPHumiditySensorRelativeHumidity.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPPavementSensorSurfaceCondition.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPPavementSensorSurfaceCondition.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPPrecipitationSensorPrecipSituation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPPrecipitationSensorPrecipSituation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgDirection.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgDirection.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgSpeed.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgSpeed.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustDirection.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustDirection.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustSpeed.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustSpeed.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotDirection.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotDirection.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotSpeed.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotSpeed.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NULL.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NULL.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NULL_aper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NULL_ber.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NULL_oer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NULL_print.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NULL_rfill.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NULL_uper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NULL_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NamedObjects.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NamedObjects.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NativeEnumerated.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NativeEnumerated.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NativeEnumerated_aper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NativeEnumerated_oer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NativeEnumerated_uper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NativeEnumerated_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NativeInteger.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NativeInteger.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NativeInteger_aper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NativeInteger_ber.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NativeInteger_oer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NativeInteger_print.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NativeInteger_rfill.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NativeInteger_uper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/NativeInteger_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LL-24B.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LL-24B.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LL-28B.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LL-28B.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LL-32B.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LL-32B.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LL-36B.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LL-36B.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LL-44B.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LL-44B.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LL-48B.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LL-48B.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LLdms-48b.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LLdms-48b.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LLdms-80b.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LLdms-80b.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LLmD-64b.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-LLmD-64b.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-XY-20b.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-XY-20b.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-XY-22b.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-XY-22b.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-XY-24b.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-XY-24b.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-XY-26b.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-XY-26b.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-XY-28b.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-XY-28b.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Node-XY-32b.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Node-XY-32b.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeAttributeLL.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeAttributeLL.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeAttributeLLList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeAttributeLLList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeAttributeSetLL.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeAttributeSetLL.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeAttributeSetXY.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeAttributeSetXY.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeAttributeXY.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeAttributeXY.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeAttributeXYList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeAttributeXYList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeLL.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeLL.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeListLL.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeListLL.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeListXY.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeListXY.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeOffsetPointLL.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeOffsetPointLL.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY-addGrpB.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY-addGrpB.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodePointLLE.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodePointLLE.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeSetLL.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeSetLL.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeSetXY.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeSetXY.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NodeXY.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NodeXY.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipAirTemperature.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipAirTemperature.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipAtmosphericPressure.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipAtmosphericPressure.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipCloudSituation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipCloudSituation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipDewPoint.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipDewPoint.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipEssData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipEssData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipPavement.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipPavement.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipPavementTreatment.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipPavementTreatment.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipPrecipitation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipPrecipitation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipRelativeHumidity.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipRelativeHumidity.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipSolarRadiation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipSolarRadiation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipVisibility.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipVisibility.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipVisibilitySituation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipVisibilitySituation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipWind.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NtcipWind.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NumberOfAxles.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NumberOfAxles.h create mode 100644 src/tmx/Asn_J2735/src/r2024/NumberOfParticipantsInCluster.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/NumberOfParticipantsInCluster.h create mode 100644 src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER.h create mode 100644 src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER_print.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER_rfill.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OCTET_STRING.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/OCTET_STRING.h create mode 100644 src/tmx/Asn_J2735/src/r2024/OCTET_STRING_aper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OCTET_STRING_ber.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OCTET_STRING_oer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OCTET_STRING_print.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OCTET_STRING_rfill.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OCTET_STRING_uper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OCTET_STRING_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OPEN_TYPE.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/OPEN_TYPE.h create mode 100644 src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_aper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_ber.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_oer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_uper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/ObeId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ObeId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ObjectCount.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ObjectCount.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ObjectDescriptor.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ObjectDescriptor.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ObjectID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ObjectID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ObjectType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ObjectType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Objects.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Objects.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ObstacleDetection.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ObstacleDetection.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ObstacleDirection.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ObstacleDirection.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ObstacleDistance.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ObstacleDistance.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ObstacleSize.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ObstacleSize.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ObstacleSizeConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ObstacleSizeConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Obstruction.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Obstruction.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Obstructions.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Obstructions.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Offset-B09.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Offset-B09.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Offset-B10.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Offset-B10.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Offset-B11.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Offset-B11.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Offset-B12.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Offset-B12.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Offset-B13.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Offset-B13.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Offset-B14.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Offset-B14.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Offset-B16.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Offset-B16.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Offset3D.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Offset3D.h create mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetLL-B12.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetLL-B12.h create mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetLL-B14.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetLL-B14.h create mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetLL-B16.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetLL-B16.h create mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetLL-B18.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetLL-B18.h create mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetLL-B22.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetLL-B22.h create mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetLL-B24.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetLL-B24.h create mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetSystem.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/OffsetSystem.h create mode 100644 src/tmx/Asn_J2735/src/r2024/OperatorDefined.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/OperatorDefined.h create mode 100644 src/tmx/Asn_J2735/src/r2024/OverlayLaneList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/OverlayLaneList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Parked.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Parked.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ParkingInformation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ParkingInformation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PartIIcontent.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PartIIcontent.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Particulate.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Particulate.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PassengerCapacity.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PassengerCapacity.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Path.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Path.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PathHistory.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PathHistory.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PathHistoryPoint.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PathHistoryPoint.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PathHistoryPointList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PathHistoryPointList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PathList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PathList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PathPoints.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PathPoints.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PathPrediction.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PathPrediction.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PavementConditions.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PavementConditions.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PayUnit.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PayUnit.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PayloadData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PayloadData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PaymentFee.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PaymentFee.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PaymentMeans.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PaymentMeans.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PaymentMeansBalance.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PaymentMeansBalance.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PaymentSecurityData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PaymentSecurityData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PedestrianBicycleDetect.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PedestrianBicycleDetect.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PedestrianCall.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PedestrianCall.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PerAxleWeightCharges.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PerAxleWeightCharges.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Period.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Period.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PermissiveNonProtected.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PermissiveNonProtected.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalAccountNumber.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalAccountNumber.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalAssistive.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalAssistive.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalClusterRadius.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalClusterRadius.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalCrossingInProgress.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalCrossingInProgress.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalCrossingRequest.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalCrossingRequest.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalDeviceUsageState.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalDeviceUsageState.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalDeviceUserType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalDeviceUserType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage2.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage2.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Pitch.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Pitch.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PitchDetected.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PitchDetected.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PitchRateConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PitchRateConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PivotPointDescription.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PivotPointDescription.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PivotingAllowed.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PivotingAllowed.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Point.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Point.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PortlandCement.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PortlandCement.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PortlandCementType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PortlandCementType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Position3D-addGrpB.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Position3D-addGrpB.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Position3D-addGrpC.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Position3D-addGrpC.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Position3D.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Position3D.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PositionConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PositionConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PositionConfidenceSet.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PositionConfidenceSet.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PositionalAccuracy.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PositionalAccuracy.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Precipitation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Precipitation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PreemptPriorityList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PreemptPriorityList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PrimaryRegionChargingInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PrimaryRegionChargingInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PrimaryRegionState.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PrimaryRegionState.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PrioritizationResponse.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PrioritizationResponse.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PrioritizationResponseList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PrioritizationResponseList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PrioritizationResponseStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PrioritizationResponseStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Priority.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Priority.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PriorityRequestType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PriorityRequestType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PrivilegedEventFlags.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PrivilegedEventFlags.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PrivilegedEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PrivilegedEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ProbeDataConfig.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ProbeDataConfig.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ProbeDataConfigMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ProbeDataConfigMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ProbeDataManagement.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ProbeDataManagement.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ProbeDataReportMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ProbeDataReportMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ProbeDataReport_MeanVariation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ProbeDataReport_MeanVariation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ProbeSegmentNumber.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ProbeSegmentNumber.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ProbeVehicleData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ProbeVehicleData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PropelledInformation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PropelledInformation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Provider.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Provider.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PublicSafetyAndRoadWorkerActivity.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PublicSafetyAndRoadWorkerActivity.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PublicSafetyDirectingTrafficSubType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PublicSafetyDirectingTrafficSubType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PublicSafetyEventResponderWorkerType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PublicSafetyEventResponderWorkerType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/PurseBalance.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/PurseBalance.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Qualifiers.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Qualifiers.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RELATIVE-OID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RELATIVE-OID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RELATIVE-OID_print.c create mode 100644 src/tmx/Asn_J2735/src/r2024/RELATIVE-OID_rfill.c create mode 100644 src/tmx/Asn_J2735/src/r2024/RELATIVE-OID_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/RSMLanePosition.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RSMLanePosition.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RSMPolygon.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RSMPolygon.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RTCM-Revision.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RTCM-Revision.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RTCMPackage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RTCMPackage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RTCMcorrections.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RTCMcorrections.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RTCMheader.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RTCMheader.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RTCMmessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RTCMmessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RTCMmessageList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RTCMmessageList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Radius-B12.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Radius-B12.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Radius.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Radius.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RadiusOfCurvature.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RadiusOfCurvature.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RainSensor.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RainSensor.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReasonCode.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReasonCode.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptAuthenticator.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptAuthenticator.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptContract.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptContract.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptDistance.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptDistance.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptFinancialPart.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptFinancialPart.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptIccId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptIccId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptObuId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptObuId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptServicePart.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptServicePart.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptServiceSerialNumber.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptServiceSerialNumber.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptText.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReceiptText.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RecreationalObjectsAndActivities.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RecreationalObjectsAndActivities.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReducedSpeedZoneContainer.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReducedSpeedZoneContainer.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReferencePointType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReferencePointType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RegionId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RegionId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RegionInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RegionInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RegionList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RegionList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RegionOffsets.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RegionOffsets.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RegionPointSet.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RegionPointSet.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RegionUncertainty.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RegionUncertainty.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RegionalExtension.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RegionalExtension.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RegulatoryAndWarningSigns.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RegulatoryAndWarningSigns.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RegulatorySpeedLimit.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RegulatorySpeedLimit.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RelativePosition3d.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RelativePosition3d.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RelativeRoadAuthorityID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RelativeRoadAuthorityID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReportCharacteristics.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReportCharacteristics.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RequestID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RequestID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RequestImportanceLevel.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RequestImportanceLevel.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RequestSubRole.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RequestSubRole.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RequestedItem.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RequestedItem.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RequestedItemList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RequestedItemList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RequestorDescription.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RequestorDescription.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RequestorPositionVector.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RequestorPositionVector.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RequestorType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RequestorType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ReservedBit.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ReservedBit.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ResponseFlag.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ResponseFlag.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ResponseType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ResponseType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionAppliesTo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionAppliesTo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionClass.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionClass.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionClassAssignment.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionClassAssignment.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionClassID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionClassID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionClassList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionClassList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionUserType-addGrpC.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionUserType-addGrpC.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionUserType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionUserType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionUserTypeList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RestrictionUserTypeList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ResultFin.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ResultFin.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ResultOp.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ResultOp.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadAuthorityID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadAuthorityID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadGeometryAndAttributes.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadGeometryAndAttributes.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadGrade.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadGrade.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadLaneSetList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadLaneSetList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadRegulatorID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadRegulatorID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadRoughness.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadRoughness.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSafetyMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSafetyMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSegment.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSegment.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSegmentID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSegmentID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSegmentList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSegmentList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSegmentReferenceID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSegmentReferenceID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSideAlert.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSideAlert.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSignID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSignID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSurfaceCondition.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadSurfaceCondition.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadUserChargingConfigMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadUserChargingConfigMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadUserChargingReportMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadUserChargingReportMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadWeatherDownload.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadWeatherDownload.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadWeatherMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadWeatherMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadWeatherUpload.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadWeatherUpload.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadsideAssets.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadsideAssets.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RoadwayCrownAngle.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RoadwayCrownAngle.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Roadwork.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Roadwork.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Rock.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Rock.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RockType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RockType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Roll.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Roll.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RollDetected.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RollDetected.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RollRateConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RollRateConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptAveragedAndSummaryRecord.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptAveragedAndSummaryRecord.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptAveragedRecord.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptAveragedRecord.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptAvgAndSummaryRecordData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptAvgAndSummaryRecordData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptCommSysPerfEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptCommSysPerfEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptDevType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptDevType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptDriverAlertsAndWarnings.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptDriverAlertsAndWarnings.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptEmissions.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptEmissions.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptHysteresis.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptHysteresis.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptHysteresisRecord.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptHysteresisRecord.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecord.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecord.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecordData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecordData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecords.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecords.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptIntervalEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptIntervalEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptKinematicEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptKinematicEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptLocOfStops.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptLocOfStops.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptRoadRoughness.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptRoadRoughness.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptRoadwayEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptRoadwayEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptSummaryRecord.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptSummaryRecord.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptTrafficMetrics.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptTrafficMetrics.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptTrafficSigEncounters.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptTrafficSigEncounters.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptTransitVehData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptTransitVehData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptVehicleClass.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptVehicleClass.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptVehicleEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptVehicleEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptVehicleReport.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptVehicleReport.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptVelocity.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptVelocity.h create mode 100644 src/tmx/Asn_J2735/src/r2024/RptWiperStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/RptWiperStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SPAT.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SPAT.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SPAT_TimeMark.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SPAT_TimeMark.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SSPindex.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SSPindex.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Sample.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Sample.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Scale-B12.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Scale-B12.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SchoolBusJ2945Slash1C.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SchoolBusJ2945Slash1C.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Second.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Second.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SecondOfTime.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SecondOfTime.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SecondsAngle.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SecondsAngle.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Segment.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Segment.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SegmentAttributeLL.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SegmentAttributeLL.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SegmentAttributeLLList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SegmentAttributeLLList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SegmentAttributeXY.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SegmentAttributeXY.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SegmentAttributeXYList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SegmentAttributeXYList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SemiMajorAxisAccuracy.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SemiMajorAxisAccuracy.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SemiMajorAxisOrientation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SemiMajorAxisOrientation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SemiMinorAxisAccuracy.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SemiMinorAxisAccuracy.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_ObjectDistance.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_ObjectDistance.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PitchRate.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PitchRate.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PositionOffsetXYZ.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PositionOffsetXYZ.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_RollRate.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_RollRate.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SeparationDistance.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SeparationDistance.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SessionClass.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SessionClass.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SessionLocation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SessionLocation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ShapePointSet.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ShapePointSet.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ShortString.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ShortString.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignPrority.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignPrority.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationRequest.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationRequest.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalControlZone.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalControlZone.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalGroupID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalGroupID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalHeadLocation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalHeadLocation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalHeadLocationList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalHeadLocationList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalReqScheme.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalReqScheme.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalRequest.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalRequest.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalRequestList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalRequestList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalRequestMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalRequestMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalRequestPackage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalRequestPackage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalRequesterInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalRequesterInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalStatusList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalStatusList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalStatusMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalStatusMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalStatusPackage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalStatusPackage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignalStatusPackageList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignalStatusPackageList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SignedValue.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SignedValue.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SirenInUse.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SirenInUse.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SituationalContainer.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SituationalContainer.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SizeValue.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SizeValue.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SizeValueConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SizeValueConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SmallNumbers.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SmallNumbers.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SnapShot.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SnapShot.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Snapshot.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Snapshot.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SnapshotDistance.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SnapshotDistance.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SnapshotTime.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SnapshotTime.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Snow.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Snow.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SnowType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SnowType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SoundLevel.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SoundLevel.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SpecialCharges.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SpecialCharges.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SpecialEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SpecialEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SpecialVehicleExtensions.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SpecialVehicleExtensions.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Speed.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Speed.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedAdvice.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedAdvice.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedLimit.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedLimit.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedLimitList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedLimitList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedLimitType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedLimitType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedProfile.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedProfile.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurement.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurement.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurementList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurementList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedandHeadingandThrottleConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SpeedandHeadingandThrottleConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SportingEvents.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SportingEvents.h create mode 100644 src/tmx/Asn_J2735/src/r2024/StabilityControlStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/StabilityControlStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/StatesAndTerritories.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/StatesAndTerritories.h create mode 100644 src/tmx/Asn_J2735/src/r2024/StationID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/StationID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/StationType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/StationType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/StdDev.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/StdDev.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SteeringAxleLubePressure.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SteeringAxleLubePressure.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SteeringAxleTemperature.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SteeringAxleTemperature.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SteeringWheelAngle.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SteeringWheelAngle.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleRateOfChange.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleRateOfChange.h create mode 100644 src/tmx/Asn_J2735/src/r2024/StreetSuffixes.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/StreetSuffixes.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Structures.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Structures.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SubManeuver.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SubManeuver.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SubManeuverList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SubManeuverList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SubRegionChargingInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SubRegionChargingInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SuggestionAdvice.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SuggestionAdvice.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SummerTime.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SummerTime.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SunSensor.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SunSensor.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SupplementalVehicleExtensions.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SupplementalVehicleExtensions.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SurfaceTempMeasurementStdDev.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SurfaceTempMeasurementStdDev.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SurroundingVehicleInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SurroundingVehicleInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/SystemInformation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/SystemInformation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TRRLength.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TRRLength.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TRRLocation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TRRLocation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TRRLocationType1.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TRRLocationType1.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TRRLocationType2.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TRRLocationType2.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TRRLocationType3.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TRRLocationType3.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TRRType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TRRType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TargetRoadResource.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TargetRoadResource.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TariffClassDescription.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TariffClassDescription.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TariffClassId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TariffClassId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Temperature.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Temperature.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TemperatureMeasurementStdDev.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TemperatureMeasurementStdDev.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TemporaryID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TemporaryID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TemporaryIDList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TemporaryIDList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TemporaryIDPointer.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TemporaryIDPointer.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TenthSecond.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TenthSecond.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TermDistance.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TermDistance.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TermTime.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TermTime.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage00.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage00.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage01.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage01.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage02.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage02.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage03.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage03.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage04.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage04.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage05.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage05.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage06.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage06.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage07.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage07.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage08.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage08.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage09.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage09.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage10.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage10.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage11.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage11.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage12.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage12.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage13.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage13.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage14.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage14.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage15.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TestMessage15.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ThrottleConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ThrottleConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ThrottlePosition.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ThrottlePosition.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Time.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Time.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TimeChangeDetails.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TimeChangeDetails.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TimeChargesTable.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TimeChargesTable.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TimeClassId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TimeClassId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TimeCompact.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TimeCompact.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TimeConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TimeConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TimeConstant.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TimeConstant.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TimeInSecond-B16.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TimeInSecond-B16.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TimeInSecond-B8.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TimeInSecond-B8.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TimeIntervalConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TimeIntervalConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TimeOffset.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TimeOffset.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TimePeriod.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TimePeriod.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TimeRemaining.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TimeRemaining.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TimeUnit.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TimeUnit.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TireData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TireData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TireDataList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TireDataList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TireLeakageRate.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TireLeakageRate.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TireLocation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TireLocation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TirePressure.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TirePressure.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TirePressureThresholdDetection.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TirePressureThresholdDetection.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TireTemp.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TireTemp.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Tolerance.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Tolerance.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TollAdvertisementInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TollAdvertisementInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TollAdvertisementMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TollAdvertisementMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TollChargerInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TollChargerInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TollChargesTable.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TollChargesTable.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TollPointID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TollPointID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TollPointMap.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TollPointMap.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TollServiceProviderData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TollServiceProviderData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TollUsageAckMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TollUsageAckMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TollUsageMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TollUsageMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TollUserData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TollUserData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Torque.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Torque.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TotalMass.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TotalMass.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TotalWeightCharges.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TotalWeightCharges.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TractionControlStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TractionControlStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficConditions.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficConditions.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightControllerStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightControllerStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightDirectionCode.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightDirectionCode.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightIntervalType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightIntervalType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightOperationStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightOperationStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightStatusList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightStatusList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightStatusMessage.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightStatusMessage.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightingStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficLightingStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficSignalPhaseAndTiming.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrafficSignalPhaseAndTiming.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerCharacteristics.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerCharacteristics.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerDetails.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerDetails.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerHistoryPoint.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerHistoryPoint.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerHistoryPointList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerHistoryPointList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerMass.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerMass.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerUnitDescJ2945Slash1B.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerUnitDescJ2945Slash1B.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerUnitDescription.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerUnitDescription.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerUnitDescriptionList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerUnitDescriptionList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerWeight.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrailerWeight.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TrailersJ2945Slash1B.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TrailersJ2945Slash1B.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TransitMode.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TransitMode.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TransitOperations.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TransitOperations.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TransitStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TransitStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TransitVehicleOccupancy.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TransitVehicleOccupancy.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TransitVehicleStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TransitVehicleStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TransmissionAndSpeed.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TransmissionAndSpeed.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TransmissionState.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TransmissionState.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TravelerDataFrame.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TravelerDataFrame.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TravelerDataFrameList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TravelerDataFrameList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TravelerDataFrameNewPartIIIContent.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TravelerDataFrameNewPartIIIContent.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TravelerGroupAffected.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TravelerGroupAffected.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TravelerInfoType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TravelerInfoType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TravelerInformation.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TravelerInformation.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TripInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TripInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TumAck.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TumAck.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TumAckHash.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TumAckHash.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TumData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TumData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TumHash.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TumHash.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TumInstructions.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TumInstructions.h create mode 100644 src/tmx/Asn_J2735/src/r2024/TyreConfiguration.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/TyreConfiguration.h create mode 100644 src/tmx/Asn_J2735/src/r2024/URL-Base.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/URL-Base.h create mode 100644 src/tmx/Asn_J2735/src/r2024/URL-Link.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/URL-Link.h create mode 100644 src/tmx/Asn_J2735/src/r2024/URL-Short.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/URL-Short.h create mode 100644 src/tmx/Asn_J2735/src/r2024/UniqueMSGID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/UniqueMSGID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Units.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Units.h create mode 100644 src/tmx/Asn_J2735/src/r2024/UnusualDriving.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/UnusualDriving.h create mode 100644 src/tmx/Asn_J2735/src/r2024/UsageReport.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/UsageReport.h create mode 100644 src/tmx/Asn_J2735/src/r2024/UserClassId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/UserClassId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/UserData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/UserData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/UserFeeInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/UserFeeInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/UserId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/UserId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/UserSizeAndBehaviour.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/UserSizeAndBehaviour.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VINstring.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VINstring.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ValidManeuvers.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ValidManeuvers.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ValidRegion.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ValidRegion.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ValidityOfContract.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ValidityOfContract.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VariationStdDev.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VariationStdDev.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehTypeCharges.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehTypeCharges.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehTypeChargesTable.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehTypeChargesTable.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleAuthenticator.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleAuthenticator.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleAxles.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleAxles.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleAxlesAndWeightInfo.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleAxlesAndWeightInfo.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleAxlesNumber.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleAxlesNumber.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleClass.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleClass.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleClassification.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleClassification.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleCurrentMaxTrainWeight.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleCurrentMaxTrainWeight.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleDescription.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleDescription.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleDimensions.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleDimensions.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleEventFlags.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleEventFlags.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleHeight.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleHeight.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleID.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleID.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleId.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleId.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleIdent.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleIdent.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleLength.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleLength.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleMass.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleMass.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleReport.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleReport.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleSafetyExtensions.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleSafetyExtensions.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleSize.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleSize.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleSizeConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleSizeConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleSpecificCharacteristics.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleSpecificCharacteristics.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleStatusDeviceTypeTag.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleStatusDeviceTypeTag.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleStatusRequest.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleStatusRequest.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleStatusRequestList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleStatusRequestList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleToLanePosition.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleToLanePosition.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleToLanePositionList.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleToLanePositionList.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleTotalDistance.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleTotalDistance.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleType.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleType.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleTypes.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleTypes.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleWeightLaden.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleWeightLaden.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleWeightLimits.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleWeightLimits.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleWidth.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VehicleWidth.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Velocity.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Velocity.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VertOffset-B07.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VertOffset-B07.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VertOffset-B08.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VertOffset-B08.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VertOffset-B09.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VertOffset-B09.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VertOffset-B10.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VertOffset-B10.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VertOffset-B11.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VertOffset-B11.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VertOffset-B12.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VertOffset-B12.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VerticalAcceleration.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VerticalAcceleration.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VerticalAccelerationThreshold.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VerticalAccelerationThreshold.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VerticalOffset.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VerticalOffset.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VisibilityAndAirQuality.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VisibilityAndAirQuality.h create mode 100644 src/tmx/Asn_J2735/src/r2024/VisualLink.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/VisualLink.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WDMSFleetData.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WDMSFleetData.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WaitOnStopline.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WaitOnStopline.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WarningAdvice.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WarningAdvice.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WeatherConditions.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WeatherConditions.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WeatherProbe.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WeatherProbe.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WeatherReport.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WeatherReport.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Weekday.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Weekday.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WeightCharges.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WeightCharges.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WeightChargesTable.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WeightChargesTable.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WheelEndElectFault.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WheelEndElectFault.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WheelSensorStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WheelSensorStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Winds.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Winds.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WinterDrivingIndex.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WinterDrivingIndex.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WinterDrivingRestrictions.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WinterDrivingRestrictions.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WiperRate.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WiperRate.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WiperSet.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WiperSet.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WiperStatus.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WiperStatus.h create mode 100644 src/tmx/Asn_J2735/src/r2024/WorkZone.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/WorkZone.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Yaw.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Yaw.h create mode 100644 src/tmx/Asn_J2735/src/r2024/YawDetected.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/YawDetected.h create mode 100644 src/tmx/Asn_J2735/src/r2024/YawRate.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/YawRate.h create mode 100644 src/tmx/Asn_J2735/src/r2024/YawRateConfidence.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/YawRateConfidence.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Year.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Year.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ZoneLength.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ZoneLength.h create mode 100644 src/tmx/Asn_J2735/src/r2024/Zoom.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/Zoom.h create mode 100644 src/tmx/Asn_J2735/src/r2024/aper_decoder.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/aper_decoder.h create mode 100644 src/tmx/Asn_J2735/src/r2024/aper_encoder.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/aper_encoder.h create mode 100644 src/tmx/Asn_J2735/src/r2024/aper_opentype.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/aper_opentype.h create mode 100644 src/tmx/Asn_J2735/src/r2024/aper_support.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/aper_support.h create mode 100644 src/tmx/Asn_J2735/src/r2024/asn_SEQUENCE_OF.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/asn_SEQUENCE_OF.h create mode 100644 src/tmx/Asn_J2735/src/r2024/asn_SET_OF.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/asn_SET_OF.h create mode 100644 src/tmx/Asn_J2735/src/r2024/asn_application.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/asn_application.h create mode 100644 src/tmx/Asn_J2735/src/r2024/asn_bit_data.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/asn_bit_data.h delete mode 100644 src/tmx/Asn_J2735/src/r2024/asn_codecs.h create mode 100644 src/tmx/Asn_J2735/src/r2024/asn_codecs_prim.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/asn_codecs_prim.h create mode 100644 src/tmx/Asn_J2735/src/r2024/asn_codecs_prim_ber.c create mode 100644 src/tmx/Asn_J2735/src/r2024/asn_codecs_prim_xer.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/asn_config.h delete mode 100644 src/tmx/Asn_J2735/src/r2024/asn_constant.h create mode 100644 src/tmx/Asn_J2735/src/r2024/asn_internal.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/asn_internal.h delete mode 100644 src/tmx/Asn_J2735/src/r2024/asn_ioc.h create mode 100644 src/tmx/Asn_J2735/src/r2024/asn_random_fill.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/asn_random_fill.h delete mode 100644 src/tmx/Asn_J2735/src/r2024/asn_system.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ber_decoder.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ber_decoder.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ber_tlv_length.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ber_tlv_length.h create mode 100644 src/tmx/Asn_J2735/src/r2024/ber_tlv_tag.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/ber_tlv_tag.h create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_CHOICE.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/constr_CHOICE.h create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_CHOICE_aper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_CHOICE_ber.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_CHOICE_oer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_CHOICE_print.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_CHOICE_rfill.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_CHOICE_uper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_CHOICE_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE.h create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF.h create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_aper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_ber.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_uper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_aper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_ber.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_oer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_print.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_rfill.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_uper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SET_OF.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SET_OF.h create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SET_OF_aper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SET_OF_ber.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SET_OF_oer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SET_OF_print.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SET_OF_rfill.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SET_OF_uper.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_SET_OF_xer.c create mode 100644 src/tmx/Asn_J2735/src/r2024/constr_TYPE.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/constr_TYPE.h create mode 100644 src/tmx/Asn_J2735/src/r2024/constraints.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/constraints.h create mode 100644 src/tmx/Asn_J2735/src/r2024/der_encoder.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/der_encoder.h create mode 100644 src/tmx/Asn_J2735/src/r2024/oer_decoder.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/oer_decoder.h create mode 100644 src/tmx/Asn_J2735/src/r2024/oer_encoder.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/oer_encoder.h create mode 100644 src/tmx/Asn_J2735/src/r2024/oer_support.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/oer_support.h create mode 100644 src/tmx/Asn_J2735/src/r2024/per_decoder.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/per_decoder.h create mode 100644 src/tmx/Asn_J2735/src/r2024/per_encoder.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/per_encoder.h create mode 100644 src/tmx/Asn_J2735/src/r2024/per_opentype.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/per_opentype.h create mode 100644 src/tmx/Asn_J2735/src/r2024/per_support.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/per_support.h create mode 100644 src/tmx/Asn_J2735/src/r2024/uper_decoder.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/uper_decoder.h create mode 100644 src/tmx/Asn_J2735/src/r2024/uper_encoder.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/uper_encoder.h create mode 100644 src/tmx/Asn_J2735/src/r2024/uper_opentype.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/uper_opentype.h create mode 100644 src/tmx/Asn_J2735/src/r2024/uper_support.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/uper_support.h create mode 100644 src/tmx/Asn_J2735/src/r2024/xer_decoder.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/xer_decoder.h create mode 100644 src/tmx/Asn_J2735/src/r2024/xer_encoder.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/xer_encoder.h create mode 100644 src/tmx/Asn_J2735/src/r2024/xer_support.c delete mode 100644 src/tmx/Asn_J2735/src/r2024/xer_support.h diff --git a/src/tmx/Asn_J2735/src/r2024/ANY.c b/src/tmx/Asn_J2735/src/r2024/ANY.c new file mode 100644 index 000000000..bf988dbda --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ANY.c @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs = { + sizeof(ANY_t), + offsetof(ANY_t, _asn_ctx), + ASN_OSUBV_ANY +}; +asn_TYPE_operation_t asn_OP_ANY = { + OCTET_STRING_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + OCTET_STRING_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + OCTET_STRING_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + OCTET_STRING_decode_ber, + OCTET_STRING_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + OCTET_STRING_decode_xer_hex, + ANY_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + ANY_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, + 0, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + ANY_decode_uper, + ANY_encode_uper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + ANY_decode_aper, + ANY_encode_aper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ + 0, /* Random fill is not defined for ANY type */ + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_ANY = { + "ANY", + "ANY", + &asn_OP_ANY, + 0, 0, 0, 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + asn_generic_no_constraint + }, /* No constraints */ + 0, 0, /* No members */ + &asn_SPC_ANY_specs, +}; diff --git a/src/tmx/Asn_J2735/src/r2024/ANY.h b/src/tmx/Asn_J2735/src/r2024/ANY.h deleted file mode 100644 index 871ed5ed3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ANY.h +++ /dev/null @@ -1,84 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_TYPE_ANY_H -#define ASN_TYPE_ANY_H - -#include /* Implemented via OCTET STRING type */ - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct ANY { - uint8_t *buf; /* BER-encoded ANY contents */ - int size; /* Size of the above buffer */ - - asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */ -} ANY_t; - -extern asn_TYPE_descriptor_t asn_DEF_ANY; -extern asn_TYPE_operation_t asn_OP_ANY; -extern asn_OCTET_STRING_specifics_t asn_SPC_ANY_specs; - -#define ANY_free OCTET_STRING_free - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -#define ANY_print OCTET_STRING_print -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -#define ANY_compare OCTET_STRING_compare - -#define ANY_constraint asn_generic_no_constraint - -#if !defined(ASN_DISABLE_BER_SUPPORT) -#define ANY_decode_ber OCTET_STRING_decode_ber -#define ANY_encode_der OCTET_STRING_encode_der -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -#define ANY_decode_xer OCTET_STRING_decode_xer_hex -xer_type_encoder_f ANY_encode_xer; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f ANY_encode_jer; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -per_type_decoder_f ANY_decode_uper; -per_type_encoder_f ANY_encode_uper; -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -per_type_decoder_f ANY_decode_aper; -per_type_encoder_f ANY_encode_aper; -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -/****************************** - * Handy conversion routines. * - ******************************/ - -/* Convert another ASN.1 type into the ANY. This implies DER encoding. */ -int ANY_fromType(ANY_t *, asn_TYPE_descriptor_t *td, void *struct_ptr); -ANY_t *ANY_new_fromType(asn_TYPE_descriptor_t *td, void *struct_ptr); -#if !defined(ASN_DISABLE_APER_SUPPORT) -int ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr); -ANY_t *ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr); -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -/* Convert the contents of the ANY type into the specified type. */ -int ANY_to_type(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr); -#if !defined(ASN_DISABLE_APER_SUPPORT) -int ANY_to_type_aper(ANY_t *, asn_TYPE_descriptor_t *td, void **struct_ptr); -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#define ANY_fromBuf(s, buf, size) OCTET_STRING_fromBuf((s), (buf), (size)) -#define ANY_new_fromBuf(buf, size) OCTET_STRING_new_fromBuf( \ - &asn_DEF_ANY, (buf), (size)) - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_TYPE_ANY_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/ANY_aper.c b/src/tmx/Asn_J2735/src/r2024/ANY_aper.c new file mode 100644 index 000000000..91d727769 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ANY_aper.c @@ -0,0 +1,190 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +#undef RETURN +#define RETURN(_code) \ + do { \ + asn_dec_rval_t tmprval; \ + tmprval.code = _code; \ + tmprval.consumed = consumed_myself; \ + return tmprval; \ + } while(0) + +int +ANY_fromType_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr) { + uint8_t *buffer = NULL; + ssize_t erval; + + if(!st || !td) { + errno = EINVAL; + return -1; + } + + if(!sptr) { + if(st->buf) FREEMEM(st->buf); + st->size = 0; + return 0; + } + + erval = aper_encode_to_new_buffer(td, td->encoding_constraints.per_constraints, sptr, (void**)&buffer); + + if(erval == -1) { + if(buffer) FREEMEM(buffer); + return -1; + } + assert((size_t)erval > 0); + + if(st->buf) FREEMEM(st->buf); + st->buf = buffer; + st->size = erval; + + return 0; +} + +ANY_t * +ANY_new_fromType_aper(asn_TYPE_descriptor_t *td, void *sptr) { + ANY_t tmp; + ANY_t *st; + + if(!td || !sptr) { + errno = EINVAL; + return 0; + } + + memset(&tmp, 0, sizeof(tmp)); + + if(ANY_fromType_aper(&tmp, td, sptr)) return 0; + + st = (ANY_t *)CALLOC(1, sizeof(ANY_t)); + if(st) { + *st = tmp; + return st; + } else { + FREEMEM(tmp.buf); + return 0; + } +} + +int +ANY_to_type_aper(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr) { + asn_dec_rval_t rval; + void *newst = 0; + + if(!st || !td || !struct_ptr) { + errno = EINVAL; + return -1; + } + + if(st->buf == 0) { + /* Nothing to convert, make it empty. */ + *struct_ptr = (void *)0; + return 0; + } + + rval = aper_decode(0, td, (void **)&newst, st->buf, st->size, 0, 0); + if(rval.code == RC_OK) { + *struct_ptr = newst; + return 0; + } else { + /* Remove possibly partially decoded data. */ + ASN_STRUCT_FREE(*td, newst); + return -1; + } +} + +asn_dec_rval_t +ANY_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_OCTET_STRING_specifics_t *specs = + td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_ANY_specs; + size_t consumed_myself = 0; + int repeat; + ANY_t *st = (ANY_t *)*sptr; + + (void)opt_codec_ctx; + (void)constraints; + + /* + * Allocate the structure. + */ + if(!st) { + st = (ANY_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) RETURN(RC_FAIL); + } + + ASN_DEBUG("APER Decoding ANY type"); + + st->size = 0; + do { + ssize_t raw_len; + ssize_t len_bytes; + ssize_t len_bits; + void *p; + int ret; + + /* Get the PER length */ + raw_len = aper_get_length(pd, -1, -1, 0, &repeat); + if(raw_len < 0) RETURN(RC_WMORE); + if(raw_len == 0 && st->buf) break; + + ASN_DEBUG("Got PER length len %" ASN_PRI_SIZE ", %s (%s)", raw_len, + repeat ? "repeat" : "once", td->name); + len_bytes = raw_len; + len_bits = len_bytes * 8; + + p = REALLOC(st->buf, st->size + len_bytes + 1); + if(!p) RETURN(RC_FAIL); + st->buf = (uint8_t *)p; + + ret = per_get_many_bits(pd, &st->buf[st->size], 0, len_bits); + if(ret < 0) RETURN(RC_WMORE); + consumed_myself += len_bits; + st->size += len_bytes; + } while(repeat); + st->buf[st->size] = 0; /* nul-terminate */ + + RETURN(RC_OK); +} + +asn_enc_rval_t +ANY_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const ANY_t *st = (const ANY_t *)sptr; + asn_enc_rval_t er = {0, 0, 0}; + const uint8_t *buf; + size_t size; + int ret; + + (void)constraints; + + if(!st || (!st->buf && st->size)) ASN__ENCODE_FAILED; + + buf = st->buf; + size = st->size; + do { + int need_eom = 0; + ssize_t may_save = aper_put_length(po, -1, -1, size, &need_eom); + if(may_save < 0) ASN__ENCODE_FAILED; + + ret = per_put_many_bits(po, buf, may_save * 8); + if(ret) ASN__ENCODE_FAILED; + + buf += may_save; + size -= may_save; + assert(!(may_save & 0x07) || !size); + if(need_eom && aper_put_length(po, -1, -1, 0, NULL)) + ASN__ENCODE_FAILED; /* End of Message length */ + } while(size); + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/ANY_ber.c b/src/tmx/Asn_J2735/src/r2024/ANY_ber.c new file mode 100644 index 000000000..2ebe45bd7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ANY_ber.c @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +struct _callback_arg { + uint8_t *buffer; + size_t offset; + size_t size; +}; + +static int ANY__consume_bytes(const void *buffer, size_t size, void *key) { + struct _callback_arg *arg = (struct _callback_arg *)key; + + if((arg->offset + size) >= arg->size) { + size_t nsize = (arg->size ? arg->size << 2 : 16) + size; + void *p = REALLOC(arg->buffer, nsize); + if(!p) return -1; + arg->buffer = (uint8_t *)p; + arg->size = nsize; + } + + memcpy(arg->buffer + arg->offset, buffer, size); + arg->offset += size; + assert(arg->offset < arg->size); + + return 0; +} + +int +ANY_fromType(ANY_t *st, asn_TYPE_descriptor_t *td, void *sptr) { + struct _callback_arg arg; + asn_enc_rval_t erval = {0,0,0}; + + if(!st || !td) { + errno = EINVAL; + return -1; + } + + if(!sptr) { + if(st->buf) FREEMEM(st->buf); + st->size = 0; + return 0; + } + + arg.offset = arg.size = 0; + arg.buffer = 0; + + erval = der_encode(td, sptr, ANY__consume_bytes, &arg); + if(erval.encoded == -1) { + if(arg.buffer) FREEMEM(arg.buffer); + return -1; + } + assert((size_t)erval.encoded == arg.offset); + + if(st->buf) FREEMEM(st->buf); + st->buf = arg.buffer; + st->size = arg.offset; + + return 0; +} + +ANY_t * +ANY_new_fromType(asn_TYPE_descriptor_t *td, void *sptr) { + ANY_t tmp; + ANY_t *st; + + if(!td || !sptr) { + errno = EINVAL; + return 0; + } + + memset(&tmp, 0, sizeof(tmp)); + + if(ANY_fromType(&tmp, td, sptr)) return 0; + + st = (ANY_t *)CALLOC(1, sizeof(ANY_t)); + if(st) { + *st = tmp; + return st; + } else { + FREEMEM(tmp.buf); + return 0; + } +} + +int +ANY_to_type(ANY_t *st, asn_TYPE_descriptor_t *td, void **struct_ptr) { + asn_dec_rval_t rval; + void *newst = 0; + + if(!st || !td || !struct_ptr) { + errno = EINVAL; + return -1; + } + + if(st->buf == 0) { + /* Nothing to convert, make it empty. */ + *struct_ptr = (void *)0; + return 0; + } + + rval = ber_decode(0, td, (void **)&newst, st->buf, st->size); + if(rval.code == RC_OK) { + *struct_ptr = newst; + return 0; + } else { + /* Remove possibly partially decoded data. */ + ASN_STRUCT_FREE(*td, newst); + return -1; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/ANY_uper.c b/src/tmx/Asn_J2735/src/r2024/ANY_uper.c new file mode 100644 index 000000000..65f1519bb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ANY_uper.c @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +#undef RETURN +#define RETURN(_code) \ + do { \ + asn_dec_rval_t tmprval; \ + tmprval.code = _code; \ + tmprval.consumed = consumed_myself; \ + return tmprval; \ + } while(0) + +asn_dec_rval_t +ANY_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_OCTET_STRING_specifics_t *specs = + td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_ANY_specs; + size_t consumed_myself = 0; + int repeat; + ANY_t *st = (ANY_t *)*sptr; + + (void)opt_codec_ctx; + (void)constraints; + + /* + * Allocate the structure. + */ + if(!st) { + st = (ANY_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) RETURN(RC_FAIL); + } + + ASN_DEBUG("UPER Decoding ANY type"); + + st->size = 0; + do { + ssize_t raw_len; + ssize_t len_bytes; + ssize_t len_bits; + void *p; + int ret; + + /* Get the PER length */ + raw_len = uper_get_length(pd, -1, 0, &repeat); + if(raw_len < 0) RETURN(RC_WMORE); + if(raw_len == 0 && st->buf) break; + + ASN_DEBUG("Got PER length len %" ASN_PRI_SIZE ", %s (%s)", raw_len, + repeat ? "repeat" : "once", td->name); + len_bytes = raw_len; + len_bits = len_bytes * 8; + + p = REALLOC(st->buf, st->size + len_bytes + 1); + if(!p) RETURN(RC_FAIL); + st->buf = (uint8_t *)p; + + ret = per_get_many_bits(pd, &st->buf[st->size], 0, len_bits); + if(ret < 0) RETURN(RC_WMORE); + consumed_myself += len_bits; + st->size += len_bytes; + } while(repeat); + st->buf[st->size] = 0; /* nul-terminate */ + + RETURN(RC_OK); +} + +asn_enc_rval_t +ANY_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const ANY_t *st = (const ANY_t *)sptr; + asn_enc_rval_t er = {0, 0, 0}; + const uint8_t *buf; + size_t size; + int ret; + + (void)constraints; + + if(!st || (!st->buf && st->size)) ASN__ENCODE_FAILED; + + buf = st->buf; + size = st->size; + do { + int need_eom = 0; + ssize_t may_save = uper_put_length(po, size, &need_eom); + if(may_save < 0) ASN__ENCODE_FAILED; + + ret = per_put_many_bits(po, buf, may_save * 8); + if(ret) ASN__ENCODE_FAILED; + + buf += may_save; + size -= may_save; + assert(!(may_save & 0x07) || !size); + if(need_eom && uper_put_length(po, 0, 0)) + ASN__ENCODE_FAILED; /* End of Message length */ + } while(size); + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/ANY_xer.c b/src/tmx/Asn_J2735/src/r2024/ANY_xer.c new file mode 100644 index 000000000..112c21328 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ANY_xer.c @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_enc_rval_t +ANY_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, + void *app_key) { + if(flags & XER_F_CANONICAL) { + /* + * Canonical XER-encoding of ANY type is not supported. + */ + ASN__ENCODE_FAILED; + } + + /* Dump as binary */ + return OCTET_STRING_encode_xer(td, sptr, ilevel, flags, cb, app_key); +} diff --git a/src/tmx/Asn_J2735/src/r2024/AbsolutePosition2d.c b/src/tmx/Asn_J2735/src/r2024/AbsolutePosition2d.c new file mode 100644 index 000000000..d811f546d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AbsolutePosition2d.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AbsolutePosition2d.h" + +static asn_TYPE_member_t asn_MBR_AbsolutePosition2d_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AbsolutePosition2d, gnssLon), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EfcDataDictionary_Longitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "gnssLon" + }, + { ATF_NOFLAGS, 0, offsetof(struct AbsolutePosition2d, gnssLat), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EfcDataDictionary_Latitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "gnssLat" + }, +}; +static const ber_tlv_tag_t asn_DEF_AbsolutePosition2d_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AbsolutePosition2d_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* gnssLon */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* gnssLat */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_AbsolutePosition2d_specs_1 = { + sizeof(struct AbsolutePosition2d), + offsetof(struct AbsolutePosition2d, _asn_ctx), + asn_MAP_AbsolutePosition2d_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AbsolutePosition2d = { + "AbsolutePosition2d", + "AbsolutePosition2d", + &asn_OP_SEQUENCE, + asn_DEF_AbsolutePosition2d_tags_1, + sizeof(asn_DEF_AbsolutePosition2d_tags_1) + /sizeof(asn_DEF_AbsolutePosition2d_tags_1[0]), /* 1 */ + asn_DEF_AbsolutePosition2d_tags_1, /* Same as above */ + sizeof(asn_DEF_AbsolutePosition2d_tags_1) + /sizeof(asn_DEF_AbsolutePosition2d_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AbsolutePosition2d_1, + 2, /* Elements count */ + &asn_SPC_AbsolutePosition2d_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AbsolutePosition2d.h b/src/tmx/Asn_J2735/src/r2024/AbsolutePosition2d.h deleted file mode 100644 index 4d20747ae..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AbsolutePosition2d.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AbsolutePosition2d_H_ -#define _AbsolutePosition2d_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "EfcDataDictionary_Longitude.h" -#include "EfcDataDictionary_Latitude.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AbsolutePosition2d */ -typedef struct AbsolutePosition2d { - EfcDataDictionary_Longitude_t gnssLon; - EfcDataDictionary_Latitude_t gnssLat; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AbsolutePosition2d_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AbsolutePosition2d; - -#ifdef __cplusplus -} -#endif - -#endif /* _AbsolutePosition2d_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AbsolutePosition3d.c b/src/tmx/Asn_J2735/src/r2024/AbsolutePosition3d.c new file mode 100644 index 000000000..940b9e8f2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AbsolutePosition3d.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AbsolutePosition3d.h" + +asn_TYPE_member_t asn_MBR_AbsolutePosition3d_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AbsolutePosition3d, longitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EfcDataDictionary_Longitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct AbsolutePosition3d, latitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EfcDataDictionary_Latitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "latitude" + }, + { ATF_POINTER, 1, offsetof(struct AbsolutePosition3d, altitude), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EfcDataDictionary_Altitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "altitude" + }, +}; +static const int asn_MAP_AbsolutePosition3d_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_AbsolutePosition3d_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AbsolutePosition3d_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* longitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* latitude */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* altitude */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AbsolutePosition3d_specs_1 = { + sizeof(struct AbsolutePosition3d), + offsetof(struct AbsolutePosition3d, _asn_ctx), + asn_MAP_AbsolutePosition3d_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_AbsolutePosition3d_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AbsolutePosition3d = { + "AbsolutePosition3d", + "AbsolutePosition3d", + &asn_OP_SEQUENCE, + asn_DEF_AbsolutePosition3d_tags_1, + sizeof(asn_DEF_AbsolutePosition3d_tags_1) + /sizeof(asn_DEF_AbsolutePosition3d_tags_1[0]), /* 1 */ + asn_DEF_AbsolutePosition3d_tags_1, /* Same as above */ + sizeof(asn_DEF_AbsolutePosition3d_tags_1) + /sizeof(asn_DEF_AbsolutePosition3d_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AbsolutePosition3d_1, + 3, /* Elements count */ + &asn_SPC_AbsolutePosition3d_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AbsolutePosition3d.h b/src/tmx/Asn_J2735/src/r2024/AbsolutePosition3d.h deleted file mode 100644 index 01e93042e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AbsolutePosition3d.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AbsolutePosition3d_H_ -#define _AbsolutePosition3d_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "EfcDataDictionary_Longitude.h" -#include "EfcDataDictionary_Latitude.h" -#include "EfcDataDictionary_Altitude.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AbsolutePosition3d */ -typedef struct AbsolutePosition3d { - EfcDataDictionary_Longitude_t longitude; - EfcDataDictionary_Latitude_t latitude; - EfcDataDictionary_Altitude_t *altitude; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AbsolutePosition3d_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AbsolutePosition3d; -extern asn_SEQUENCE_specifics_t asn_SPC_AbsolutePosition3d_specs_1; -extern asn_TYPE_member_t asn_MBR_AbsolutePosition3d_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AbsolutePosition3d_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AccelSteerYawRateConfidence.c b/src/tmx/Asn_J2735/src/r2024/AccelSteerYawRateConfidence.c new file mode 100644 index 000000000..5ea476022 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AccelSteerYawRateConfidence.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AccelSteerYawRateConfidence.h" + +asn_TYPE_member_t asn_MBR_AccelSteerYawRateConfidence_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AccelSteerYawRateConfidence, yawRate), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_YawRateConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yawRate" + }, + { ATF_NOFLAGS, 0, offsetof(struct AccelSteerYawRateConfidence, acceleration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AccelerationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "acceleration" + }, + { ATF_NOFLAGS, 0, offsetof(struct AccelSteerYawRateConfidence, steeringWheelAngle), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SteeringWheelAngleConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "steeringWheelAngle" + }, +}; +static const ber_tlv_tag_t asn_DEF_AccelSteerYawRateConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AccelSteerYawRateConfidence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* yawRate */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* acceleration */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* steeringWheelAngle */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AccelSteerYawRateConfidence_specs_1 = { + sizeof(struct AccelSteerYawRateConfidence), + offsetof(struct AccelSteerYawRateConfidence, _asn_ctx), + asn_MAP_AccelSteerYawRateConfidence_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AccelSteerYawRateConfidence = { + "AccelSteerYawRateConfidence", + "AccelSteerYawRateConfidence", + &asn_OP_SEQUENCE, + asn_DEF_AccelSteerYawRateConfidence_tags_1, + sizeof(asn_DEF_AccelSteerYawRateConfidence_tags_1) + /sizeof(asn_DEF_AccelSteerYawRateConfidence_tags_1[0]), /* 1 */ + asn_DEF_AccelSteerYawRateConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_AccelSteerYawRateConfidence_tags_1) + /sizeof(asn_DEF_AccelSteerYawRateConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AccelSteerYawRateConfidence_1, + 3, /* Elements count */ + &asn_SPC_AccelSteerYawRateConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AccelSteerYawRateConfidence.h b/src/tmx/Asn_J2735/src/r2024/AccelSteerYawRateConfidence.h deleted file mode 100644 index 740348a7b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AccelSteerYawRateConfidence.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AccelSteerYawRateConfidence_H_ -#define _AccelSteerYawRateConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "YawRateConfidence.h" -#include "AccelerationConfidence.h" -#include "SteeringWheelAngleConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AccelSteerYawRateConfidence */ -typedef struct AccelSteerYawRateConfidence { - YawRateConfidence_t yawRate; - AccelerationConfidence_t acceleration; - SteeringWheelAngleConfidence_t steeringWheelAngle; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AccelSteerYawRateConfidence_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AccelSteerYawRateConfidence; -extern asn_SEQUENCE_specifics_t asn_SPC_AccelSteerYawRateConfidence_specs_1; -extern asn_TYPE_member_t asn_MBR_AccelSteerYawRateConfidence_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AccelSteerYawRateConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AccelTimeConstant.c b/src/tmx/Asn_J2735/src/r2024/AccelTimeConstant.c new file mode 100644 index 000000000..ed3fb0bd6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AccelTimeConstant.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AccelTimeConstant.h" + +asn_TYPE_member_t asn_MBR_AccelTimeConstant_1[] = { + { ATF_POINTER, 2, offsetof(struct AccelTimeConstant, accelTimeConst), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeConstant, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accelTimeConst" + }, + { ATF_POINTER, 1, offsetof(struct AccelTimeConstant, decelTimeConst), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeConstant, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "decelTimeConst" + }, +}; +static const int asn_MAP_AccelTimeConstant_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_AccelTimeConstant_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AccelTimeConstant_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* accelTimeConst */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* decelTimeConst */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AccelTimeConstant_specs_1 = { + sizeof(struct AccelTimeConstant), + offsetof(struct AccelTimeConstant, _asn_ctx), + asn_MAP_AccelTimeConstant_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_AccelTimeConstant_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AccelTimeConstant = { + "AccelTimeConstant", + "AccelTimeConstant", + &asn_OP_SEQUENCE, + asn_DEF_AccelTimeConstant_tags_1, + sizeof(asn_DEF_AccelTimeConstant_tags_1) + /sizeof(asn_DEF_AccelTimeConstant_tags_1[0]), /* 1 */ + asn_DEF_AccelTimeConstant_tags_1, /* Same as above */ + sizeof(asn_DEF_AccelTimeConstant_tags_1) + /sizeof(asn_DEF_AccelTimeConstant_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AccelTimeConstant_1, + 2, /* Elements count */ + &asn_SPC_AccelTimeConstant_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AccelTimeConstant.h b/src/tmx/Asn_J2735/src/r2024/AccelTimeConstant.h deleted file mode 100644 index 91ec77c4d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AccelTimeConstant.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AccelTimeConstant_H_ -#define _AccelTimeConstant_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TimeConstant.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AccelTimeConstant */ -typedef struct AccelTimeConstant { - TimeConstant_t *accelTimeConst; /* OPTIONAL */ - TimeConstant_t *decelTimeConst; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AccelTimeConstant_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AccelTimeConstant; -extern asn_SEQUENCE_specifics_t asn_SPC_AccelTimeConstant_specs_1; -extern asn_TYPE_member_t asn_MBR_AccelTimeConstant_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AccelTimeConstant_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Acceleration.c b/src/tmx/Asn_J2735/src/r2024/Acceleration.c new file mode 100644 index 000000000..381d281c6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Acceleration.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Acceleration.h" + +int +Acceleration_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -2000L && value <= 2001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Acceleration_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-2000..2001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Acceleration_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, -2000, 2001 } /* (-2000..2001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Acceleration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Acceleration = { + "Acceleration", + "Acceleration", + &asn_OP_NativeInteger, + asn_DEF_Acceleration_tags_1, + sizeof(asn_DEF_Acceleration_tags_1) + /sizeof(asn_DEF_Acceleration_tags_1[0]), /* 1 */ + asn_DEF_Acceleration_tags_1, /* Same as above */ + sizeof(asn_DEF_Acceleration_tags_1) + /sizeof(asn_DEF_Acceleration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Acceleration_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Acceleration_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Acceleration_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Acceleration.h b/src/tmx/Asn_J2735/src/r2024/Acceleration.h deleted file mode 100644 index 43b2fe5b6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Acceleration.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Acceleration_H_ -#define _Acceleration_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Acceleration */ -typedef long Acceleration_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Acceleration_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Acceleration; -asn_struct_free_f Acceleration_free; -asn_struct_print_f Acceleration_print; -asn_constr_check_f Acceleration_constraint; -ber_type_decoder_f Acceleration_decode_ber; -der_type_encoder_f Acceleration_encode_der; -xer_type_decoder_f Acceleration_decode_xer; -xer_type_encoder_f Acceleration_encode_xer; -oer_type_decoder_f Acceleration_decode_oer; -oer_type_encoder_f Acceleration_encode_oer; -per_type_decoder_f Acceleration_decode_uper; -per_type_encoder_f Acceleration_encode_uper; -per_type_decoder_f Acceleration_decode_aper; -per_type_encoder_f Acceleration_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Acceleration_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AccelerationConfidence.c b/src/tmx/Asn_J2735/src/r2024/AccelerationConfidence.c new file mode 100644 index 000000000..1bb1dae1a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AccelerationConfidence.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AccelerationConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AccelerationConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AccelerationConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_AccelerationConfidence_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 11, "accl-100-00" }, + { 2, 11, "accl-010-00" }, + { 3, 11, "accl-005-00" }, + { 4, 11, "accl-001-00" }, + { 5, 11, "accl-000-10" }, + { 6, 11, "accl-000-05" }, + { 7, 11, "accl-000-01" } +}; +static const unsigned int asn_MAP_AccelerationConfidence_enum2value_1[] = { + 7, /* accl-000-01(7) */ + 6, /* accl-000-05(6) */ + 5, /* accl-000-10(5) */ + 4, /* accl-001-00(4) */ + 3, /* accl-005-00(3) */ + 2, /* accl-010-00(2) */ + 1, /* accl-100-00(1) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_AccelerationConfidence_specs_1 = { + asn_MAP_AccelerationConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_AccelerationConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_AccelerationConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AccelerationConfidence = { + "AccelerationConfidence", + "AccelerationConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_AccelerationConfidence_tags_1, + sizeof(asn_DEF_AccelerationConfidence_tags_1) + /sizeof(asn_DEF_AccelerationConfidence_tags_1[0]), /* 1 */ + asn_DEF_AccelerationConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_AccelerationConfidence_tags_1) + /sizeof(asn_DEF_AccelerationConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AccelerationConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AccelerationConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_AccelerationConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AccelerationConfidence.h b/src/tmx/Asn_J2735/src/r2024/AccelerationConfidence.h deleted file mode 100644 index d92f23629..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AccelerationConfidence.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AccelerationConfidence_H_ -#define _AccelerationConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AccelerationConfidence { - AccelerationConfidence_unavailable = 0, - AccelerationConfidence_accl_100_00 = 1, - AccelerationConfidence_accl_010_00 = 2, - AccelerationConfidence_accl_005_00 = 3, - AccelerationConfidence_accl_001_00 = 4, - AccelerationConfidence_accl_000_10 = 5, - AccelerationConfidence_accl_000_05 = 6, - AccelerationConfidence_accl_000_01 = 7 -} e_AccelerationConfidence; - -/* AccelerationConfidence */ -typedef long AccelerationConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AccelerationConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AccelerationConfidence; -extern const asn_INTEGER_specifics_t asn_SPC_AccelerationConfidence_specs_1; -asn_struct_free_f AccelerationConfidence_free; -asn_struct_print_f AccelerationConfidence_print; -asn_constr_check_f AccelerationConfidence_constraint; -ber_type_decoder_f AccelerationConfidence_decode_ber; -der_type_encoder_f AccelerationConfidence_encode_der; -xer_type_decoder_f AccelerationConfidence_decode_xer; -xer_type_encoder_f AccelerationConfidence_encode_xer; -oer_type_decoder_f AccelerationConfidence_decode_oer; -oer_type_encoder_f AccelerationConfidence_encode_oer; -per_type_decoder_f AccelerationConfidence_decode_uper; -per_type_encoder_f AccelerationConfidence_encode_uper; -per_type_decoder_f AccelerationConfidence_decode_aper; -per_type_encoder_f AccelerationConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AccelerationConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AccelerationSet4Way.c b/src/tmx/Asn_J2735/src/r2024/AccelerationSet4Way.c new file mode 100644 index 000000000..a600969a4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AccelerationSet4Way.c @@ -0,0 +1,120 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AccelerationSet4Way.h" + +asn_TYPE_member_t asn_MBR_AccelerationSet4Way_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AccelerationSet4Way, Long), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Acceleration, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "long" + }, + { ATF_NOFLAGS, 0, offsetof(struct AccelerationSet4Way, lat), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Acceleration, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat" + }, + { ATF_NOFLAGS, 0, offsetof(struct AccelerationSet4Way, vert), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VerticalAcceleration, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vert" + }, + { ATF_NOFLAGS, 0, offsetof(struct AccelerationSet4Way, yaw), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_YawRate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yaw" + }, +}; +static const ber_tlv_tag_t asn_DEF_AccelerationSet4Way_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AccelerationSet4Way_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* long */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lat */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* vert */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* yaw */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AccelerationSet4Way_specs_1 = { + sizeof(struct AccelerationSet4Way), + offsetof(struct AccelerationSet4Way, _asn_ctx), + asn_MAP_AccelerationSet4Way_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AccelerationSet4Way = { + "AccelerationSet4Way", + "AccelerationSet4Way", + &asn_OP_SEQUENCE, + asn_DEF_AccelerationSet4Way_tags_1, + sizeof(asn_DEF_AccelerationSet4Way_tags_1) + /sizeof(asn_DEF_AccelerationSet4Way_tags_1[0]), /* 1 */ + asn_DEF_AccelerationSet4Way_tags_1, /* Same as above */ + sizeof(asn_DEF_AccelerationSet4Way_tags_1) + /sizeof(asn_DEF_AccelerationSet4Way_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AccelerationSet4Way_1, + 4, /* Elements count */ + &asn_SPC_AccelerationSet4Way_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AccelerationSet4Way.h b/src/tmx/Asn_J2735/src/r2024/AccelerationSet4Way.h deleted file mode 100644 index b3d3ee376..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AccelerationSet4Way.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AccelerationSet4Way_H_ -#define _AccelerationSet4Way_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Acceleration.h" -#include "VerticalAcceleration.h" -#include "YawRate.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AccelerationSet4Way */ -typedef struct AccelerationSet4Way { - Acceleration_t Long; - Acceleration_t lat; - VerticalAcceleration_t vert; - YawRate_t yaw; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AccelerationSet4Way_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AccelerationSet4Way; -extern asn_SEQUENCE_specifics_t asn_SPC_AccelerationSet4Way_specs_1; -extern asn_TYPE_member_t asn_MBR_AccelerationSet4Way_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AccelerationSet4Way_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AcceleratorPedalPosition.c b/src/tmx/Asn_J2735/src/r2024/AcceleratorPedalPosition.c new file mode 100644 index 000000000..780b06a9d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AcceleratorPedalPosition.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AcceleratorPedalPosition.h" + +int +AcceleratorPedalPosition_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 201L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AcceleratorPedalPosition_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..201) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AcceleratorPedalPosition_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 201 } /* (0..201) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AcceleratorPedalPosition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AcceleratorPedalPosition = { + "AcceleratorPedalPosition", + "AcceleratorPedalPosition", + &asn_OP_NativeInteger, + asn_DEF_AcceleratorPedalPosition_tags_1, + sizeof(asn_DEF_AcceleratorPedalPosition_tags_1) + /sizeof(asn_DEF_AcceleratorPedalPosition_tags_1[0]), /* 1 */ + asn_DEF_AcceleratorPedalPosition_tags_1, /* Same as above */ + sizeof(asn_DEF_AcceleratorPedalPosition_tags_1) + /sizeof(asn_DEF_AcceleratorPedalPosition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AcceleratorPedalPosition_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AcceleratorPedalPosition_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AcceleratorPedalPosition_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AcceleratorPedalPosition.h b/src/tmx/Asn_J2735/src/r2024/AcceleratorPedalPosition.h deleted file mode 100644 index 3272db944..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AcceleratorPedalPosition.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AcceleratorPedalPosition_H_ -#define _AcceleratorPedalPosition_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AcceleratorPedalPosition */ -typedef long AcceleratorPedalPosition_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AcceleratorPedalPosition_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AcceleratorPedalPosition; -asn_struct_free_f AcceleratorPedalPosition_free; -asn_struct_print_f AcceleratorPedalPosition_print; -asn_constr_check_f AcceleratorPedalPosition_constraint; -ber_type_decoder_f AcceleratorPedalPosition_decode_ber; -der_type_encoder_f AcceleratorPedalPosition_encode_der; -xer_type_decoder_f AcceleratorPedalPosition_decode_xer; -xer_type_encoder_f AcceleratorPedalPosition_encode_xer; -oer_type_decoder_f AcceleratorPedalPosition_decode_oer; -oer_type_encoder_f AcceleratorPedalPosition_encode_oer; -per_type_decoder_f AcceleratorPedalPosition_decode_uper; -per_type_encoder_f AcceleratorPedalPosition_encode_uper; -per_type_decoder_f AcceleratorPedalPosition_decode_aper; -per_type_encoder_f AcceleratorPedalPosition_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AcceleratorPedalPosition_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AccidentsAndIncidents.c b/src/tmx/Asn_J2735/src/r2024/AccidentsAndIncidents.c new file mode 100644 index 000000000..13bc3cb07 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AccidentsAndIncidents.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AccidentsAndIncidents.h" + +int +AccidentsAndIncidents_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AccidentsAndIncidents_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AccidentsAndIncidents_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AccidentsAndIncidents_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AccidentsAndIncidents = { + "AccidentsAndIncidents", + "AccidentsAndIncidents", + &asn_OP_NativeInteger, + asn_DEF_AccidentsAndIncidents_tags_1, + sizeof(asn_DEF_AccidentsAndIncidents_tags_1) + /sizeof(asn_DEF_AccidentsAndIncidents_tags_1[0]), /* 1 */ + asn_DEF_AccidentsAndIncidents_tags_1, /* Same as above */ + sizeof(asn_DEF_AccidentsAndIncidents_tags_1) + /sizeof(asn_DEF_AccidentsAndIncidents_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AccidentsAndIncidents_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AccidentsAndIncidents_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AccidentsAndIncidents_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AccidentsAndIncidents.h b/src/tmx/Asn_J2735/src/r2024/AccidentsAndIncidents.h deleted file mode 100644 index 6f37ac579..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AccidentsAndIncidents.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AccidentsAndIncidents_H_ -#define _AccidentsAndIncidents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AccidentsAndIncidents { - AccidentsAndIncidents_accident = 513, - AccidentsAndIncidents_serious_accident = 514, - AccidentsAndIncidents_injury_accident = 515, - AccidentsAndIncidents_minor_accident = 516, - AccidentsAndIncidents_multi_vehicle_accident = 517, - AccidentsAndIncidents_numerous_accidents = 518, - AccidentsAndIncidents_accident_involving_a_bicycle = 519, - AccidentsAndIncidents_accident_involving_a_bus = 520, - AccidentsAndIncidents_accident_involving_a_motorcycle = 521, - AccidentsAndIncidents_accident_involving_a_pedestrian = 522, - AccidentsAndIncidents_accident_involving_a_train = 523, - AccidentsAndIncidents_accident_involving_a_truck = 524, - AccidentsAndIncidents_accident_involving_a_semi_trailer = 562, - AccidentsAndIncidents_accident_involving_hazardous_materials = 525, - AccidentsAndIncidents_earlier_accident = 526, - AccidentsAndIncidents_medical_emergency = 527, - AccidentsAndIncidents_secondary_accident = 528, - AccidentsAndIncidents_rescue_and_recovery_work_REMOVED = 529, - AccidentsAndIncidents_accident_investigation_work = 530, - AccidentsAndIncidents_incident = 531, - AccidentsAndIncidents_stalled_vehicle = 532, - AccidentsAndIncidents_abandoned_vehicle = 533, - AccidentsAndIncidents_disabled_vehicle = 534, - AccidentsAndIncidents_disabled_truck = 535, - AccidentsAndIncidents_disabled_semi_trailer = 536, - AccidentsAndIncidents_disabled_bus = 537, - AccidentsAndIncidents_disabled_train = 538, - AccidentsAndIncidents_vehicle_spun_out = 539, - AccidentsAndIncidents_vehicle_on_fire = 540, - AccidentsAndIncidents_vehicle_in_water = 541, - AccidentsAndIncidents_vehicles_slowing_to_look_at_accident = 542, - AccidentsAndIncidents_jackknifed_semi_trailer = 543, - AccidentsAndIncidents_jackknifed_trailer_home = 544, - AccidentsAndIncidents_jackknifed_trailer = 545, - AccidentsAndIncidents_spillage_occurring_from_moving_vehicle = 546, - AccidentsAndIncidents_acid_spill = 547, - AccidentsAndIncidents_chemical_spill = 548, - AccidentsAndIncidents_fuel_spill = 549, - AccidentsAndIncidents_hazardous_materials_spill = 550, - AccidentsAndIncidents_oil_spill = 551, - AccidentsAndIncidents_spilled_load = 552, - AccidentsAndIncidents_toxic_spill = 553, - AccidentsAndIncidents_overturned_vehicle = 554, - AccidentsAndIncidents_overturned_truck = 555, - AccidentsAndIncidents_overturned_semi_trailer = 556, - AccidentsAndIncidents_overturned_bus = 557, - AccidentsAndIncidents_derailed_train = 558, - AccidentsAndIncidents_stuck_vehicle = 559, - AccidentsAndIncidents_truck_stuck_under_bridge = 560, - AccidentsAndIncidents_bus_stuck_under_bridge = 561, - AccidentsAndIncidents_accident_cleared = 638, - AccidentsAndIncidents_incident_cleared = 639 -} e_AccidentsAndIncidents; - -/* AccidentsAndIncidents */ -typedef long AccidentsAndIncidents_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AccidentsAndIncidents_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AccidentsAndIncidents; -asn_struct_free_f AccidentsAndIncidents_free; -asn_struct_print_f AccidentsAndIncidents_print; -asn_constr_check_f AccidentsAndIncidents_constraint; -ber_type_decoder_f AccidentsAndIncidents_decode_ber; -der_type_encoder_f AccidentsAndIncidents_encode_der; -xer_type_decoder_f AccidentsAndIncidents_decode_xer; -xer_type_encoder_f AccidentsAndIncidents_encode_xer; -oer_type_decoder_f AccidentsAndIncidents_decode_oer; -oer_type_encoder_f AccidentsAndIncidents_encode_oer; -per_type_decoder_f AccidentsAndIncidents_decode_uper; -per_type_encoder_f AccidentsAndIncidents_encode_uper; -per_type_decoder_f AccidentsAndIncidents_decode_aper; -per_type_encoder_f AccidentsAndIncidents_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AccidentsAndIncidents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AccountStatus.c b/src/tmx/Asn_J2735/src/r2024/AccountStatus.c new file mode 100644 index 000000000..d649875ce --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AccountStatus.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AccountStatus.h" + +int +AccountStatus_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AccountStatus_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_AccountStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AccountStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AccountStatus = { + "AccountStatus", + "AccountStatus", + &asn_OP_NativeInteger, + asn_DEF_AccountStatus_tags_1, + sizeof(asn_DEF_AccountStatus_tags_1) + /sizeof(asn_DEF_AccountStatus_tags_1[0]), /* 1 */ + asn_DEF_AccountStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_AccountStatus_tags_1) + /sizeof(asn_DEF_AccountStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AccountStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AccountStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AccountStatus_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AccountStatus.h b/src/tmx/Asn_J2735/src/r2024/AccountStatus.h deleted file mode 100644 index 32ad4fe5a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AccountStatus.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AccountStatus_H_ -#define _AccountStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AccountStatus { - AccountStatus_ok = 0, - AccountStatus_low = 1, - AccountStatus_empty = 2, - AccountStatus_negative = 3 -} e_AccountStatus; - -/* AccountStatus */ -typedef long AccountStatus_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AccountStatus; -asn_struct_free_f AccountStatus_free; -asn_struct_print_f AccountStatus_print; -asn_constr_check_f AccountStatus_constraint; -ber_type_decoder_f AccountStatus_decode_ber; -der_type_encoder_f AccountStatus_encode_der; -xer_type_decoder_f AccountStatus_decode_xer; -xer_type_encoder_f AccountStatus_encode_xer; -oer_type_decoder_f AccountStatus_decode_oer; -oer_type_encoder_f AccountStatus_encode_oer; -per_type_decoder_f AccountStatus_decode_uper; -per_type_encoder_f AccountStatus_encode_uper; -per_type_decoder_f AccountStatus_decode_aper; -per_type_encoder_f AccountStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AccountStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AckPolicy.c b/src/tmx/Asn_J2735/src/r2024/AckPolicy.c new file mode 100644 index 000000000..1aaaf5592 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AckPolicy.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AckPolicy.h" + +static int +memb_timeout_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 100L && value <= 10000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_numOfRetries_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 5L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_timeout_constr_2 CC_NOTUSED = { + { 2, 1 } /* (100..10000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_timeout_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 100, 10000 } /* (100..10000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_numOfRetries_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_numOfRetries_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 5 } /* (1..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_AckPolicy_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AckPolicy, timeout), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_timeout_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_timeout_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_timeout_constraint_1 + }, + 0, 0, /* No default value */ + "timeout" + }, + { ATF_NOFLAGS, 0, offsetof(struct AckPolicy, numOfRetries), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_numOfRetries_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_numOfRetries_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_numOfRetries_constraint_1 + }, + 0, 0, /* No default value */ + "numOfRetries" + }, +}; +static const ber_tlv_tag_t asn_DEF_AckPolicy_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AckPolicy_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeout */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* numOfRetries */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AckPolicy_specs_1 = { + sizeof(struct AckPolicy), + offsetof(struct AckPolicy, _asn_ctx), + asn_MAP_AckPolicy_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AckPolicy = { + "AckPolicy", + "AckPolicy", + &asn_OP_SEQUENCE, + asn_DEF_AckPolicy_tags_1, + sizeof(asn_DEF_AckPolicy_tags_1) + /sizeof(asn_DEF_AckPolicy_tags_1[0]), /* 1 */ + asn_DEF_AckPolicy_tags_1, /* Same as above */ + sizeof(asn_DEF_AckPolicy_tags_1) + /sizeof(asn_DEF_AckPolicy_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AckPolicy_1, + 2, /* Elements count */ + &asn_SPC_AckPolicy_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AckPolicy.h b/src/tmx/Asn_J2735/src/r2024/AckPolicy.h deleted file mode 100644 index f979aeb40..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AckPolicy.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AckPolicy_H_ -#define _AckPolicy_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AckPolicy */ -typedef struct AckPolicy { - long timeout; - long numOfRetries; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AckPolicy_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AckPolicy; -extern asn_SEQUENCE_specifics_t asn_SPC_AckPolicy_specs_1; -extern asn_TYPE_member_t asn_MBR_AckPolicy_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AckPolicy_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Activity.c b/src/tmx/Asn_J2735/src/r2024/Activity.c new file mode 100644 index 000000000..5e334125b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Activity.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Activity.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_Activity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Activity = { + "Activity", + "Activity", + &asn_OP_BOOLEAN, + asn_DEF_Activity_tags_1, + sizeof(asn_DEF_Activity_tags_1) + /sizeof(asn_DEF_Activity_tags_1[0]), /* 1 */ + asn_DEF_Activity_tags_1, /* Same as above */ + sizeof(asn_DEF_Activity_tags_1) + /sizeof(asn_DEF_Activity_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Activity.h b/src/tmx/Asn_J2735/src/r2024/Activity.h deleted file mode 100644 index a3d841179..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Activity.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Activity_H_ -#define _Activity_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Activity */ -typedef BOOLEAN_t Activity_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Activity; -asn_struct_free_f Activity_free; -asn_struct_print_f Activity_print; -asn_constr_check_f Activity_constraint; -ber_type_decoder_f Activity_decode_ber; -der_type_encoder_f Activity_encode_der; -xer_type_decoder_f Activity_decode_xer; -xer_type_encoder_f Activity_encode_xer; -oer_type_decoder_f Activity_decode_oer; -oer_type_encoder_f Activity_encode_oer; -per_type_decoder_f Activity_decode_uper; -per_type_encoder_f Activity_encode_uper; -per_type_decoder_f Activity_decode_aper; -per_type_encoder_f Activity_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Activity_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ActualNumberOfPassengers.c b/src/tmx/Asn_J2735/src/r2024/ActualNumberOfPassengers.c new file mode 100644 index 000000000..604f82645 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ActualNumberOfPassengers.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ActualNumberOfPassengers.h" + +int +ActualNumberOfPassengers_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Int1Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ActualNumberOfPassengers_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ActualNumberOfPassengers_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ActualNumberOfPassengers_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ActualNumberOfPassengers = { + "ActualNumberOfPassengers", + "ActualNumberOfPassengers", + &asn_OP_NativeInteger, + asn_DEF_ActualNumberOfPassengers_tags_1, + sizeof(asn_DEF_ActualNumberOfPassengers_tags_1) + /sizeof(asn_DEF_ActualNumberOfPassengers_tags_1[0]), /* 1 */ + asn_DEF_ActualNumberOfPassengers_tags_1, /* Same as above */ + sizeof(asn_DEF_ActualNumberOfPassengers_tags_1) + /sizeof(asn_DEF_ActualNumberOfPassengers_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ActualNumberOfPassengers_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ActualNumberOfPassengers_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ActualNumberOfPassengers_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ActualNumberOfPassengers.h b/src/tmx/Asn_J2735/src/r2024/ActualNumberOfPassengers.h deleted file mode 100644 index ca5c813f3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ActualNumberOfPassengers.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ActualNumberOfPassengers_H_ -#define _ActualNumberOfPassengers_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int1Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ActualNumberOfPassengers */ -typedef Int1Unsigned_t ActualNumberOfPassengers_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ActualNumberOfPassengers_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ActualNumberOfPassengers; -asn_struct_free_f ActualNumberOfPassengers_free; -asn_struct_print_f ActualNumberOfPassengers_print; -asn_constr_check_f ActualNumberOfPassengers_constraint; -ber_type_decoder_f ActualNumberOfPassengers_decode_ber; -der_type_encoder_f ActualNumberOfPassengers_encode_der; -xer_type_decoder_f ActualNumberOfPassengers_decode_xer; -xer_type_encoder_f ActualNumberOfPassengers_encode_xer; -oer_type_decoder_f ActualNumberOfPassengers_decode_oer; -oer_type_encoder_f ActualNumberOfPassengers_encode_oer; -per_type_decoder_f ActualNumberOfPassengers_decode_uper; -per_type_encoder_f ActualNumberOfPassengers_encode_uper; -per_type_decoder_f ActualNumberOfPassengers_decode_aper; -per_type_encoder_f ActualNumberOfPassengers_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ActualNumberOfPassengers_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ActuatedInterval.c b/src/tmx/Asn_J2735/src/r2024/ActuatedInterval.c new file mode 100644 index 000000000..426f52f3d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ActuatedInterval.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ActuatedInterval.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_ActuatedInterval_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ActuatedInterval = { + "ActuatedInterval", + "ActuatedInterval", + &asn_OP_BOOLEAN, + asn_DEF_ActuatedInterval_tags_1, + sizeof(asn_DEF_ActuatedInterval_tags_1) + /sizeof(asn_DEF_ActuatedInterval_tags_1[0]), /* 1 */ + asn_DEF_ActuatedInterval_tags_1, /* Same as above */ + sizeof(asn_DEF_ActuatedInterval_tags_1) + /sizeof(asn_DEF_ActuatedInterval_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ActuatedInterval.h b/src/tmx/Asn_J2735/src/r2024/ActuatedInterval.h deleted file mode 100644 index c28e6d051..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ActuatedInterval.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ActuatedInterval_H_ -#define _ActuatedInterval_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ActuatedInterval */ -typedef BOOLEAN_t ActuatedInterval_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ActuatedInterval; -asn_struct_free_f ActuatedInterval_free; -asn_struct_print_f ActuatedInterval_print; -asn_constr_check_f ActuatedInterval_constraint; -ber_type_decoder_f ActuatedInterval_decode_ber; -der_type_encoder_f ActuatedInterval_encode_der; -xer_type_decoder_f ActuatedInterval_decode_xer; -xer_type_encoder_f ActuatedInterval_encode_xer; -oer_type_decoder_f ActuatedInterval_decode_oer; -oer_type_encoder_f ActuatedInterval_encode_oer; -per_type_decoder_f ActuatedInterval_decode_uper; -per_type_encoder_f ActuatedInterval_encode_uper; -per_type_decoder_f ActuatedInterval_decode_aper; -per_type_encoder_f ActuatedInterval_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ActuatedInterval_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AddGrpB_Angle.c b/src/tmx/Asn_J2735/src/r2024/AddGrpB_Angle.c new file mode 100644 index 000000000..534793f08 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AddGrpB_Angle.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AddGrpB_Angle.h" + +int +AddGrpB_Angle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 239L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AddGrpB_Angle_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..239) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_AddGrpB_Angle_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 239 } /* (0..239) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AddGrpB_Angle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AddGrpB_Angle = { + "Angle", + "Angle", + &asn_OP_NativeInteger, + asn_DEF_AddGrpB_Angle_tags_1, + sizeof(asn_DEF_AddGrpB_Angle_tags_1) + /sizeof(asn_DEF_AddGrpB_Angle_tags_1[0]), /* 1 */ + asn_DEF_AddGrpB_Angle_tags_1, /* Same as above */ + sizeof(asn_DEF_AddGrpB_Angle_tags_1) + /sizeof(asn_DEF_AddGrpB_Angle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AddGrpB_Angle_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AddGrpB_Angle_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AddGrpB_Angle_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AddGrpB_Angle.h b/src/tmx/Asn_J2735/src/r2024/AddGrpB_Angle.h deleted file mode 100644 index 9c4c1723b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AddGrpB_Angle.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AddGrpB_Angle_H_ -#define _AddGrpB_Angle_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AddGrpB_Angle */ -typedef long AddGrpB_Angle_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AddGrpB_Angle; -asn_struct_free_f AddGrpB_Angle_free; -asn_struct_print_f AddGrpB_Angle_print; -asn_constr_check_f AddGrpB_Angle_constraint; -ber_type_decoder_f AddGrpB_Angle_decode_ber; -der_type_encoder_f AddGrpB_Angle_encode_der; -xer_type_decoder_f AddGrpB_Angle_decode_xer; -xer_type_encoder_f AddGrpB_Angle_encode_xer; -oer_type_decoder_f AddGrpB_Angle_decode_oer; -oer_type_encoder_f AddGrpB_Angle_encode_oer; -per_type_decoder_f AddGrpB_Angle_decode_uper; -per_type_encoder_f AddGrpB_Angle_encode_uper; -per_type_decoder_f AddGrpB_Angle_decode_aper; -per_type_encoder_f AddGrpB_Angle_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AddGrpB_Angle_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AddGrpB_Elevation.c b/src/tmx/Asn_J2735/src/r2024/AddGrpB_Elevation.c new file mode 100644 index 000000000..13fa92883 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AddGrpB_Elevation.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AddGrpB_Elevation.h" + +int +AddGrpB_Elevation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32768L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AddGrpB_Elevation_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32768..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AddGrpB_Elevation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AddGrpB_Elevation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AddGrpB_Elevation = { + "Elevation", + "Elevation", + &asn_OP_NativeInteger, + asn_DEF_AddGrpB_Elevation_tags_1, + sizeof(asn_DEF_AddGrpB_Elevation_tags_1) + /sizeof(asn_DEF_AddGrpB_Elevation_tags_1[0]), /* 1 */ + asn_DEF_AddGrpB_Elevation_tags_1, /* Same as above */ + sizeof(asn_DEF_AddGrpB_Elevation_tags_1) + /sizeof(asn_DEF_AddGrpB_Elevation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AddGrpB_Elevation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AddGrpB_Elevation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AddGrpB_Elevation_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AddGrpB_Elevation.h b/src/tmx/Asn_J2735/src/r2024/AddGrpB_Elevation.h deleted file mode 100644 index 858e5bb59..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AddGrpB_Elevation.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AddGrpB_Elevation_H_ -#define _AddGrpB_Elevation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AddGrpB_Elevation */ -typedef long AddGrpB_Elevation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AddGrpB_Elevation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AddGrpB_Elevation; -asn_struct_free_f AddGrpB_Elevation_free; -asn_struct_print_f AddGrpB_Elevation_print; -asn_constr_check_f AddGrpB_Elevation_constraint; -ber_type_decoder_f AddGrpB_Elevation_decode_ber; -der_type_encoder_f AddGrpB_Elevation_encode_der; -xer_type_decoder_f AddGrpB_Elevation_decode_xer; -xer_type_encoder_f AddGrpB_Elevation_encode_xer; -oer_type_decoder_f AddGrpB_Elevation_decode_oer; -oer_type_encoder_f AddGrpB_Elevation_encode_oer; -per_type_decoder_f AddGrpB_Elevation_decode_uper; -per_type_encoder_f AddGrpB_Elevation_encode_uper; -per_type_decoder_f AddGrpB_Elevation_decode_aper; -per_type_encoder_f AddGrpB_Elevation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AddGrpB_Elevation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AddGrpB_MsgCount.c b/src/tmx/Asn_J2735/src/r2024/AddGrpB_MsgCount.c new file mode 100644 index 000000000..05a75f3b8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AddGrpB_MsgCount.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AddGrpB_MsgCount.h" + +int +AddGrpB_MsgCount_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AddGrpB_MsgCount_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_AddGrpB_MsgCount_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AddGrpB_MsgCount_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AddGrpB_MsgCount = { + "MsgCount", + "MsgCount", + &asn_OP_NativeInteger, + asn_DEF_AddGrpB_MsgCount_tags_1, + sizeof(asn_DEF_AddGrpB_MsgCount_tags_1) + /sizeof(asn_DEF_AddGrpB_MsgCount_tags_1[0]), /* 1 */ + asn_DEF_AddGrpB_MsgCount_tags_1, /* Same as above */ + sizeof(asn_DEF_AddGrpB_MsgCount_tags_1) + /sizeof(asn_DEF_AddGrpB_MsgCount_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AddGrpB_MsgCount_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AddGrpB_MsgCount_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AddGrpB_MsgCount_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AddGrpB_MsgCount.h b/src/tmx/Asn_J2735/src/r2024/AddGrpB_MsgCount.h deleted file mode 100644 index b5c6ab3ce..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AddGrpB_MsgCount.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AddGrpB_MsgCount_H_ -#define _AddGrpB_MsgCount_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AddGrpB_MsgCount */ -typedef long AddGrpB_MsgCount_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AddGrpB_MsgCount; -asn_struct_free_f AddGrpB_MsgCount_free; -asn_struct_print_f AddGrpB_MsgCount_print; -asn_constr_check_f AddGrpB_MsgCount_constraint; -ber_type_decoder_f AddGrpB_MsgCount_decode_ber; -der_type_encoder_f AddGrpB_MsgCount_encode_der; -xer_type_decoder_f AddGrpB_MsgCount_decode_xer; -xer_type_encoder_f AddGrpB_MsgCount_encode_xer; -oer_type_decoder_f AddGrpB_MsgCount_decode_oer; -oer_type_encoder_f AddGrpB_MsgCount_encode_oer; -per_type_decoder_f AddGrpB_MsgCount_decode_uper; -per_type_encoder_f AddGrpB_MsgCount_encode_uper; -per_type_decoder_f AddGrpB_MsgCount_decode_aper; -per_type_encoder_f AddGrpB_MsgCount_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AddGrpB_MsgCount_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AddGrpB_TimeMark.c b/src/tmx/Asn_J2735/src/r2024/AddGrpB_TimeMark.c new file mode 100644 index 000000000..2d10f34f2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AddGrpB_TimeMark.c @@ -0,0 +1,228 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AddGrpB_TimeMark.h" + +static asn_TYPE_member_t asn_MBR_AddGrpB_TimeMark_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AddGrpB_TimeMark, year), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Year, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "year" + }, + { ATF_NOFLAGS, 0, offsetof(struct AddGrpB_TimeMark, month), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Month, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "month" + }, + { ATF_NOFLAGS, 0, offsetof(struct AddGrpB_TimeMark, day), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Day, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "day" + }, + { ATF_NOFLAGS, 0, offsetof(struct AddGrpB_TimeMark, summerTime), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SummerTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "summerTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct AddGrpB_TimeMark, holiday), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Holiday, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "holiday" + }, + { ATF_NOFLAGS, 0, offsetof(struct AddGrpB_TimeMark, dayofWeek), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DayOfWeek, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dayofWeek" + }, + { ATF_NOFLAGS, 0, offsetof(struct AddGrpB_TimeMark, hour), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Hour, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hour" + }, + { ATF_NOFLAGS, 0, offsetof(struct AddGrpB_TimeMark, minute), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Minute, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "minute" + }, + { ATF_NOFLAGS, 0, offsetof(struct AddGrpB_TimeMark, second), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Second, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "second" + }, + { ATF_NOFLAGS, 0, offsetof(struct AddGrpB_TimeMark, tenthSecond), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TenthSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tenthSecond" + }, +}; +static const ber_tlv_tag_t asn_DEF_AddGrpB_TimeMark_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AddGrpB_TimeMark_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* year */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* month */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* day */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* summerTime */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* holiday */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* dayofWeek */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* hour */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* minute */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* second */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* tenthSecond */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_AddGrpB_TimeMark_specs_1 = { + sizeof(struct AddGrpB_TimeMark), + offsetof(struct AddGrpB_TimeMark, _asn_ctx), + asn_MAP_AddGrpB_TimeMark_tag2el_1, + 10, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AddGrpB_TimeMark = { + "TimeMark", + "TimeMark", + &asn_OP_SEQUENCE, + asn_DEF_AddGrpB_TimeMark_tags_1, + sizeof(asn_DEF_AddGrpB_TimeMark_tags_1) + /sizeof(asn_DEF_AddGrpB_TimeMark_tags_1[0]), /* 1 */ + asn_DEF_AddGrpB_TimeMark_tags_1, /* Same as above */ + sizeof(asn_DEF_AddGrpB_TimeMark_tags_1) + /sizeof(asn_DEF_AddGrpB_TimeMark_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AddGrpB_TimeMark_1, + 10, /* Elements count */ + &asn_SPC_AddGrpB_TimeMark_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AddGrpB_TimeMark.h b/src/tmx/Asn_J2735/src/r2024/AddGrpB_TimeMark.h deleted file mode 100644 index e8b45f44e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AddGrpB_TimeMark.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AddGrpB_TimeMark_H_ -#define _AddGrpB_TimeMark_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Year.h" -#include "Month.h" -#include "Day.h" -#include "SummerTime.h" -#include "Holiday.h" -#include "DayOfWeek.h" -#include "Hour.h" -#include "Minute.h" -#include "Second.h" -#include "TenthSecond.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AddGrpB_TimeMark */ -typedef struct AddGrpB_TimeMark { - Year_t year; - Month_t month; - Day_t day; - SummerTime_t summerTime; - Holiday_t holiday; - DayOfWeek_t dayofWeek; - Hour_t hour; - Minute_t minute; - Second_t second; - TenthSecond_t tenthSecond; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AddGrpB_TimeMark_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AddGrpB_TimeMark; - -#ifdef __cplusplus -} -#endif - -#endif /* _AddGrpB_TimeMark_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AddGrpC_Altitude.c b/src/tmx/Asn_J2735/src/r2024/AddGrpC_Altitude.c new file mode 100644 index 000000000..0d9e5cf10 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AddGrpC_Altitude.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AddGrpC_Altitude.h" + +asn_TYPE_member_t asn_MBR_AddGrpC_Altitude_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AddGrpC_Altitude, value), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AltitudeValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "value" + }, + { ATF_NOFLAGS, 0, offsetof(struct AddGrpC_Altitude, confidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AltitudeConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_AddGrpC_Altitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AddGrpC_Altitude_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* value */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* confidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AddGrpC_Altitude_specs_1 = { + sizeof(struct AddGrpC_Altitude), + offsetof(struct AddGrpC_Altitude, _asn_ctx), + asn_MAP_AddGrpC_Altitude_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AddGrpC_Altitude = { + "Altitude", + "Altitude", + &asn_OP_SEQUENCE, + asn_DEF_AddGrpC_Altitude_tags_1, + sizeof(asn_DEF_AddGrpC_Altitude_tags_1) + /sizeof(asn_DEF_AddGrpC_Altitude_tags_1[0]), /* 1 */ + asn_DEF_AddGrpC_Altitude_tags_1, /* Same as above */ + sizeof(asn_DEF_AddGrpC_Altitude_tags_1) + /sizeof(asn_DEF_AddGrpC_Altitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AddGrpC_Altitude_1, + 2, /* Elements count */ + &asn_SPC_AddGrpC_Altitude_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AddGrpC_Altitude.h b/src/tmx/Asn_J2735/src/r2024/AddGrpC_Altitude.h deleted file mode 100644 index b89141260..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AddGrpC_Altitude.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AddGrpC_Altitude_H_ -#define _AddGrpC_Altitude_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "AltitudeValue.h" -#include "AltitudeConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AddGrpC_Altitude */ -typedef struct AddGrpC_Altitude { - AltitudeValue_t value; - AltitudeConfidence_t confidence; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AddGrpC_Altitude_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AddGrpC_Altitude; -extern asn_SEQUENCE_specifics_t asn_SPC_AddGrpC_Altitude_specs_1; -extern asn_TYPE_member_t asn_MBR_AddGrpC_Altitude_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AddGrpC_Altitude_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AdviceInstructionsMandatory.c b/src/tmx/Asn_J2735/src/r2024/AdviceInstructionsMandatory.c new file mode 100644 index 000000000..d8a8b4e9c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AdviceInstructionsMandatory.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AdviceInstructionsMandatory.h" + +int +AdviceInstructionsMandatory_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AdviceInstructionsMandatory_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AdviceInstructionsMandatory_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AdviceInstructionsMandatory_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AdviceInstructionsMandatory = { + "AdviceInstructionsMandatory", + "AdviceInstructionsMandatory", + &asn_OP_NativeInteger, + asn_DEF_AdviceInstructionsMandatory_tags_1, + sizeof(asn_DEF_AdviceInstructionsMandatory_tags_1) + /sizeof(asn_DEF_AdviceInstructionsMandatory_tags_1[0]), /* 1 */ + asn_DEF_AdviceInstructionsMandatory_tags_1, /* Same as above */ + sizeof(asn_DEF_AdviceInstructionsMandatory_tags_1) + /sizeof(asn_DEF_AdviceInstructionsMandatory_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AdviceInstructionsMandatory_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AdviceInstructionsMandatory_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AdviceInstructionsMandatory_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AdviceInstructionsMandatory.h b/src/tmx/Asn_J2735/src/r2024/AdviceInstructionsMandatory.h deleted file mode 100644 index a2acb8331..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AdviceInstructionsMandatory.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AdviceInstructionsMandatory_H_ -#define _AdviceInstructionsMandatory_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AdviceInstructionsMandatory { - AdviceInstructionsMandatory_keep_to_the_right = 7425, - AdviceInstructionsMandatory_keep_to_the_left = 7426, - AdviceInstructionsMandatory_use_right_lane = 7427, - AdviceInstructionsMandatory_use_left_lane = 7428, - AdviceInstructionsMandatory_stay_in_lane = 7450, - AdviceInstructionsMandatory_merge = 7451, - AdviceInstructionsMandatory_heavy_vehicles_use_right_lane = 7429, - AdviceInstructionsMandatory_heavy_vehicles_use_left_lane = 7430, - AdviceInstructionsMandatory_observe_signals = 7431, - AdviceInstructionsMandatory_observe_signs = 7432, - AdviceInstructionsMandatory_no_passing = 7433, - AdviceInstructionsMandatory_no_smoking = 7434, - AdviceInstructionsMandatory_no_open_flames = 7435, - AdviceInstructionsMandatory_use_shoulder_as_lane = 7436, - AdviceInstructionsMandatory_do_not_drive_on_the_shoulder = 7437, - AdviceInstructionsMandatory_allow_emergency_vehicles_to_pass = 7438, - AdviceInstructionsMandatory_clear_a_lane_for_emergency_vehicles = 7439, - AdviceInstructionsMandatory_pull_over_to_the_edge_of_the_roadway = 7440, - AdviceInstructionsMandatory_wait_for_escort_vehicle = 7441, - AdviceInstructionsMandatory_in_emergency_wait_for_police_patrol = 7442, - AdviceInstructionsMandatory_reduce_your_speed = 7443, - AdviceInstructionsMandatory_observe_speed_limits = 7444, - AdviceInstructionsMandatory_check_point = 7445, - AdviceInstructionsMandatory_entry_requirements = 7446, - AdviceInstructionsMandatory_insurance_requirements = 7447, - AdviceInstructionsMandatory_firearms_requirements = 7448, - AdviceInstructionsMandatory_pet_requirements = 7449, - AdviceInstructionsMandatory_slower_traffic_keep_right = 7452, - AdviceInstructionsMandatory_keep_off = 7453, - AdviceInstructionsMandatory_evacuate_area_immediately = 7454, - AdviceInstructionsMandatory_shoulder_travel_no_longer_allowed = 7547 -} e_AdviceInstructionsMandatory; - -/* AdviceInstructionsMandatory */ -typedef long AdviceInstructionsMandatory_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AdviceInstructionsMandatory_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AdviceInstructionsMandatory; -asn_struct_free_f AdviceInstructionsMandatory_free; -asn_struct_print_f AdviceInstructionsMandatory_print; -asn_constr_check_f AdviceInstructionsMandatory_constraint; -ber_type_decoder_f AdviceInstructionsMandatory_decode_ber; -der_type_encoder_f AdviceInstructionsMandatory_encode_der; -xer_type_decoder_f AdviceInstructionsMandatory_decode_xer; -xer_type_encoder_f AdviceInstructionsMandatory_encode_xer; -oer_type_decoder_f AdviceInstructionsMandatory_decode_oer; -oer_type_encoder_f AdviceInstructionsMandatory_encode_oer; -per_type_decoder_f AdviceInstructionsMandatory_decode_uper; -per_type_encoder_f AdviceInstructionsMandatory_encode_uper; -per_type_decoder_f AdviceInstructionsMandatory_decode_aper; -per_type_encoder_f AdviceInstructionsMandatory_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AdviceInstructionsMandatory_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AdviceInstructionsRecommendations.c b/src/tmx/Asn_J2735/src/r2024/AdviceInstructionsRecommendations.c new file mode 100644 index 000000000..4861f336a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AdviceInstructionsRecommendations.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AdviceInstructionsRecommendations.h" + +int +AdviceInstructionsRecommendations_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AdviceInstructionsRecommendations_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AdviceInstructionsRecommendations_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AdviceInstructionsRecommendations_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AdviceInstructionsRecommendations = { + "AdviceInstructionsRecommendations", + "AdviceInstructionsRecommendations", + &asn_OP_NativeInteger, + asn_DEF_AdviceInstructionsRecommendations_tags_1, + sizeof(asn_DEF_AdviceInstructionsRecommendations_tags_1) + /sizeof(asn_DEF_AdviceInstructionsRecommendations_tags_1[0]), /* 1 */ + asn_DEF_AdviceInstructionsRecommendations_tags_1, /* Same as above */ + sizeof(asn_DEF_AdviceInstructionsRecommendations_tags_1) + /sizeof(asn_DEF_AdviceInstructionsRecommendations_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AdviceInstructionsRecommendations_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AdviceInstructionsRecommendations_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AdviceInstructionsRecommendations_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AdviceInstructionsRecommendations.h b/src/tmx/Asn_J2735/src/r2024/AdviceInstructionsRecommendations.h deleted file mode 100644 index 38d230b92..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AdviceInstructionsRecommendations.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AdviceInstructionsRecommendations_H_ -#define _AdviceInstructionsRecommendations_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AdviceInstructionsRecommendations { - AdviceInstructionsRecommendations_drive_carefully = 7169, - AdviceInstructionsRecommendations_drive_with_extreme_caution = 7170, - AdviceInstructionsRecommendations_approach_with_care = 7171, - AdviceInstructionsRecommendations_keep_your_distance = 7172, - AdviceInstructionsRecommendations_increase_normal_following_distance = 7173, - AdviceInstructionsRecommendations_test_your_brakes = 7174, - AdviceInstructionsRecommendations_cross_intersection_with_care = 7175, - AdviceInstructionsRecommendations_pass_with_care = 7176, - AdviceInstructionsRecommendations_pass = 7200, - AdviceInstructionsRecommendations_use_low_beam_headlights = 7177, - AdviceInstructionsRecommendations_use_fog_lights = 7178, - AdviceInstructionsRecommendations_use_hazard_warning_lights = 7179, - AdviceInstructionsRecommendations_do_not_leave_your_vehicle = 7180, - AdviceInstructionsRecommendations_leave_your_vehicle_and_proceed_to_next_safe_place = 7181, - AdviceInstructionsRecommendations_turn_off_engine = 7182, - AdviceInstructionsRecommendations_close_all_windows_turn_off_heater_air_conditioner_and_vents = 7183, - AdviceInstructionsRecommendations_turn_off_air_conditioner_to_prevent_engine_overheating = 7184, - AdviceInstructionsRecommendations_turn_off_mobile_phones_and_two_way_radios = 7185, - AdviceInstructionsRecommendations_prepare_to_stop = 7186, - AdviceInstructionsRecommendations_be_prepared_to_stop = 7201, - AdviceInstructionsRecommendations_stop_at_next_rest_area = 7187, - AdviceInstructionsRecommendations_stop_at_next_safe_place = 7188, - AdviceInstructionsRecommendations_only_travel_if_absolutely_necessary = 7189, - AdviceInstructionsRecommendations_drive_to_another_service_area = 7190, - AdviceInstructionsRecommendations_use_through_traffic_lanes = 7191, - AdviceInstructionsRecommendations_use_local_traffic_lanes = 7192, - AdviceInstructionsRecommendations_use_left_hand_parallel_roadway = 7193, - AdviceInstructionsRecommendations_use_right_hand_parallel_roadway = 7194, - AdviceInstructionsRecommendations_use_heavy_vehicle_lane = 7195, - AdviceInstructionsRecommendations_observe_recommended_speed = 7196, - AdviceInstructionsRecommendations_signals_sequenced_for_speed = 7202, - AdviceInstructionsRecommendations_maintain_top_safe_speed = 7203, - AdviceInstructionsRecommendations_facing_traffic = 7197, - AdviceInstructionsRecommendations_push_button = 7198, - AdviceInstructionsRecommendations_to_cross_street = 7199, - AdviceInstructionsRecommendations_evacuate_area_voluntarily = 7204, - AdviceInstructionsRecommendations_shelter_in_place = 7205 -} e_AdviceInstructionsRecommendations; - -/* AdviceInstructionsRecommendations */ -typedef long AdviceInstructionsRecommendations_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AdviceInstructionsRecommendations_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AdviceInstructionsRecommendations; -asn_struct_free_f AdviceInstructionsRecommendations_free; -asn_struct_print_f AdviceInstructionsRecommendations_print; -asn_constr_check_f AdviceInstructionsRecommendations_constraint; -ber_type_decoder_f AdviceInstructionsRecommendations_decode_ber; -der_type_encoder_f AdviceInstructionsRecommendations_encode_der; -xer_type_decoder_f AdviceInstructionsRecommendations_decode_xer; -xer_type_encoder_f AdviceInstructionsRecommendations_encode_xer; -oer_type_decoder_f AdviceInstructionsRecommendations_decode_oer; -oer_type_encoder_f AdviceInstructionsRecommendations_encode_oer; -per_type_decoder_f AdviceInstructionsRecommendations_decode_uper; -per_type_encoder_f AdviceInstructionsRecommendations_encode_uper; -per_type_decoder_f AdviceInstructionsRecommendations_decode_aper; -per_type_encoder_f AdviceInstructionsRecommendations_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AdviceInstructionsRecommendations_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AdvisorySpeed.c b/src/tmx/Asn_J2735/src/r2024/AdvisorySpeed.c new file mode 100644 index 000000000..65c1393d6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AdvisorySpeed.c @@ -0,0 +1,261 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AdvisorySpeed.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_7[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_AdvisorySpeed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_7[] = { + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_7 = { + sizeof(struct AdvisorySpeed__regional), + offsetof(struct AdvisorySpeed__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_7 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_7, + sizeof(asn_DEF_regional_tags_7) + /sizeof(asn_DEF_regional_tags_7[0]) - 1, /* 1 */ + asn_DEF_regional_tags_7, /* Same as above */ + sizeof(asn_DEF_regional_tags_7) + /sizeof(asn_DEF_regional_tags_7[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_7, + 1, /* Single element */ + &asn_SPC_regional_specs_7 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_AdvisorySpeed_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AdvisorySpeed, type), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AdvisorySpeedType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "type" + }, + { ATF_POINTER, 5, offsetof(struct AdvisorySpeed, speed), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedAdvice, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed" + }, + { ATF_POINTER, 4, offsetof(struct AdvisorySpeed, confidence), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, + { ATF_POINTER, 3, offsetof(struct AdvisorySpeed, distance), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ZoneLength, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "distance" + }, + { ATF_POINTER, 2, offsetof(struct AdvisorySpeed, Class), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RestrictionClassID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "class" + }, + { ATF_POINTER, 1, offsetof(struct AdvisorySpeed, regional), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + 0, + &asn_DEF_regional_7, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_AdvisorySpeed_oms_1[] = { 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_AdvisorySpeed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AdvisorySpeed_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* type */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* speed */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* confidence */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* distance */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* class */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AdvisorySpeed_specs_1 = { + sizeof(struct AdvisorySpeed), + offsetof(struct AdvisorySpeed, _asn_ctx), + asn_MAP_AdvisorySpeed_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_AdvisorySpeed_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AdvisorySpeed = { + "AdvisorySpeed", + "AdvisorySpeed", + &asn_OP_SEQUENCE, + asn_DEF_AdvisorySpeed_tags_1, + sizeof(asn_DEF_AdvisorySpeed_tags_1) + /sizeof(asn_DEF_AdvisorySpeed_tags_1[0]), /* 1 */ + asn_DEF_AdvisorySpeed_tags_1, /* Same as above */ + sizeof(asn_DEF_AdvisorySpeed_tags_1) + /sizeof(asn_DEF_AdvisorySpeed_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AdvisorySpeed_1, + 6, /* Elements count */ + &asn_SPC_AdvisorySpeed_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AdvisorySpeed.h b/src/tmx/Asn_J2735/src/r2024/AdvisorySpeed.h deleted file mode 100644 index aa767ae31..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AdvisorySpeed.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AdvisorySpeed_H_ -#define _AdvisorySpeed_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "AdvisorySpeedType.h" -#include "SpeedAdvice.h" -#include "SpeedConfidence.h" -#include "ZoneLength.h" -#include "RestrictionClassID.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_AdvisorySpeed; - -/* AdvisorySpeed */ -typedef struct AdvisorySpeed { - AdvisorySpeedType_t type; - SpeedAdvice_t *speed; /* OPTIONAL */ - SpeedConfidence_t *confidence; /* OPTIONAL */ - ZoneLength_t *distance; /* OPTIONAL */ - RestrictionClassID_t *Class; /* OPTIONAL */ - struct AdvisorySpeed__regional { - A_SEQUENCE_OF(struct Reg_AdvisorySpeed) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AdvisorySpeed_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AdvisorySpeed; -extern asn_SEQUENCE_specifics_t asn_SPC_AdvisorySpeed_specs_1; -extern asn_TYPE_member_t asn_MBR_AdvisorySpeed_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _AdvisorySpeed_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AdvisorySpeedList.c b/src/tmx/Asn_J2735/src/r2024/AdvisorySpeedList.c new file mode 100644 index 000000000..fb38904c6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AdvisorySpeedList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AdvisorySpeedList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AdvisorySpeedList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AdvisorySpeedList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_AdvisorySpeedList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_AdvisorySpeed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_AdvisorySpeedList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_AdvisorySpeedList_specs_1 = { + sizeof(struct AdvisorySpeedList), + offsetof(struct AdvisorySpeedList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_AdvisorySpeedList = { + "AdvisorySpeedList", + "AdvisorySpeedList", + &asn_OP_SEQUENCE_OF, + asn_DEF_AdvisorySpeedList_tags_1, + sizeof(asn_DEF_AdvisorySpeedList_tags_1) + /sizeof(asn_DEF_AdvisorySpeedList_tags_1[0]), /* 1 */ + asn_DEF_AdvisorySpeedList_tags_1, /* Same as above */ + sizeof(asn_DEF_AdvisorySpeedList_tags_1) + /sizeof(asn_DEF_AdvisorySpeedList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AdvisorySpeedList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AdvisorySpeedList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_AdvisorySpeedList_1, + 1, /* Single element */ + &asn_SPC_AdvisorySpeedList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AdvisorySpeedList.h b/src/tmx/Asn_J2735/src/r2024/AdvisorySpeedList.h deleted file mode 100644 index 9c69d6b7d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AdvisorySpeedList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AdvisorySpeedList_H_ -#define _AdvisorySpeedList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct AdvisorySpeed; - -/* AdvisorySpeedList */ -typedef struct AdvisorySpeedList { - A_SEQUENCE_OF(struct AdvisorySpeed) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AdvisorySpeedList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AdvisorySpeedList; -extern asn_SET_OF_specifics_t asn_SPC_AdvisorySpeedList_specs_1; -extern asn_TYPE_member_t asn_MBR_AdvisorySpeedList_1[1]; -extern asn_per_constraints_t asn_PER_type_AdvisorySpeedList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "AdvisorySpeed.h" - -#endif /* _AdvisorySpeedList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AdvisorySpeedType.c b/src/tmx/Asn_J2735/src/r2024/AdvisorySpeedType.c new file mode 100644 index 000000000..5d782b7b5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AdvisorySpeedType.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AdvisorySpeedType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AdvisorySpeedType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AdvisorySpeedType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_AdvisorySpeedType_value2enum_1[] = { + { 0, 4, "none" }, + { 1, 9, "greenwave" }, + { 2, 8, "ecoDrive" }, + { 3, 7, "transit" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_AdvisorySpeedType_enum2value_1[] = { + 2, /* ecoDrive(2) */ + 1, /* greenwave(1) */ + 0, /* none(0) */ + 3 /* transit(3) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_AdvisorySpeedType_specs_1 = { + asn_MAP_AdvisorySpeedType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_AdvisorySpeedType_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_AdvisorySpeedType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AdvisorySpeedType = { + "AdvisorySpeedType", + "AdvisorySpeedType", + &asn_OP_NativeEnumerated, + asn_DEF_AdvisorySpeedType_tags_1, + sizeof(asn_DEF_AdvisorySpeedType_tags_1) + /sizeof(asn_DEF_AdvisorySpeedType_tags_1[0]), /* 1 */ + asn_DEF_AdvisorySpeedType_tags_1, /* Same as above */ + sizeof(asn_DEF_AdvisorySpeedType_tags_1) + /sizeof(asn_DEF_AdvisorySpeedType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AdvisorySpeedType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AdvisorySpeedType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_AdvisorySpeedType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AdvisorySpeedType.h b/src/tmx/Asn_J2735/src/r2024/AdvisorySpeedType.h deleted file mode 100644 index 64ca14971..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AdvisorySpeedType.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AdvisorySpeedType_H_ -#define _AdvisorySpeedType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AdvisorySpeedType { - AdvisorySpeedType_none = 0, - AdvisorySpeedType_greenwave = 1, - AdvisorySpeedType_ecoDrive = 2, - AdvisorySpeedType_transit = 3 - /* - * Enumeration is extensible - */ -} e_AdvisorySpeedType; - -/* AdvisorySpeedType */ -typedef long AdvisorySpeedType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AdvisorySpeedType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AdvisorySpeedType; -extern const asn_INTEGER_specifics_t asn_SPC_AdvisorySpeedType_specs_1; -asn_struct_free_f AdvisorySpeedType_free; -asn_struct_print_f AdvisorySpeedType_print; -asn_constr_check_f AdvisorySpeedType_constraint; -ber_type_decoder_f AdvisorySpeedType_decode_ber; -der_type_encoder_f AdvisorySpeedType_encode_der; -xer_type_decoder_f AdvisorySpeedType_decode_xer; -xer_type_encoder_f AdvisorySpeedType_encode_xer; -oer_type_decoder_f AdvisorySpeedType_decode_oer; -oer_type_encoder_f AdvisorySpeedType_encode_oer; -per_type_decoder_f AdvisorySpeedType_decode_uper; -per_type_encoder_f AdvisorySpeedType_encode_uper; -per_type_decoder_f AdvisorySpeedType_decode_aper; -per_type_encoder_f AdvisorySpeedType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AdvisorySpeedType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AggregatedSingleTariffClassSession.c b/src/tmx/Asn_J2735/src/r2024/AggregatedSingleTariffClassSession.c new file mode 100644 index 000000000..0e121591d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AggregatedSingleTariffClassSession.c @@ -0,0 +1,206 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AggregatedSingleTariffClassSession.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AggregatedSingleTariffClassSession_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_AggregatedSingleTariffClassSession_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_AggregatedSingleTariffClassSession_1[] = { + { ATF_POINTER, 8, offsetof(struct AggregatedSingleTariffClassSession, timePeriodCovered), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Period, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timePeriodCovered" + }, + { ATF_POINTER, 7, offsetof(struct AggregatedSingleTariffClassSession, currentTariffClass), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TariffClassDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "currentTariffClass" + }, + { ATF_POINTER, 6, offsetof(struct AggregatedSingleTariffClassSession, vehicleDescription), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleDescription" + }, + { ATF_POINTER, 5, offsetof(struct AggregatedSingleTariffClassSession, totalDistanceCovered), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Distance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "totalDistanceCovered" + }, + { ATF_POINTER, 4, offsetof(struct AggregatedSingleTariffClassSession, numberOfDetectedEvents), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "numberOfDetectedEvents" + }, + { ATF_POINTER, 3, offsetof(struct AggregatedSingleTariffClassSession, obeStatus), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "obeStatus" + }, + { ATF_POINTER, 2, offsetof(struct AggregatedSingleTariffClassSession, feeExclVat), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "feeExclVat" + }, + { ATF_POINTER, 1, offsetof(struct AggregatedSingleTariffClassSession, sumVat), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sumVat" + }, +}; +static const int asn_MAP_AggregatedSingleTariffClassSession_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; +static const ber_tlv_tag_t asn_DEF_AggregatedSingleTariffClassSession_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AggregatedSingleTariffClassSession_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timePeriodCovered */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* currentTariffClass */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* vehicleDescription */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* totalDistanceCovered */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* numberOfDetectedEvents */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* obeStatus */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* feeExclVat */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* sumVat */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_AggregatedSingleTariffClassSession_specs_1 = { + sizeof(struct AggregatedSingleTariffClassSession), + offsetof(struct AggregatedSingleTariffClassSession, _asn_ctx), + asn_MAP_AggregatedSingleTariffClassSession_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_AggregatedSingleTariffClassSession_oms_1, /* Optional members */ + 8, 0, /* Root/Additions */ + 8, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AggregatedSingleTariffClassSession = { + "AggregatedSingleTariffClassSession", + "AggregatedSingleTariffClassSession", + &asn_OP_SEQUENCE, + asn_DEF_AggregatedSingleTariffClassSession_tags_1, + sizeof(asn_DEF_AggregatedSingleTariffClassSession_tags_1) + /sizeof(asn_DEF_AggregatedSingleTariffClassSession_tags_1[0]), /* 1 */ + asn_DEF_AggregatedSingleTariffClassSession_tags_1, /* Same as above */ + sizeof(asn_DEF_AggregatedSingleTariffClassSession_tags_1) + /sizeof(asn_DEF_AggregatedSingleTariffClassSession_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AggregatedSingleTariffClassSession_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AggregatedSingleTariffClassSession_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AggregatedSingleTariffClassSession_1, + 8, /* Elements count */ + &asn_SPC_AggregatedSingleTariffClassSession_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AggregatedSingleTariffClassSession.h b/src/tmx/Asn_J2735/src/r2024/AggregatedSingleTariffClassSession.h deleted file mode 100644 index 3154f5647..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AggregatedSingleTariffClassSession.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AggregatedSingleTariffClassSession_H_ -#define _AggregatedSingleTariffClassSession_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int2Unsigned.h" -#include "Int1Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Period; -struct TariffClassDescription; -struct VehicleDescription; -struct Distance; -struct PaymentFee; - -/* AggregatedSingleTariffClassSession */ -typedef struct AggregatedSingleTariffClassSession { - struct Period *timePeriodCovered; /* OPTIONAL */ - struct TariffClassDescription *currentTariffClass; /* OPTIONAL */ - struct VehicleDescription *vehicleDescription; /* OPTIONAL */ - struct Distance *totalDistanceCovered; /* OPTIONAL */ - Int2Unsigned_t *numberOfDetectedEvents; /* OPTIONAL */ - Int1Unsigned_t *obeStatus; /* OPTIONAL */ - struct PaymentFee *feeExclVat; /* OPTIONAL */ - struct PaymentFee *sumVat; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AggregatedSingleTariffClassSession_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AggregatedSingleTariffClassSession; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Period.h" -#include "TariffClassDescription.h" -#include "VehicleDescription.h" -#include "Distance.h" -#include "PaymentFee.h" - -#endif /* _AggregatedSingleTariffClassSession_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AllowedManeuvers.c b/src/tmx/Asn_J2735/src/r2024/AllowedManeuvers.c new file mode 100644 index 000000000..ec2837b51 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AllowedManeuvers.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AllowedManeuvers.h" + +int +AllowedManeuvers_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 12UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AllowedManeuvers_constr_1 CC_NOTUSED = { + { 0, 0 }, + 12 /* (SIZE(12..12)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AllowedManeuvers_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 12, 12 } /* (SIZE(12..12)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AllowedManeuvers_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AllowedManeuvers = { + "AllowedManeuvers", + "AllowedManeuvers", + &asn_OP_BIT_STRING, + asn_DEF_AllowedManeuvers_tags_1, + sizeof(asn_DEF_AllowedManeuvers_tags_1) + /sizeof(asn_DEF_AllowedManeuvers_tags_1[0]), /* 1 */ + asn_DEF_AllowedManeuvers_tags_1, /* Same as above */ + sizeof(asn_DEF_AllowedManeuvers_tags_1) + /sizeof(asn_DEF_AllowedManeuvers_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AllowedManeuvers_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AllowedManeuvers_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AllowedManeuvers_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AllowedManeuvers.h b/src/tmx/Asn_J2735/src/r2024/AllowedManeuvers.h deleted file mode 100644 index 1c598e959..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AllowedManeuvers.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AllowedManeuvers_H_ -#define _AllowedManeuvers_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AllowedManeuvers { - AllowedManeuvers_maneuverStraightAllowed = 0, - AllowedManeuvers_maneuverLeftAllowed = 1, - AllowedManeuvers_maneuverRightAllowed = 2, - AllowedManeuvers_maneuverUTurnAllowed = 3, - AllowedManeuvers_maneuverLeftTurnOnRedAllowed = 4, - AllowedManeuvers_maneuverRightTurnOnRedAllowed = 5, - AllowedManeuvers_maneuverLaneChangeAllowed = 6, - AllowedManeuvers_maneuverNoStoppingAllowed = 7, - AllowedManeuvers_yieldAllwaysRequired = 8, - AllowedManeuvers_goWithHalt = 9, - AllowedManeuvers_caution = 10, - AllowedManeuvers_reserved1 = 11 -} e_AllowedManeuvers; - -/* AllowedManeuvers */ -typedef BIT_STRING_t AllowedManeuvers_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AllowedManeuvers_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AllowedManeuvers; -asn_struct_free_f AllowedManeuvers_free; -asn_struct_print_f AllowedManeuvers_print; -asn_constr_check_f AllowedManeuvers_constraint; -ber_type_decoder_f AllowedManeuvers_decode_ber; -der_type_encoder_f AllowedManeuvers_encode_der; -xer_type_decoder_f AllowedManeuvers_decode_xer; -xer_type_encoder_f AllowedManeuvers_encode_xer; -oer_type_decoder_f AllowedManeuvers_decode_oer; -oer_type_encoder_f AllowedManeuvers_encode_oer; -per_type_decoder_f AllowedManeuvers_decode_uper; -per_type_encoder_f AllowedManeuvers_encode_uper; -per_type_decoder_f AllowedManeuvers_decode_aper; -per_type_encoder_f AllowedManeuvers_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AllowedManeuvers_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AlternateRoute.c b/src/tmx/Asn_J2735/src/r2024/AlternateRoute.c new file mode 100644 index 000000000..e14407e5b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AlternateRoute.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AlternateRoute.h" + +int +AlternateRoute_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AlternateRoute_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AlternateRoute_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AlternateRoute_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AlternateRoute = { + "AlternateRoute", + "AlternateRoute", + &asn_OP_NativeInteger, + asn_DEF_AlternateRoute_tags_1, + sizeof(asn_DEF_AlternateRoute_tags_1) + /sizeof(asn_DEF_AlternateRoute_tags_1[0]), /* 1 */ + asn_DEF_AlternateRoute_tags_1, /* Same as above */ + sizeof(asn_DEF_AlternateRoute_tags_1) + /sizeof(asn_DEF_AlternateRoute_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AlternateRoute_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AlternateRoute_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AlternateRoute_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AlternateRoute.h b/src/tmx/Asn_J2735/src/r2024/AlternateRoute.h deleted file mode 100644 index 32f575cb6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AlternateRoute.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AlternateRoute_H_ -#define _AlternateRoute_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AlternateRoute { - AlternateRoute_detour_where_possible = 8449, - AlternateRoute_no_detour_available = 8450, - AlternateRoute_follow_signs = 8451, - AlternateRoute_follow_detour_signs = 8452, - AlternateRoute_follow_special_detour_markers = 8453, - AlternateRoute_do_not_follow_detour_signs = 8454, - AlternateRoute_detour_in_operation = 8455, - AlternateRoute_follow_local_detour = 8456, - AlternateRoute_compulsory_detour_in_operation = 8457, - AlternateRoute_no_suitable_detour_available = 8458, - AlternateRoute_detour_is_no_longer_recommended = 8459, - AlternateRoute_local_drivers_are_recommended_to_avoid_the_area = 8460, - AlternateRoute_trucks_are_recommended_to_avoid_the_area = 8461, - AlternateRoute_consider_alternate_route = 8462, - AlternateRoute_consider_alternate_parking = 8463, - AlternateRoute_consider_alternate_destination = 8464, - AlternateRoute_consider_alternate_area = 8465, - AlternateRoute_snow_route = 8466, - AlternateRoute_emergency_snow_route = 8467, - AlternateRoute_evacuation_route = 8468, - AlternateRoute_truck_route = 8469, - AlternateRoute_hazardous_materials_route = 8470, - AlternateRoute_detour = 8471 -} e_AlternateRoute; - -/* AlternateRoute */ -typedef long AlternateRoute_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AlternateRoute_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AlternateRoute; -asn_struct_free_f AlternateRoute_free; -asn_struct_print_f AlternateRoute_print; -asn_constr_check_f AlternateRoute_constraint; -ber_type_decoder_f AlternateRoute_decode_ber; -der_type_encoder_f AlternateRoute_encode_der; -xer_type_decoder_f AlternateRoute_decode_xer; -xer_type_encoder_f AlternateRoute_encode_xer; -oer_type_decoder_f AlternateRoute_decode_oer; -oer_type_encoder_f AlternateRoute_encode_oer; -per_type_decoder_f AlternateRoute_decode_uper; -per_type_encoder_f AlternateRoute_encode_uper; -per_type_decoder_f AlternateRoute_decode_aper; -per_type_encoder_f AlternateRoute_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AlternateRoute_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AltitudeConfidence.c b/src/tmx/Asn_J2735/src/r2024/AltitudeConfidence.c new file mode 100644 index 000000000..832492990 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AltitudeConfidence.c @@ -0,0 +1,96 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AltitudeConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AltitudeConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AltitudeConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_AltitudeConfidence_value2enum_1[] = { + { 0, 10, "alt-000-01" }, + { 1, 10, "alt-000-02" }, + { 2, 10, "alt-000-05" }, + { 3, 10, "alt-000-10" }, + { 4, 10, "alt-000-20" }, + { 5, 10, "alt-000-50" }, + { 6, 10, "alt-001-00" }, + { 7, 10, "alt-002-00" }, + { 8, 10, "alt-005-00" }, + { 9, 10, "alt-010-00" }, + { 10, 10, "alt-020-00" }, + { 11, 10, "alt-050-00" }, + { 12, 10, "alt-100-00" }, + { 13, 10, "alt-200-00" }, + { 14, 10, "outOfRange" }, + { 15, 11, "unavailable" } +}; +static const unsigned int asn_MAP_AltitudeConfidence_enum2value_1[] = { + 0, /* alt-000-01(0) */ + 1, /* alt-000-02(1) */ + 2, /* alt-000-05(2) */ + 3, /* alt-000-10(3) */ + 4, /* alt-000-20(4) */ + 5, /* alt-000-50(5) */ + 6, /* alt-001-00(6) */ + 7, /* alt-002-00(7) */ + 8, /* alt-005-00(8) */ + 9, /* alt-010-00(9) */ + 10, /* alt-020-00(10) */ + 11, /* alt-050-00(11) */ + 12, /* alt-100-00(12) */ + 13, /* alt-200-00(13) */ + 14, /* outOfRange(14) */ + 15 /* unavailable(15) */ +}; +const asn_INTEGER_specifics_t asn_SPC_AltitudeConfidence_specs_1 = { + asn_MAP_AltitudeConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_AltitudeConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 16, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_AltitudeConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AltitudeConfidence = { + "AltitudeConfidence", + "AltitudeConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_AltitudeConfidence_tags_1, + sizeof(asn_DEF_AltitudeConfidence_tags_1) + /sizeof(asn_DEF_AltitudeConfidence_tags_1[0]), /* 1 */ + asn_DEF_AltitudeConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_AltitudeConfidence_tags_1) + /sizeof(asn_DEF_AltitudeConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AltitudeConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AltitudeConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_AltitudeConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AltitudeConfidence.h b/src/tmx/Asn_J2735/src/r2024/AltitudeConfidence.h deleted file mode 100644 index e2ecc78ef..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AltitudeConfidence.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AltitudeConfidence_H_ -#define _AltitudeConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AltitudeConfidence { - AltitudeConfidence_alt_000_01 = 0, - AltitudeConfidence_alt_000_02 = 1, - AltitudeConfidence_alt_000_05 = 2, - AltitudeConfidence_alt_000_10 = 3, - AltitudeConfidence_alt_000_20 = 4, - AltitudeConfidence_alt_000_50 = 5, - AltitudeConfidence_alt_001_00 = 6, - AltitudeConfidence_alt_002_00 = 7, - AltitudeConfidence_alt_005_00 = 8, - AltitudeConfidence_alt_010_00 = 9, - AltitudeConfidence_alt_020_00 = 10, - AltitudeConfidence_alt_050_00 = 11, - AltitudeConfidence_alt_100_00 = 12, - AltitudeConfidence_alt_200_00 = 13, - AltitudeConfidence_outOfRange = 14, - AltitudeConfidence_unavailable = 15 -} e_AltitudeConfidence; - -/* AltitudeConfidence */ -typedef long AltitudeConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AltitudeConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AltitudeConfidence; -extern const asn_INTEGER_specifics_t asn_SPC_AltitudeConfidence_specs_1; -asn_struct_free_f AltitudeConfidence_free; -asn_struct_print_f AltitudeConfidence_print; -asn_constr_check_f AltitudeConfidence_constraint; -ber_type_decoder_f AltitudeConfidence_decode_ber; -der_type_encoder_f AltitudeConfidence_encode_der; -xer_type_decoder_f AltitudeConfidence_decode_xer; -xer_type_encoder_f AltitudeConfidence_encode_xer; -oer_type_decoder_f AltitudeConfidence_decode_oer; -oer_type_encoder_f AltitudeConfidence_encode_oer; -per_type_decoder_f AltitudeConfidence_decode_uper; -per_type_encoder_f AltitudeConfidence_encode_uper; -per_type_decoder_f AltitudeConfidence_decode_aper; -per_type_encoder_f AltitudeConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AltitudeConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AltitudeValue.c b/src/tmx/Asn_J2735/src/r2024/AltitudeValue.c new file mode 100644 index 000000000..8044372b4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AltitudeValue.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AltitudeValue.h" + +int +AltitudeValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -100000L && value <= 800001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AltitudeValue_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-100000..800001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AltitudeValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 20, -1, -100000, 800001 } /* (-100000..800001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AltitudeValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AltitudeValue = { + "AltitudeValue", + "AltitudeValue", + &asn_OP_NativeInteger, + asn_DEF_AltitudeValue_tags_1, + sizeof(asn_DEF_AltitudeValue_tags_1) + /sizeof(asn_DEF_AltitudeValue_tags_1[0]), /* 1 */ + asn_DEF_AltitudeValue_tags_1, /* Same as above */ + sizeof(asn_DEF_AltitudeValue_tags_1) + /sizeof(asn_DEF_AltitudeValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AltitudeValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AltitudeValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AltitudeValue_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AltitudeValue.h b/src/tmx/Asn_J2735/src/r2024/AltitudeValue.h deleted file mode 100644 index c616bfce3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AltitudeValue.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AltitudeValue_H_ -#define _AltitudeValue_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AltitudeValue */ -typedef long AltitudeValue_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AltitudeValue_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AltitudeValue; -asn_struct_free_f AltitudeValue_free; -asn_struct_print_f AltitudeValue_print; -asn_constr_check_f AltitudeValue_constraint; -ber_type_decoder_f AltitudeValue_decode_ber; -der_type_encoder_f AltitudeValue_encode_der; -xer_type_decoder_f AltitudeValue_decode_xer; -xer_type_encoder_f AltitudeValue_encode_xer; -oer_type_decoder_f AltitudeValue_decode_oer; -oer_type_encoder_f AltitudeValue_encode_oer; -per_type_decoder_f AltitudeValue_decode_uper; -per_type_encoder_f AltitudeValue_encode_uper; -per_type_decoder_f AltitudeValue_decode_aper; -per_type_encoder_f AltitudeValue_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AltitudeValue_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AmbientAirPressure.c b/src/tmx/Asn_J2735/src/r2024/AmbientAirPressure.c new file mode 100644 index 000000000..2d1f21835 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AmbientAirPressure.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AmbientAirPressure.h" + +int +AmbientAirPressure_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AmbientAirPressure_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AmbientAirPressure_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AmbientAirPressure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AmbientAirPressure = { + "AmbientAirPressure", + "AmbientAirPressure", + &asn_OP_NativeInteger, + asn_DEF_AmbientAirPressure_tags_1, + sizeof(asn_DEF_AmbientAirPressure_tags_1) + /sizeof(asn_DEF_AmbientAirPressure_tags_1[0]), /* 1 */ + asn_DEF_AmbientAirPressure_tags_1, /* Same as above */ + sizeof(asn_DEF_AmbientAirPressure_tags_1) + /sizeof(asn_DEF_AmbientAirPressure_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AmbientAirPressure_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AmbientAirPressure_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AmbientAirPressure_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AmbientAirPressure.h b/src/tmx/Asn_J2735/src/r2024/AmbientAirPressure.h deleted file mode 100644 index eaef93b9f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AmbientAirPressure.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AmbientAirPressure_H_ -#define _AmbientAirPressure_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AmbientAirPressure */ -typedef long AmbientAirPressure_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AmbientAirPressure_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AmbientAirPressure; -asn_struct_free_f AmbientAirPressure_free; -asn_struct_print_f AmbientAirPressure_print; -asn_constr_check_f AmbientAirPressure_constraint; -ber_type_decoder_f AmbientAirPressure_decode_ber; -der_type_encoder_f AmbientAirPressure_encode_der; -xer_type_decoder_f AmbientAirPressure_decode_xer; -xer_type_encoder_f AmbientAirPressure_encode_xer; -oer_type_decoder_f AmbientAirPressure_decode_oer; -oer_type_encoder_f AmbientAirPressure_encode_oer; -per_type_decoder_f AmbientAirPressure_decode_uper; -per_type_encoder_f AmbientAirPressure_encode_uper; -per_type_decoder_f AmbientAirPressure_decode_aper; -per_type_encoder_f AmbientAirPressure_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AmbientAirPressure_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AmbientAirTemperature.c b/src/tmx/Asn_J2735/src/r2024/AmbientAirTemperature.c new file mode 100644 index 000000000..45ab5631d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AmbientAirTemperature.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AmbientAirTemperature.h" + +int +AmbientAirTemperature_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 191L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AmbientAirTemperature_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..191) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AmbientAirTemperature_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 191 } /* (0..191) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AmbientAirTemperature_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AmbientAirTemperature = { + "AmbientAirTemperature", + "AmbientAirTemperature", + &asn_OP_NativeInteger, + asn_DEF_AmbientAirTemperature_tags_1, + sizeof(asn_DEF_AmbientAirTemperature_tags_1) + /sizeof(asn_DEF_AmbientAirTemperature_tags_1[0]), /* 1 */ + asn_DEF_AmbientAirTemperature_tags_1, /* Same as above */ + sizeof(asn_DEF_AmbientAirTemperature_tags_1) + /sizeof(asn_DEF_AmbientAirTemperature_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AmbientAirTemperature_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AmbientAirTemperature_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AmbientAirTemperature_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AmbientAirTemperature.h b/src/tmx/Asn_J2735/src/r2024/AmbientAirTemperature.h deleted file mode 100644 index 138bb44b2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AmbientAirTemperature.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AmbientAirTemperature_H_ -#define _AmbientAirTemperature_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AmbientAirTemperature */ -typedef long AmbientAirTemperature_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AmbientAirTemperature_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AmbientAirTemperature; -asn_struct_free_f AmbientAirTemperature_free; -asn_struct_print_f AmbientAirTemperature_print; -asn_constr_check_f AmbientAirTemperature_constraint; -ber_type_decoder_f AmbientAirTemperature_decode_ber; -der_type_encoder_f AmbientAirTemperature_encode_der; -xer_type_decoder_f AmbientAirTemperature_decode_xer; -xer_type_encoder_f AmbientAirTemperature_encode_xer; -oer_type_decoder_f AmbientAirTemperature_decode_oer; -oer_type_encoder_f AmbientAirTemperature_encode_oer; -per_type_decoder_f AmbientAirTemperature_decode_uper; -per_type_encoder_f AmbientAirTemperature_encode_uper; -per_type_decoder_f AmbientAirTemperature_decode_aper; -per_type_encoder_f AmbientAirTemperature_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AmbientAirTemperature_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AngularVelocity.c b/src/tmx/Asn_J2735/src/r2024/AngularVelocity.c new file mode 100644 index 000000000..b80288fa1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AngularVelocity.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AngularVelocity.h" + +asn_TYPE_member_t asn_MBR_AngularVelocity_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AngularVelocity, pitchRate), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SensorDataSharingMessage_PitchRate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pitchRate" + }, + { ATF_NOFLAGS, 0, offsetof(struct AngularVelocity, rollRate), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SensorDataSharingMessage_RollRate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rollRate" + }, +}; +static const ber_tlv_tag_t asn_DEF_AngularVelocity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AngularVelocity_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pitchRate */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rollRate */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AngularVelocity_specs_1 = { + sizeof(struct AngularVelocity), + offsetof(struct AngularVelocity, _asn_ctx), + asn_MAP_AngularVelocity_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AngularVelocity = { + "AngularVelocity", + "AngularVelocity", + &asn_OP_SEQUENCE, + asn_DEF_AngularVelocity_tags_1, + sizeof(asn_DEF_AngularVelocity_tags_1) + /sizeof(asn_DEF_AngularVelocity_tags_1[0]), /* 1 */ + asn_DEF_AngularVelocity_tags_1, /* Same as above */ + sizeof(asn_DEF_AngularVelocity_tags_1) + /sizeof(asn_DEF_AngularVelocity_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AngularVelocity_1, + 2, /* Elements count */ + &asn_SPC_AngularVelocity_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AngularVelocity.h b/src/tmx/Asn_J2735/src/r2024/AngularVelocity.h deleted file mode 100644 index 38424ad20..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AngularVelocity.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AngularVelocity_H_ -#define _AngularVelocity_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SensorDataSharingMessage_PitchRate.h" -#include "SensorDataSharingMessage_RollRate.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AngularVelocity */ -typedef struct AngularVelocity { - SensorDataSharingMessage_PitchRate_t pitchRate; - SensorDataSharingMessage_RollRate_t rollRate; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AngularVelocity_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AngularVelocity; -extern asn_SEQUENCE_specifics_t asn_SPC_AngularVelocity_specs_1; -extern asn_TYPE_member_t asn_MBR_AngularVelocity_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AngularVelocity_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AngularVelocityConfidence.c b/src/tmx/Asn_J2735/src/r2024/AngularVelocityConfidence.c new file mode 100644 index 000000000..37412b785 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AngularVelocityConfidence.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AngularVelocityConfidence.h" + +asn_TYPE_member_t asn_MBR_AngularVelocityConfidence_1[] = { + { ATF_POINTER, 2, offsetof(struct AngularVelocityConfidence, pitchRateConfidence), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PitchRateConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pitchRateConfidence" + }, + { ATF_POINTER, 1, offsetof(struct AngularVelocityConfidence, rollRateConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RollRateConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rollRateConfidence" + }, +}; +static const int asn_MAP_AngularVelocityConfidence_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_AngularVelocityConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AngularVelocityConfidence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pitchRateConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rollRateConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AngularVelocityConfidence_specs_1 = { + sizeof(struct AngularVelocityConfidence), + offsetof(struct AngularVelocityConfidence, _asn_ctx), + asn_MAP_AngularVelocityConfidence_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_AngularVelocityConfidence_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AngularVelocityConfidence = { + "AngularVelocityConfidence", + "AngularVelocityConfidence", + &asn_OP_SEQUENCE, + asn_DEF_AngularVelocityConfidence_tags_1, + sizeof(asn_DEF_AngularVelocityConfidence_tags_1) + /sizeof(asn_DEF_AngularVelocityConfidence_tags_1[0]), /* 1 */ + asn_DEF_AngularVelocityConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_AngularVelocityConfidence_tags_1) + /sizeof(asn_DEF_AngularVelocityConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AngularVelocityConfidence_1, + 2, /* Elements count */ + &asn_SPC_AngularVelocityConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AngularVelocityConfidence.h b/src/tmx/Asn_J2735/src/r2024/AngularVelocityConfidence.h deleted file mode 100644 index d9d21d0cd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AngularVelocityConfidence.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AngularVelocityConfidence_H_ -#define _AngularVelocityConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "PitchRateConfidence.h" -#include "RollRateConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AngularVelocityConfidence */ -typedef struct AngularVelocityConfidence { - PitchRateConfidence_t *pitchRateConfidence; /* OPTIONAL */ - RollRateConfidence_t *rollRateConfidence; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AngularVelocityConfidence_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AngularVelocityConfidence; -extern asn_SEQUENCE_specifics_t asn_SPC_AngularVelocityConfidence_specs_1; -extern asn_TYPE_member_t asn_MBR_AngularVelocityConfidence_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AngularVelocityConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AnimalPropelledType.c b/src/tmx/Asn_J2735/src/r2024/AnimalPropelledType.c new file mode 100644 index 000000000..d2b2fc647 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AnimalPropelledType.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AnimalPropelledType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AnimalPropelledType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AnimalPropelledType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_AnimalPropelledType_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 10, "otherTypes" }, + { 2, 13, "animalMounted" }, + { 3, 19, "animalDrawnCarriage" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_AnimalPropelledType_enum2value_1[] = { + 3, /* animalDrawnCarriage(3) */ + 2, /* animalMounted(2) */ + 1, /* otherTypes(1) */ + 0 /* unavailable(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_AnimalPropelledType_specs_1 = { + asn_MAP_AnimalPropelledType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_AnimalPropelledType_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_AnimalPropelledType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AnimalPropelledType = { + "AnimalPropelledType", + "AnimalPropelledType", + &asn_OP_NativeEnumerated, + asn_DEF_AnimalPropelledType_tags_1, + sizeof(asn_DEF_AnimalPropelledType_tags_1) + /sizeof(asn_DEF_AnimalPropelledType_tags_1[0]), /* 1 */ + asn_DEF_AnimalPropelledType_tags_1, /* Same as above */ + sizeof(asn_DEF_AnimalPropelledType_tags_1) + /sizeof(asn_DEF_AnimalPropelledType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AnimalPropelledType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AnimalPropelledType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_AnimalPropelledType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AnimalPropelledType.h b/src/tmx/Asn_J2735/src/r2024/AnimalPropelledType.h deleted file mode 100644 index 8e9505ead..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AnimalPropelledType.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AnimalPropelledType_H_ -#define _AnimalPropelledType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AnimalPropelledType { - AnimalPropelledType_unavailable = 0, - AnimalPropelledType_otherTypes = 1, - AnimalPropelledType_animalMounted = 2, - AnimalPropelledType_animalDrawnCarriage = 3 - /* - * Enumeration is extensible - */ -} e_AnimalPropelledType; - -/* AnimalPropelledType */ -typedef long AnimalPropelledType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AnimalPropelledType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AnimalPropelledType; -extern const asn_INTEGER_specifics_t asn_SPC_AnimalPropelledType_specs_1; -asn_struct_free_f AnimalPropelledType_free; -asn_struct_print_f AnimalPropelledType_print; -asn_constr_check_f AnimalPropelledType_constraint; -ber_type_decoder_f AnimalPropelledType_decode_ber; -der_type_encoder_f AnimalPropelledType_encode_der; -xer_type_decoder_f AnimalPropelledType_decode_xer; -xer_type_encoder_f AnimalPropelledType_encode_xer; -oer_type_decoder_f AnimalPropelledType_decode_oer; -oer_type_encoder_f AnimalPropelledType_encode_oer; -per_type_decoder_f AnimalPropelledType_decode_uper; -per_type_encoder_f AnimalPropelledType_encode_uper; -per_type_decoder_f AnimalPropelledType_decode_aper; -per_type_encoder_f AnimalPropelledType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AnimalPropelledType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AnimalType.c b/src/tmx/Asn_J2735/src/r2024/AnimalType.c new file mode 100644 index 000000000..afec0abc9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AnimalType.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AnimalType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AnimalType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AnimalType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_AnimalType_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 10, "serviceUse" }, + { 2, 3, "pet" }, + { 3, 4, "farm" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_AnimalType_enum2value_1[] = { + 3, /* farm(3) */ + 2, /* pet(2) */ + 1, /* serviceUse(1) */ + 0 /* unavailable(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_AnimalType_specs_1 = { + asn_MAP_AnimalType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_AnimalType_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_AnimalType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AnimalType = { + "AnimalType", + "AnimalType", + &asn_OP_NativeEnumerated, + asn_DEF_AnimalType_tags_1, + sizeof(asn_DEF_AnimalType_tags_1) + /sizeof(asn_DEF_AnimalType_tags_1[0]), /* 1 */ + asn_DEF_AnimalType_tags_1, /* Same as above */ + sizeof(asn_DEF_AnimalType_tags_1) + /sizeof(asn_DEF_AnimalType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AnimalType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AnimalType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_AnimalType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AnimalType.h b/src/tmx/Asn_J2735/src/r2024/AnimalType.h deleted file mode 100644 index 093f3b8e3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AnimalType.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AnimalType_H_ -#define _AnimalType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AnimalType { - AnimalType_unavailable = 0, - AnimalType_serviceUse = 1, - AnimalType_pet = 2, - AnimalType_farm = 3 - /* - * Enumeration is extensible - */ -} e_AnimalType; - -/* AnimalType */ -typedef long AnimalType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AnimalType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AnimalType; -extern const asn_INTEGER_specifics_t asn_SPC_AnimalType_specs_1; -asn_struct_free_f AnimalType_free; -asn_struct_print_f AnimalType_print; -asn_constr_check_f AnimalType_constraint; -ber_type_decoder_f AnimalType_decode_ber; -der_type_encoder_f AnimalType_encode_der; -xer_type_decoder_f AnimalType_decode_xer; -xer_type_encoder_f AnimalType_encode_xer; -oer_type_decoder_f AnimalType_decode_oer; -oer_type_encoder_f AnimalType_encode_oer; -per_type_decoder_f AnimalType_decode_uper; -per_type_encoder_f AnimalType_encode_uper; -per_type_decoder_f AnimalType_decode_aper; -per_type_encoder_f AnimalType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AnimalType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AntennaOffsetSet.c b/src/tmx/Asn_J2735/src/r2024/AntennaOffsetSet.c new file mode 100644 index 000000000..e5764fb68 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AntennaOffsetSet.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AntennaOffsetSet.h" + +asn_TYPE_member_t asn_MBR_AntennaOffsetSet_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AntennaOffsetSet, antOffsetX), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "antOffsetX" + }, + { ATF_NOFLAGS, 0, offsetof(struct AntennaOffsetSet, antOffsetY), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B09, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "antOffsetY" + }, + { ATF_NOFLAGS, 0, offsetof(struct AntennaOffsetSet, antOffsetZ), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "antOffsetZ" + }, +}; +static const ber_tlv_tag_t asn_DEF_AntennaOffsetSet_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AntennaOffsetSet_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* antOffsetX */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* antOffsetY */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* antOffsetZ */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AntennaOffsetSet_specs_1 = { + sizeof(struct AntennaOffsetSet), + offsetof(struct AntennaOffsetSet, _asn_ctx), + asn_MAP_AntennaOffsetSet_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AntennaOffsetSet = { + "AntennaOffsetSet", + "AntennaOffsetSet", + &asn_OP_SEQUENCE, + asn_DEF_AntennaOffsetSet_tags_1, + sizeof(asn_DEF_AntennaOffsetSet_tags_1) + /sizeof(asn_DEF_AntennaOffsetSet_tags_1[0]), /* 1 */ + asn_DEF_AntennaOffsetSet_tags_1, /* Same as above */ + sizeof(asn_DEF_AntennaOffsetSet_tags_1) + /sizeof(asn_DEF_AntennaOffsetSet_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AntennaOffsetSet_1, + 3, /* Elements count */ + &asn_SPC_AntennaOffsetSet_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AntennaOffsetSet.h b/src/tmx/Asn_J2735/src/r2024/AntennaOffsetSet.h deleted file mode 100644 index 8c54e7759..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AntennaOffsetSet.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AntennaOffsetSet_H_ -#define _AntennaOffsetSet_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Offset-B12.h" -#include "Offset-B09.h" -#include "Offset-B10.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AntennaOffsetSet */ -typedef struct AntennaOffsetSet { - Offset_B12_t antOffsetX; - Offset_B09_t antOffsetY; - Offset_B10_t antOffsetZ; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AntennaOffsetSet_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AntennaOffsetSet; -extern asn_SEQUENCE_specifics_t asn_SPC_AntennaOffsetSet_specs_1; -extern asn_TYPE_member_t asn_MBR_AntennaOffsetSet_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AntennaOffsetSet_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AntiLockBrakeStatus.c b/src/tmx/Asn_J2735/src/r2024/AntiLockBrakeStatus.c new file mode 100644 index 000000000..7115bdaa8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AntiLockBrakeStatus.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AntiLockBrakeStatus.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AntiLockBrakeStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AntiLockBrakeStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_AntiLockBrakeStatus_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 3, "off" }, + { 2, 2, "on" }, + { 3, 7, "engaged" } +}; +static const unsigned int asn_MAP_AntiLockBrakeStatus_enum2value_1[] = { + 3, /* engaged(3) */ + 1, /* off(1) */ + 2, /* on(2) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_AntiLockBrakeStatus_specs_1 = { + asn_MAP_AntiLockBrakeStatus_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_AntiLockBrakeStatus_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_AntiLockBrakeStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AntiLockBrakeStatus = { + "AntiLockBrakeStatus", + "AntiLockBrakeStatus", + &asn_OP_NativeEnumerated, + asn_DEF_AntiLockBrakeStatus_tags_1, + sizeof(asn_DEF_AntiLockBrakeStatus_tags_1) + /sizeof(asn_DEF_AntiLockBrakeStatus_tags_1[0]), /* 1 */ + asn_DEF_AntiLockBrakeStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_AntiLockBrakeStatus_tags_1) + /sizeof(asn_DEF_AntiLockBrakeStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AntiLockBrakeStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AntiLockBrakeStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_AntiLockBrakeStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AntiLockBrakeStatus.h b/src/tmx/Asn_J2735/src/r2024/AntiLockBrakeStatus.h deleted file mode 100644 index e40061e1e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AntiLockBrakeStatus.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AntiLockBrakeStatus_H_ -#define _AntiLockBrakeStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AntiLockBrakeStatus { - AntiLockBrakeStatus_unavailable = 0, - AntiLockBrakeStatus_off = 1, - AntiLockBrakeStatus_on = 2, - AntiLockBrakeStatus_engaged = 3 -} e_AntiLockBrakeStatus; - -/* AntiLockBrakeStatus */ -typedef long AntiLockBrakeStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AntiLockBrakeStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AntiLockBrakeStatus; -extern const asn_INTEGER_specifics_t asn_SPC_AntiLockBrakeStatus_specs_1; -asn_struct_free_f AntiLockBrakeStatus_free; -asn_struct_print_f AntiLockBrakeStatus_print; -asn_constr_check_f AntiLockBrakeStatus_constraint; -ber_type_decoder_f AntiLockBrakeStatus_decode_ber; -der_type_encoder_f AntiLockBrakeStatus_encode_der; -xer_type_decoder_f AntiLockBrakeStatus_decode_xer; -xer_type_encoder_f AntiLockBrakeStatus_encode_xer; -oer_type_decoder_f AntiLockBrakeStatus_decode_oer; -oer_type_encoder_f AntiLockBrakeStatus_encode_oer; -per_type_decoder_f AntiLockBrakeStatus_decode_uper; -per_type_encoder_f AntiLockBrakeStatus_encode_uper; -per_type_decoder_f AntiLockBrakeStatus_decode_aper; -per_type_encoder_f AntiLockBrakeStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AntiLockBrakeStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ApplicableHeading.c b/src/tmx/Asn_J2735/src/r2024/ApplicableHeading.c new file mode 100644 index 000000000..2976754b0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ApplicableHeading.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ApplicableHeading.h" + +asn_TYPE_member_t asn_MBR_ApplicableHeading_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ApplicableHeading, heading), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HeadingDeg, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heading" + }, + { ATF_NOFLAGS, 0, offsetof(struct ApplicableHeading, tolerance), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Tolerance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tolerance" + }, +}; +static const ber_tlv_tag_t asn_DEF_ApplicableHeading_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ApplicableHeading_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* heading */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tolerance */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ApplicableHeading_specs_1 = { + sizeof(struct ApplicableHeading), + offsetof(struct ApplicableHeading, _asn_ctx), + asn_MAP_ApplicableHeading_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ApplicableHeading = { + "ApplicableHeading", + "ApplicableHeading", + &asn_OP_SEQUENCE, + asn_DEF_ApplicableHeading_tags_1, + sizeof(asn_DEF_ApplicableHeading_tags_1) + /sizeof(asn_DEF_ApplicableHeading_tags_1[0]), /* 1 */ + asn_DEF_ApplicableHeading_tags_1, /* Same as above */ + sizeof(asn_DEF_ApplicableHeading_tags_1) + /sizeof(asn_DEF_ApplicableHeading_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ApplicableHeading_1, + 2, /* Elements count */ + &asn_SPC_ApplicableHeading_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ApplicableHeading.h b/src/tmx/Asn_J2735/src/r2024/ApplicableHeading.h deleted file mode 100644 index c8c9032c3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ApplicableHeading.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ApplicableHeading_H_ -#define _ApplicableHeading_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "HeadingDeg.h" -#include "Tolerance.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ApplicableHeading */ -typedef struct ApplicableHeading { - HeadingDeg_t heading; - Tolerance_t tolerance; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ApplicableHeading_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ApplicableHeading; -extern asn_SEQUENCE_specifics_t asn_SPC_ApplicableHeading_specs_1; -extern asn_TYPE_member_t asn_MBR_ApplicableHeading_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _ApplicableHeading_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ApproachID.c b/src/tmx/Asn_J2735/src/r2024/ApproachID.c new file mode 100644 index 000000000..f84e8ceee --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ApproachID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ApproachID.h" + +int +ApproachID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ApproachID_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ApproachID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ApproachID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ApproachID = { + "ApproachID", + "ApproachID", + &asn_OP_NativeInteger, + asn_DEF_ApproachID_tags_1, + sizeof(asn_DEF_ApproachID_tags_1) + /sizeof(asn_DEF_ApproachID_tags_1[0]), /* 1 */ + asn_DEF_ApproachID_tags_1, /* Same as above */ + sizeof(asn_DEF_ApproachID_tags_1) + /sizeof(asn_DEF_ApproachID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ApproachID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ApproachID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ApproachID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ApproachID.h b/src/tmx/Asn_J2735/src/r2024/ApproachID.h deleted file mode 100644 index a22ebc87a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ApproachID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ApproachID_H_ -#define _ApproachID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ApproachID */ -typedef long ApproachID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ApproachID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ApproachID; -asn_struct_free_f ApproachID_free; -asn_struct_print_f ApproachID_print; -asn_constr_check_f ApproachID_constraint; -ber_type_decoder_f ApproachID_decode_ber; -der_type_encoder_f ApproachID_encode_der; -xer_type_decoder_f ApproachID_decode_xer; -xer_type_encoder_f ApproachID_encode_xer; -oer_type_decoder_f ApproachID_decode_oer; -oer_type_encoder_f ApproachID_encode_oer; -per_type_decoder_f ApproachID_decode_uper; -per_type_encoder_f ApproachID_encode_uper; -per_type_decoder_f ApproachID_decode_aper; -per_type_encoder_f ApproachID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ApproachID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ApproachOrLane.c b/src/tmx/Asn_J2735/src/r2024/ApproachOrLane.c new file mode 100644 index 000000000..2ce7591f5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ApproachOrLane.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "IntersectionCollision" + * found in "J2735-IntersectionCollision-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ApproachOrLane.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ApproachOrLane_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ApproachOrLane_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ApproachOrLane_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ApproachOrLane, choice.approach), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ApproachID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "approach" + }, + { ATF_NOFLAGS, 0, offsetof(struct ApproachOrLane, choice.lane), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lane" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ApproachOrLane_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* approach */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lane */ +}; +asn_CHOICE_specifics_t asn_SPC_ApproachOrLane_specs_1 = { + sizeof(struct ApproachOrLane), + offsetof(struct ApproachOrLane, _asn_ctx), + offsetof(struct ApproachOrLane, present), + sizeof(((struct ApproachOrLane *)0)->present), + asn_MAP_ApproachOrLane_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ApproachOrLane = { + "ApproachOrLane", + "ApproachOrLane", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ApproachOrLane_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ApproachOrLane_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_ApproachOrLane_1, + 2, /* Elements count */ + &asn_SPC_ApproachOrLane_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ApproachOrLane.h b/src/tmx/Asn_J2735/src/r2024/ApproachOrLane.h deleted file mode 100644 index f5e1efb1a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ApproachOrLane.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "IntersectionCollision" - * found in "J2735-IntersectionCollision-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ApproachOrLane_H_ -#define _ApproachOrLane_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ApproachID.h" -#include "LaneID.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ApproachOrLane_PR { - ApproachOrLane_PR_NOTHING, /* No components present */ - ApproachOrLane_PR_approach, - ApproachOrLane_PR_lane -} ApproachOrLane_PR; - -/* ApproachOrLane */ -typedef struct ApproachOrLane { - ApproachOrLane_PR present; - union ApproachOrLane_u { - ApproachID_t approach; - LaneID_t lane; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ApproachOrLane_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ApproachOrLane; -extern asn_CHOICE_specifics_t asn_SPC_ApproachOrLane_specs_1; -extern asn_TYPE_member_t asn_MBR_ApproachOrLane_1[2]; -extern asn_per_constraints_t asn_PER_type_ApproachOrLane_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _ApproachOrLane_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Area.c b/src/tmx/Asn_J2735/src/r2024/Area.c new file mode 100644 index 000000000..154705d50 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Area.c @@ -0,0 +1,133 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Area.h" + +static int +memb_chargingArea_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_chargingArea_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_chargingArea_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Area_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Area, areaID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OBJECT_IDENTIFIER, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "areaID" + }, + { ATF_NOFLAGS, 0, offsetof(struct Area, chargingArea), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ValidRegion, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_chargingArea_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_chargingArea_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_chargingArea_constraint_1 + }, + 0, 0, /* No default value */ + "chargingArea" + }, + { ATF_NOFLAGS, 0, offsetof(struct Area, chargingFees), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ChargingFees, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargingFees" + }, +}; +static const ber_tlv_tag_t asn_DEF_Area_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Area_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* areaID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* chargingArea */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* chargingFees */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Area_specs_1 = { + sizeof(struct Area), + offsetof(struct Area, _asn_ctx), + asn_MAP_Area_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Area = { + "Area", + "Area", + &asn_OP_SEQUENCE, + asn_DEF_Area_tags_1, + sizeof(asn_DEF_Area_tags_1) + /sizeof(asn_DEF_Area_tags_1[0]), /* 1 */ + asn_DEF_Area_tags_1, /* Same as above */ + sizeof(asn_DEF_Area_tags_1) + /sizeof(asn_DEF_Area_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Area_1, + 3, /* Elements count */ + &asn_SPC_Area_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Area.h b/src/tmx/Asn_J2735/src/r2024/Area.h deleted file mode 100644 index 5b69f350b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Area.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Area_H_ -#define _Area_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OBJECT_IDENTIFIER.h" -#include "ValidRegion.h" -#include "ChargingFees.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Area */ -typedef struct Area { - OBJECT_IDENTIFIER_t areaID; - ValidRegion_t chargingArea; - ChargingFees_t chargingFees; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Area_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Area; -extern asn_SEQUENCE_specifics_t asn_SPC_Area_specs_1; -extern asn_TYPE_member_t asn_MBR_Area_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Area_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AreaOrSegmentChargingInfo.c b/src/tmx/Asn_J2735/src/r2024/AreaOrSegmentChargingInfo.c new file mode 100644 index 000000000..b7236e949 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AreaOrSegmentChargingInfo.c @@ -0,0 +1,169 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AreaOrSegmentChargingInfo.h" + +static int +memb_chargingAreaOrSegment_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 999UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_chargingAreaOrSegment_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_chargingAreaOrSegment_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 999 } /* (SIZE(1..999,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_chargingAreaOrSegment_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_chargingAreaOrSegment_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 999 } /* (SIZE(1..999,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_chargingAreaOrSegment_2[] = { + { ATF_POINTER, 0, 0, + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_ChargingAreaOrSegment, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_chargingAreaOrSegment_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_chargingAreaOrSegment_specs_2 = { + sizeof(struct AreaOrSegmentChargingInfo__chargingAreaOrSegment), + offsetof(struct AreaOrSegmentChargingInfo__chargingAreaOrSegment, _asn_ctx), + 2, /* XER encoding is XMLValueList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_chargingAreaOrSegment_2 = { + "chargingAreaOrSegment", + "chargingAreaOrSegment", + &asn_OP_SEQUENCE_OF, + asn_DEF_chargingAreaOrSegment_tags_2, + sizeof(asn_DEF_chargingAreaOrSegment_tags_2) + /sizeof(asn_DEF_chargingAreaOrSegment_tags_2[0]) - 1, /* 1 */ + asn_DEF_chargingAreaOrSegment_tags_2, /* Same as above */ + sizeof(asn_DEF_chargingAreaOrSegment_tags_2) + /sizeof(asn_DEF_chargingAreaOrSegment_tags_2[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_chargingAreaOrSegment_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_chargingAreaOrSegment_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_chargingAreaOrSegment_2, + 1, /* Single element */ + &asn_SPC_chargingAreaOrSegment_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_AreaOrSegmentChargingInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AreaOrSegmentChargingInfo, chargingAreaOrSegment), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_chargingAreaOrSegment_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_chargingAreaOrSegment_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_chargingAreaOrSegment_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_chargingAreaOrSegment_constraint_1 + }, + 0, 0, /* No default value */ + "chargingAreaOrSegment" + }, +}; +static const ber_tlv_tag_t asn_DEF_AreaOrSegmentChargingInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AreaOrSegmentChargingInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* chargingAreaOrSegment */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AreaOrSegmentChargingInfo_specs_1 = { + sizeof(struct AreaOrSegmentChargingInfo), + offsetof(struct AreaOrSegmentChargingInfo, _asn_ctx), + asn_MAP_AreaOrSegmentChargingInfo_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AreaOrSegmentChargingInfo = { + "AreaOrSegmentChargingInfo", + "AreaOrSegmentChargingInfo", + &asn_OP_SEQUENCE, + asn_DEF_AreaOrSegmentChargingInfo_tags_1, + sizeof(asn_DEF_AreaOrSegmentChargingInfo_tags_1) + /sizeof(asn_DEF_AreaOrSegmentChargingInfo_tags_1[0]), /* 1 */ + asn_DEF_AreaOrSegmentChargingInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_AreaOrSegmentChargingInfo_tags_1) + /sizeof(asn_DEF_AreaOrSegmentChargingInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AreaOrSegmentChargingInfo_1, + 1, /* Elements count */ + &asn_SPC_AreaOrSegmentChargingInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AreaOrSegmentChargingInfo.h b/src/tmx/Asn_J2735/src/r2024/AreaOrSegmentChargingInfo.h deleted file mode 100644 index 374725a34..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AreaOrSegmentChargingInfo.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AreaOrSegmentChargingInfo_H_ -#define _AreaOrSegmentChargingInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct ChargingAreaOrSegment; - -/* AreaOrSegmentChargingInfo */ -typedef struct AreaOrSegmentChargingInfo { - struct AreaOrSegmentChargingInfo__chargingAreaOrSegment { - A_SEQUENCE_OF(struct ChargingAreaOrSegment) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } chargingAreaOrSegment; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AreaOrSegmentChargingInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AreaOrSegmentChargingInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_AreaOrSegmentChargingInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_AreaOrSegmentChargingInfo_1[1]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "ChargingAreaOrSegment.h" - -#endif /* _AreaOrSegmentChargingInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AreaType.c b/src/tmx/Asn_J2735/src/r2024/AreaType.c new file mode 100644 index 000000000..b394399cf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AreaType.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AreaType.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AreaType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AreaType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_AreaType_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AreaType, choice.broadRegion), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BroadRegion, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "broadRegion" + }, + { ATF_NOFLAGS, 0, offsetof(struct AreaType, choice.paths), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PathList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "paths" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_AreaType_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* broadRegion */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* paths */ +}; +asn_CHOICE_specifics_t asn_SPC_AreaType_specs_1 = { + sizeof(struct AreaType), + offsetof(struct AreaType, _asn_ctx), + offsetof(struct AreaType, present), + sizeof(((struct AreaType *)0)->present), + asn_MAP_AreaType_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_AreaType = { + "AreaType", + "AreaType", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AreaType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AreaType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_AreaType_1, + 2, /* Elements count */ + &asn_SPC_AreaType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AreaType.h b/src/tmx/Asn_J2735/src/r2024/AreaType.h deleted file mode 100644 index ad1be216d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AreaType.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AreaType_H_ -#define _AreaType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BroadRegion.h" -#include "PathList.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AreaType_PR { - AreaType_PR_NOTHING, /* No components present */ - AreaType_PR_broadRegion, - AreaType_PR_paths - /* Extensions may appear below */ - -} AreaType_PR; - -/* AreaType */ -typedef struct AreaType { - AreaType_PR present; - union AreaType_u { - BroadRegion_t broadRegion; - PathList_t paths; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AreaType_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AreaType; -extern asn_CHOICE_specifics_t asn_SPC_AreaType_specs_1; -extern asn_TYPE_member_t asn_MBR_AreaType_1[2]; -extern asn_per_constraints_t asn_PER_type_AreaType_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _AreaType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AsphaltOrTar.c b/src/tmx/Asn_J2735/src/r2024/AsphaltOrTar.c new file mode 100644 index 000000000..1eecf0657 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AsphaltOrTar.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AsphaltOrTar.h" + +asn_TYPE_member_t asn_MBR_AsphaltOrTar_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AsphaltOrTar, type), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AsphaltOrTarType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "type" + }, +}; +static const ber_tlv_tag_t asn_DEF_AsphaltOrTar_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AsphaltOrTar_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* type */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AsphaltOrTar_specs_1 = { + sizeof(struct AsphaltOrTar), + offsetof(struct AsphaltOrTar, _asn_ctx), + asn_MAP_AsphaltOrTar_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AsphaltOrTar = { + "AsphaltOrTar", + "AsphaltOrTar", + &asn_OP_SEQUENCE, + asn_DEF_AsphaltOrTar_tags_1, + sizeof(asn_DEF_AsphaltOrTar_tags_1) + /sizeof(asn_DEF_AsphaltOrTar_tags_1[0]), /* 1 */ + asn_DEF_AsphaltOrTar_tags_1, /* Same as above */ + sizeof(asn_DEF_AsphaltOrTar_tags_1) + /sizeof(asn_DEF_AsphaltOrTar_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AsphaltOrTar_1, + 1, /* Elements count */ + &asn_SPC_AsphaltOrTar_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AsphaltOrTar.h b/src/tmx/Asn_J2735/src/r2024/AsphaltOrTar.h deleted file mode 100644 index 65fa8948f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AsphaltOrTar.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AsphaltOrTar_H_ -#define _AsphaltOrTar_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "AsphaltOrTarType.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AsphaltOrTar */ -typedef struct AsphaltOrTar { - AsphaltOrTarType_t type; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AsphaltOrTar_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AsphaltOrTar; -extern asn_SEQUENCE_specifics_t asn_SPC_AsphaltOrTar_specs_1; -extern asn_TYPE_member_t asn_MBR_AsphaltOrTar_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AsphaltOrTar_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AsphaltOrTarType.c b/src/tmx/Asn_J2735/src/r2024/AsphaltOrTarType.c new file mode 100644 index 000000000..eba0d7180 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AsphaltOrTarType.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AsphaltOrTarType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AsphaltOrTarType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AsphaltOrTarType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_AsphaltOrTarType_value2enum_1[] = { + { 0, 8, "newSharp" }, + { 1, 8, "traveled" }, + { 2, 15, "trafficPolished" }, + { 3, 9, "excessTar" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_AsphaltOrTarType_enum2value_1[] = { + 3, /* excessTar(3) */ + 0, /* newSharp(0) */ + 2, /* trafficPolished(2) */ + 1 /* traveled(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_AsphaltOrTarType_specs_1 = { + asn_MAP_AsphaltOrTarType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_AsphaltOrTarType_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_AsphaltOrTarType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AsphaltOrTarType = { + "AsphaltOrTarType", + "AsphaltOrTarType", + &asn_OP_NativeEnumerated, + asn_DEF_AsphaltOrTarType_tags_1, + sizeof(asn_DEF_AsphaltOrTarType_tags_1) + /sizeof(asn_DEF_AsphaltOrTarType_tags_1[0]), /* 1 */ + asn_DEF_AsphaltOrTarType_tags_1, /* Same as above */ + sizeof(asn_DEF_AsphaltOrTarType_tags_1) + /sizeof(asn_DEF_AsphaltOrTarType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AsphaltOrTarType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AsphaltOrTarType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_AsphaltOrTarType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AsphaltOrTarType.h b/src/tmx/Asn_J2735/src/r2024/AsphaltOrTarType.h deleted file mode 100644 index a76164c93..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AsphaltOrTarType.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AsphaltOrTarType_H_ -#define _AsphaltOrTarType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AsphaltOrTarType { - AsphaltOrTarType_newSharp = 0, - AsphaltOrTarType_traveled = 1, - AsphaltOrTarType_trafficPolished = 2, - AsphaltOrTarType_excessTar = 3 - /* - * Enumeration is extensible - */ -} e_AsphaltOrTarType; - -/* AsphaltOrTarType */ -typedef long AsphaltOrTarType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AsphaltOrTarType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AsphaltOrTarType; -extern const asn_INTEGER_specifics_t asn_SPC_AsphaltOrTarType_specs_1; -asn_struct_free_f AsphaltOrTarType_free; -asn_struct_print_f AsphaltOrTarType_print; -asn_constr_check_f AsphaltOrTarType_constraint; -ber_type_decoder_f AsphaltOrTarType_decode_ber; -der_type_encoder_f AsphaltOrTarType_encode_der; -xer_type_decoder_f AsphaltOrTarType_decode_xer; -xer_type_encoder_f AsphaltOrTarType_encode_xer; -oer_type_decoder_f AsphaltOrTarType_decode_oer; -oer_type_encoder_f AsphaltOrTarType_encode_oer; -per_type_decoder_f AsphaltOrTarType_decode_uper; -per_type_encoder_f AsphaltOrTarType_encode_uper; -per_type_decoder_f AsphaltOrTarType_decode_aper; -per_type_encoder_f AsphaltOrTarType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AsphaltOrTarType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AssetStatus.c b/src/tmx/Asn_J2735/src/r2024/AssetStatus.c new file mode 100644 index 000000000..0213c6c2f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AssetStatus.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AssetStatus.h" + +int +AssetStatus_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AssetStatus_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_AssetStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AssetStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AssetStatus = { + "AssetStatus", + "AssetStatus", + &asn_OP_NativeInteger, + asn_DEF_AssetStatus_tags_1, + sizeof(asn_DEF_AssetStatus_tags_1) + /sizeof(asn_DEF_AssetStatus_tags_1[0]), /* 1 */ + asn_DEF_AssetStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_AssetStatus_tags_1) + /sizeof(asn_DEF_AssetStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AssetStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AssetStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AssetStatus_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AssetStatus.h b/src/tmx/Asn_J2735/src/r2024/AssetStatus.h deleted file mode 100644 index dfe4057e1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AssetStatus.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AssetStatus_H_ -#define _AssetStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AssetStatus { - AssetStatus_unknown_status = 10240, - AssetStatus_ready_for_use = 10241, - AssetStatus_working_normally = 10242, - AssetStatus_working_autonomously = 10243, - AssetStatus_working_incorrectly = 10244, - AssetStatus_not_working = 10245, - AssetStatus_normal_maintenance = 10246, - AssetStatus_in_route_to_use = 10247, - AssetStatus_returning_from_use = 10248, - AssetStatus_out_of_service = 10249, - AssetStatus_off_duty = 10250, - AssetStatus_on_patrol = 10251, - AssetStatus_on_call = 10252, - AssetStatus_on_break = 10253, - AssetStatus_mandatory_time_off = 10254, - AssetStatus_low_on_fuel = 10255, - AssetStatus_low_on_water = 10256, - AssetStatus_low_charge = 10257, - AssetStatus_missing = 10258 -} e_AssetStatus; - -/* AssetStatus */ -typedef long AssetStatus_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AssetStatus; -asn_struct_free_f AssetStatus_free; -asn_struct_print_f AssetStatus_print; -asn_constr_check_f AssetStatus_constraint; -ber_type_decoder_f AssetStatus_decode_ber; -der_type_encoder_f AssetStatus_encode_der; -xer_type_decoder_f AssetStatus_decode_xer; -xer_type_encoder_f AssetStatus_encode_xer; -oer_type_decoder_f AssetStatus_decode_oer; -oer_type_encoder_f AssetStatus_encode_oer; -per_type_decoder_f AssetStatus_decode_uper; -per_type_encoder_f AssetStatus_encode_uper; -per_type_decoder_f AssetStatus_decode_aper; -per_type_encoder_f AssetStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AssetStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AtmosPressureMeasurementStdDev.c b/src/tmx/Asn_J2735/src/r2024/AtmosPressureMeasurementStdDev.c new file mode 100644 index 000000000..60caefb4c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AtmosPressureMeasurementStdDev.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AtmosPressureMeasurementStdDev.h" + +int +AtmosPressureMeasurementStdDev_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 16L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AtmosPressureMeasurementStdDev_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..16) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AtmosPressureMeasurementStdDev_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (1..16) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AtmosPressureMeasurementStdDev_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AtmosPressureMeasurementStdDev = { + "AtmosPressureMeasurementStdDev", + "AtmosPressureMeasurementStdDev", + &asn_OP_NativeInteger, + asn_DEF_AtmosPressureMeasurementStdDev_tags_1, + sizeof(asn_DEF_AtmosPressureMeasurementStdDev_tags_1) + /sizeof(asn_DEF_AtmosPressureMeasurementStdDev_tags_1[0]), /* 1 */ + asn_DEF_AtmosPressureMeasurementStdDev_tags_1, /* Same as above */ + sizeof(asn_DEF_AtmosPressureMeasurementStdDev_tags_1) + /sizeof(asn_DEF_AtmosPressureMeasurementStdDev_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AtmosPressureMeasurementStdDev_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AtmosPressureMeasurementStdDev_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AtmosPressureMeasurementStdDev_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AtmosPressureMeasurementStdDev.h b/src/tmx/Asn_J2735/src/r2024/AtmosPressureMeasurementStdDev.h deleted file mode 100644 index d734a45bd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AtmosPressureMeasurementStdDev.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AtmosPressureMeasurementStdDev_H_ -#define _AtmosPressureMeasurementStdDev_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AtmosPressureMeasurementStdDev */ -typedef long AtmosPressureMeasurementStdDev_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AtmosPressureMeasurementStdDev_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AtmosPressureMeasurementStdDev; -asn_struct_free_f AtmosPressureMeasurementStdDev_free; -asn_struct_print_f AtmosPressureMeasurementStdDev_print; -asn_constr_check_f AtmosPressureMeasurementStdDev_constraint; -ber_type_decoder_f AtmosPressureMeasurementStdDev_decode_ber; -der_type_encoder_f AtmosPressureMeasurementStdDev_encode_der; -xer_type_decoder_f AtmosPressureMeasurementStdDev_decode_xer; -xer_type_encoder_f AtmosPressureMeasurementStdDev_encode_xer; -oer_type_decoder_f AtmosPressureMeasurementStdDev_decode_oer; -oer_type_encoder_f AtmosPressureMeasurementStdDev_encode_oer; -per_type_decoder_f AtmosPressureMeasurementStdDev_decode_uper; -per_type_encoder_f AtmosPressureMeasurementStdDev_encode_uper; -per_type_decoder_f AtmosPressureMeasurementStdDev_decode_aper; -per_type_encoder_f AtmosPressureMeasurementStdDev_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AtmosPressureMeasurementStdDev_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Attachment.c b/src/tmx/Asn_J2735/src/r2024/Attachment.c new file mode 100644 index 000000000..a68049bf1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Attachment.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Attachment.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Attachment_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Attachment_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Attachment_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 8, "stroller" }, + { 2, 14, "bicycleTrailer" }, + { 3, 4, "cart" }, + { 4, 10, "wheelchair" }, + { 5, 26, "otherWalkAssistAttachments" }, + { 6, 3, "pet" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Attachment_enum2value_1[] = { + 2, /* bicycleTrailer(2) */ + 3, /* cart(3) */ + 5, /* otherWalkAssistAttachments(5) */ + 6, /* pet(6) */ + 1, /* stroller(1) */ + 0, /* unavailable(0) */ + 4 /* wheelchair(4) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_Attachment_specs_1 = { + asn_MAP_Attachment_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Attachment_enum2value_1, /* N => "tag"; sorted by N */ + 7, /* Number of elements in the maps */ + 8, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Attachment_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Attachment = { + "Attachment", + "Attachment", + &asn_OP_NativeEnumerated, + asn_DEF_Attachment_tags_1, + sizeof(asn_DEF_Attachment_tags_1) + /sizeof(asn_DEF_Attachment_tags_1[0]), /* 1 */ + asn_DEF_Attachment_tags_1, /* Same as above */ + sizeof(asn_DEF_Attachment_tags_1) + /sizeof(asn_DEF_Attachment_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Attachment_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Attachment_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Attachment_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Attachment.h b/src/tmx/Asn_J2735/src/r2024/Attachment.h deleted file mode 100644 index 345832e41..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Attachment.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Attachment_H_ -#define _Attachment_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Attachment { - Attachment_unavailable = 0, - Attachment_stroller = 1, - Attachment_bicycleTrailer = 2, - Attachment_cart = 3, - Attachment_wheelchair = 4, - Attachment_otherWalkAssistAttachments = 5, - Attachment_pet = 6 - /* - * Enumeration is extensible - */ -} e_Attachment; - -/* Attachment */ -typedef long Attachment_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Attachment_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Attachment; -extern const asn_INTEGER_specifics_t asn_SPC_Attachment_specs_1; -asn_struct_free_f Attachment_free; -asn_struct_print_f Attachment_print; -asn_constr_check_f Attachment_constraint; -ber_type_decoder_f Attachment_decode_ber; -der_type_encoder_f Attachment_encode_der; -xer_type_decoder_f Attachment_decode_xer; -xer_type_encoder_f Attachment_encode_xer; -oer_type_decoder_f Attachment_decode_oer; -oer_type_encoder_f Attachment_encode_oer; -per_type_decoder_f Attachment_decode_uper; -per_type_encoder_f Attachment_encode_uper; -per_type_decoder_f Attachment_decode_aper; -per_type_encoder_f Attachment_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Attachment_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AttachmentRadius.c b/src/tmx/Asn_J2735/src/r2024/AttachmentRadius.c new file mode 100644 index 000000000..98e5c4f3f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AttachmentRadius.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AttachmentRadius.h" + +int +AttachmentRadius_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 200L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AttachmentRadius_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..200) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AttachmentRadius_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 200 } /* (0..200) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AttachmentRadius_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AttachmentRadius = { + "AttachmentRadius", + "AttachmentRadius", + &asn_OP_NativeInteger, + asn_DEF_AttachmentRadius_tags_1, + sizeof(asn_DEF_AttachmentRadius_tags_1) + /sizeof(asn_DEF_AttachmentRadius_tags_1[0]), /* 1 */ + asn_DEF_AttachmentRadius_tags_1, /* Same as above */ + sizeof(asn_DEF_AttachmentRadius_tags_1) + /sizeof(asn_DEF_AttachmentRadius_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AttachmentRadius_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AttachmentRadius_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AttachmentRadius_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AttachmentRadius.h b/src/tmx/Asn_J2735/src/r2024/AttachmentRadius.h deleted file mode 100644 index c0cc4ee59..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AttachmentRadius.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AttachmentRadius_H_ -#define _AttachmentRadius_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AttachmentRadius */ -typedef long AttachmentRadius_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AttachmentRadius_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AttachmentRadius; -asn_struct_free_f AttachmentRadius_free; -asn_struct_print_f AttachmentRadius_print; -asn_constr_check_f AttachmentRadius_constraint; -ber_type_decoder_f AttachmentRadius_decode_ber; -der_type_encoder_f AttachmentRadius_encode_der; -xer_type_decoder_f AttachmentRadius_decode_xer; -xer_type_encoder_f AttachmentRadius_encode_xer; -oer_type_decoder_f AttachmentRadius_decode_oer; -oer_type_encoder_f AttachmentRadius_encode_oer; -per_type_decoder_f AttachmentRadius_decode_uper; -per_type_encoder_f AttachmentRadius_encode_uper; -per_type_decoder_f AttachmentRadius_decode_aper; -per_type_encoder_f AttachmentRadius_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AttachmentRadius_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Attitude.c b/src/tmx/Asn_J2735/src/r2024/Attitude.c new file mode 100644 index 000000000..fd395a460 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Attitude.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Attitude.h" + +asn_TYPE_member_t asn_MBR_Attitude_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Attitude, pitch), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PitchDetected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pitch" + }, + { ATF_NOFLAGS, 0, offsetof(struct Attitude, roll), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RollDetected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roll" + }, + { ATF_NOFLAGS, 0, offsetof(struct Attitude, yaw), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_YawDetected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yaw" + }, +}; +static const ber_tlv_tag_t asn_DEF_Attitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Attitude_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pitch */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* roll */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* yaw */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Attitude_specs_1 = { + sizeof(struct Attitude), + offsetof(struct Attitude, _asn_ctx), + asn_MAP_Attitude_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Attitude = { + "Attitude", + "Attitude", + &asn_OP_SEQUENCE, + asn_DEF_Attitude_tags_1, + sizeof(asn_DEF_Attitude_tags_1) + /sizeof(asn_DEF_Attitude_tags_1[0]), /* 1 */ + asn_DEF_Attitude_tags_1, /* Same as above */ + sizeof(asn_DEF_Attitude_tags_1) + /sizeof(asn_DEF_Attitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Attitude_1, + 3, /* Elements count */ + &asn_SPC_Attitude_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Attitude.h b/src/tmx/Asn_J2735/src/r2024/Attitude.h deleted file mode 100644 index 12e7d6fb5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Attitude.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Attitude_H_ -#define _Attitude_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "PitchDetected.h" -#include "RollDetected.h" -#include "YawDetected.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Attitude */ -typedef struct Attitude { - PitchDetected_t pitch; - RollDetected_t roll; - YawDetected_t yaw; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Attitude_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Attitude; -extern asn_SEQUENCE_specifics_t asn_SPC_Attitude_specs_1; -extern asn_TYPE_member_t asn_MBR_Attitude_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Attitude_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AttitudeConfidence.c b/src/tmx/Asn_J2735/src/r2024/AttitudeConfidence.c new file mode 100644 index 000000000..e58518724 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AttitudeConfidence.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AttitudeConfidence.h" + +asn_TYPE_member_t asn_MBR_AttitudeConfidence_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AttitudeConfidence, pitchConfidence), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HeadingConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pitchConfidence" + }, + { ATF_NOFLAGS, 0, offsetof(struct AttitudeConfidence, rollConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HeadingConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rollConfidence" + }, + { ATF_NOFLAGS, 0, offsetof(struct AttitudeConfidence, yawConfidence), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HeadingConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yawConfidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_AttitudeConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AttitudeConfidence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pitchConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rollConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* yawConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AttitudeConfidence_specs_1 = { + sizeof(struct AttitudeConfidence), + offsetof(struct AttitudeConfidence, _asn_ctx), + asn_MAP_AttitudeConfidence_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AttitudeConfidence = { + "AttitudeConfidence", + "AttitudeConfidence", + &asn_OP_SEQUENCE, + asn_DEF_AttitudeConfidence_tags_1, + sizeof(asn_DEF_AttitudeConfidence_tags_1) + /sizeof(asn_DEF_AttitudeConfidence_tags_1[0]), /* 1 */ + asn_DEF_AttitudeConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_AttitudeConfidence_tags_1) + /sizeof(asn_DEF_AttitudeConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AttitudeConfidence_1, + 3, /* Elements count */ + &asn_SPC_AttitudeConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AttitudeConfidence.h b/src/tmx/Asn_J2735/src/r2024/AttitudeConfidence.h deleted file mode 100644 index 1e5e104d0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AttitudeConfidence.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AttitudeConfidence_H_ -#define _AttitudeConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "HeadingConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AttitudeConfidence */ -typedef struct AttitudeConfidence { - HeadingConfidence_t pitchConfidence; - HeadingConfidence_t rollConfidence; - HeadingConfidence_t yawConfidence; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AttitudeConfidence_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AttitudeConfidence; -extern asn_SEQUENCE_specifics_t asn_SPC_AttitudeConfidence_specs_1; -extern asn_TYPE_member_t asn_MBR_AttitudeConfidence_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AttitudeConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AudioLink.c b/src/tmx/Asn_J2735/src/r2024/AudioLink.c new file mode 100644 index 000000000..88a837eda --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AudioLink.c @@ -0,0 +1,285 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AudioLink.h" + +static int check_permitted_alphabet_5(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +static int +memb_amChannel_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 531L && value <= 1710L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_fmChannel_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 65800L && value <= 108009L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_satelliteChannel_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 9999L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_urlChannel_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 500UL) + && !check_permitted_alphabet_5(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_amChannel_constr_2 CC_NOTUSED = { + { 2, 1 } /* (531..1710) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_amChannel_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 531, 1710 } /* (531..1710) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_fmChannel_constr_3 CC_NOTUSED = { + { 4, 1 } /* (65800..108009) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_fmChannel_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 16, -1, 65800, 108009 } /* (65800..108009) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_satelliteChannel_constr_4 CC_NOTUSED = { + { 2, 1 } /* (1..9999) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_satelliteChannel_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 1, 9999 } /* (1..9999) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_urlChannel_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..500)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_urlChannel_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 9, 9, 1, 500 } /* (SIZE(1..500)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_AudioLink_1[] = { + { ATF_POINTER, 4, offsetof(struct AudioLink, amChannel), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_amChannel_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_amChannel_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_amChannel_constraint_1 + }, + 0, 0, /* No default value */ + "amChannel" + }, + { ATF_POINTER, 3, offsetof(struct AudioLink, fmChannel), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_fmChannel_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_fmChannel_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_fmChannel_constraint_1 + }, + 0, 0, /* No default value */ + "fmChannel" + }, + { ATF_POINTER, 2, offsetof(struct AudioLink, satelliteChannel), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_satelliteChannel_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_satelliteChannel_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_satelliteChannel_constraint_1 + }, + 0, 0, /* No default value */ + "satelliteChannel" + }, + { ATF_POINTER, 1, offsetof(struct AudioLink, urlChannel), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_urlChannel_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_urlChannel_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_urlChannel_constraint_1 + }, + 0, 0, /* No default value */ + "urlChannel" + }, +}; +static const int asn_MAP_AudioLink_oms_1[] = { 0, 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_AudioLink_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AudioLink_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* amChannel */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* fmChannel */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* satelliteChannel */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* urlChannel */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AudioLink_specs_1 = { + sizeof(struct AudioLink), + offsetof(struct AudioLink, _asn_ctx), + asn_MAP_AudioLink_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_AudioLink_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AudioLink = { + "AudioLink", + "AudioLink", + &asn_OP_SEQUENCE, + asn_DEF_AudioLink_tags_1, + sizeof(asn_DEF_AudioLink_tags_1) + /sizeof(asn_DEF_AudioLink_tags_1[0]), /* 1 */ + asn_DEF_AudioLink_tags_1, /* Same as above */ + sizeof(asn_DEF_AudioLink_tags_1) + /sizeof(asn_DEF_AudioLink_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AudioLink_1, + 4, /* Elements count */ + &asn_SPC_AudioLink_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AudioLink.h b/src/tmx/Asn_J2735/src/r2024/AudioLink.h deleted file mode 100644 index 64b500e55..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AudioLink.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AudioLink_H_ -#define _AudioLink_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "IA5String.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AudioLink */ -typedef struct AudioLink { - long *amChannel; /* OPTIONAL */ - long *fmChannel; /* OPTIONAL */ - long *satelliteChannel; /* OPTIONAL */ - IA5String_t *urlChannel; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AudioLink_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AudioLink; -extern asn_SEQUENCE_specifics_t asn_SPC_AudioLink_specs_1; -extern asn_TYPE_member_t asn_MBR_AudioLink_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AudioLink_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AuxiliaryBrakeStatus.c b/src/tmx/Asn_J2735/src/r2024/AuxiliaryBrakeStatus.c new file mode 100644 index 000000000..0796678f5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AuxiliaryBrakeStatus.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AuxiliaryBrakeStatus.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AuxiliaryBrakeStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AuxiliaryBrakeStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_AuxiliaryBrakeStatus_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 3, "off" }, + { 2, 2, "on" }, + { 3, 8, "reserved" } +}; +static const unsigned int asn_MAP_AuxiliaryBrakeStatus_enum2value_1[] = { + 1, /* off(1) */ + 2, /* on(2) */ + 3, /* reserved(3) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_AuxiliaryBrakeStatus_specs_1 = { + asn_MAP_AuxiliaryBrakeStatus_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_AuxiliaryBrakeStatus_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_AuxiliaryBrakeStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AuxiliaryBrakeStatus = { + "AuxiliaryBrakeStatus", + "AuxiliaryBrakeStatus", + &asn_OP_NativeEnumerated, + asn_DEF_AuxiliaryBrakeStatus_tags_1, + sizeof(asn_DEF_AuxiliaryBrakeStatus_tags_1) + /sizeof(asn_DEF_AuxiliaryBrakeStatus_tags_1[0]), /* 1 */ + asn_DEF_AuxiliaryBrakeStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_AuxiliaryBrakeStatus_tags_1) + /sizeof(asn_DEF_AuxiliaryBrakeStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AuxiliaryBrakeStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AuxiliaryBrakeStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_AuxiliaryBrakeStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AuxiliaryBrakeStatus.h b/src/tmx/Asn_J2735/src/r2024/AuxiliaryBrakeStatus.h deleted file mode 100644 index cf9f56e5b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AuxiliaryBrakeStatus.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AuxiliaryBrakeStatus_H_ -#define _AuxiliaryBrakeStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum AuxiliaryBrakeStatus { - AuxiliaryBrakeStatus_unavailable = 0, - AuxiliaryBrakeStatus_off = 1, - AuxiliaryBrakeStatus_on = 2, - AuxiliaryBrakeStatus_reserved = 3 -} e_AuxiliaryBrakeStatus; - -/* AuxiliaryBrakeStatus */ -typedef long AuxiliaryBrakeStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AuxiliaryBrakeStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AuxiliaryBrakeStatus; -extern const asn_INTEGER_specifics_t asn_SPC_AuxiliaryBrakeStatus_specs_1; -asn_struct_free_f AuxiliaryBrakeStatus_free; -asn_struct_print_f AuxiliaryBrakeStatus_print; -asn_constr_check_f AuxiliaryBrakeStatus_constraint; -ber_type_decoder_f AuxiliaryBrakeStatus_decode_ber; -der_type_encoder_f AuxiliaryBrakeStatus_encode_der; -xer_type_decoder_f AuxiliaryBrakeStatus_decode_xer; -xer_type_encoder_f AuxiliaryBrakeStatus_encode_xer; -oer_type_decoder_f AuxiliaryBrakeStatus_decode_oer; -oer_type_encoder_f AuxiliaryBrakeStatus_encode_oer; -per_type_decoder_f AuxiliaryBrakeStatus_decode_uper; -per_type_encoder_f AuxiliaryBrakeStatus_encode_uper; -per_type_decoder_f AuxiliaryBrakeStatus_decode_aper; -per_type_encoder_f AuxiliaryBrakeStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AuxiliaryBrakeStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AxesMovement.c b/src/tmx/Asn_J2735/src/r2024/AxesMovement.c new file mode 100644 index 000000000..5f792c37d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AxesMovement.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AxesMovement.h" + +asn_TYPE_member_t asn_MBR_AxesMovement_1[] = { + { ATF_POINTER, 6, offsetof(struct AxesMovement, yaw), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Yaw, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yaw" + }, + { ATF_POINTER, 5, offsetof(struct AxesMovement, pitch), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Pitch, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pitch" + }, + { ATF_POINTER, 4, offsetof(struct AxesMovement, roll), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Roll, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roll" + }, + { ATF_POINTER, 3, offsetof(struct AxesMovement, yawRate), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_YawRate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yawRate" + }, + { ATF_POINTER, 2, offsetof(struct AxesMovement, pitchRate), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CooperativeControlMessage_PitchRate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pitchRate" + }, + { ATF_POINTER, 1, offsetof(struct AxesMovement, rollRate), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CooperativeControlMessage_RollRate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rollRate" + }, +}; +static const int asn_MAP_AxesMovement_oms_1[] = { 0, 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_AxesMovement_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AxesMovement_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* yaw */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pitch */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* roll */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* yawRate */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* pitchRate */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* rollRate */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AxesMovement_specs_1 = { + sizeof(struct AxesMovement), + offsetof(struct AxesMovement, _asn_ctx), + asn_MAP_AxesMovement_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_AxesMovement_oms_1, /* Optional members */ + 6, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AxesMovement = { + "AxesMovement", + "AxesMovement", + &asn_OP_SEQUENCE, + asn_DEF_AxesMovement_tags_1, + sizeof(asn_DEF_AxesMovement_tags_1) + /sizeof(asn_DEF_AxesMovement_tags_1[0]), /* 1 */ + asn_DEF_AxesMovement_tags_1, /* Same as above */ + sizeof(asn_DEF_AxesMovement_tags_1) + /sizeof(asn_DEF_AxesMovement_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AxesMovement_1, + 6, /* Elements count */ + &asn_SPC_AxesMovement_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AxesMovement.h b/src/tmx/Asn_J2735/src/r2024/AxesMovement.h deleted file mode 100644 index 0d525bb93..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AxesMovement.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AxesMovement_H_ -#define _AxesMovement_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Yaw.h" -#include "Pitch.h" -#include "Roll.h" -#include "YawRate.h" -#include "CooperativeControlMessage_PitchRate.h" -#include "CooperativeControlMessage_RollRate.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AxesMovement */ -typedef struct AxesMovement { - Yaw_t *yaw; /* OPTIONAL */ - Pitch_t *pitch; /* OPTIONAL */ - Roll_t *roll; /* OPTIONAL */ - YawRate_t *yawRate; /* OPTIONAL */ - CooperativeControlMessage_PitchRate_t *pitchRate; /* OPTIONAL */ - CooperativeControlMessage_RollRate_t *rollRate; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AxesMovement_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AxesMovement; -extern asn_SEQUENCE_specifics_t asn_SPC_AxesMovement_specs_1; -extern asn_TYPE_member_t asn_MBR_AxesMovement_1[6]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AxesMovement_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AxleLocation.c b/src/tmx/Asn_J2735/src/r2024/AxleLocation.c new file mode 100644 index 000000000..e5855ed46 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AxleLocation.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AxleLocation.h" + +int +AxleLocation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AxleLocation_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AxleLocation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AxleLocation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AxleLocation = { + "AxleLocation", + "AxleLocation", + &asn_OP_NativeInteger, + asn_DEF_AxleLocation_tags_1, + sizeof(asn_DEF_AxleLocation_tags_1) + /sizeof(asn_DEF_AxleLocation_tags_1[0]), /* 1 */ + asn_DEF_AxleLocation_tags_1, /* Same as above */ + sizeof(asn_DEF_AxleLocation_tags_1) + /sizeof(asn_DEF_AxleLocation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AxleLocation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AxleLocation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AxleLocation_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AxleLocation.h b/src/tmx/Asn_J2735/src/r2024/AxleLocation.h deleted file mode 100644 index 293f66c96..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AxleLocation.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AxleLocation_H_ -#define _AxleLocation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AxleLocation */ -typedef long AxleLocation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AxleLocation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AxleLocation; -asn_struct_free_f AxleLocation_free; -asn_struct_print_f AxleLocation_print; -asn_constr_check_f AxleLocation_constraint; -ber_type_decoder_f AxleLocation_decode_ber; -der_type_encoder_f AxleLocation_encode_der; -xer_type_decoder_f AxleLocation_decode_xer; -xer_type_encoder_f AxleLocation_encode_xer; -oer_type_decoder_f AxleLocation_decode_oer; -oer_type_encoder_f AxleLocation_encode_oer; -per_type_decoder_f AxleLocation_decode_uper; -per_type_encoder_f AxleLocation_encode_uper; -per_type_decoder_f AxleLocation_decode_aper; -per_type_encoder_f AxleLocation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AxleLocation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AxleWeight.c b/src/tmx/Asn_J2735/src/r2024/AxleWeight.c new file mode 100644 index 000000000..eeefd0040 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AxleWeight.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AxleWeight.h" + +int +AxleWeight_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 64255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AxleWeight_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..64255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AxleWeight_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 64255 } /* (0..64255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_AxleWeight_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_AxleWeight = { + "AxleWeight", + "AxleWeight", + &asn_OP_NativeInteger, + asn_DEF_AxleWeight_tags_1, + sizeof(asn_DEF_AxleWeight_tags_1) + /sizeof(asn_DEF_AxleWeight_tags_1[0]), /* 1 */ + asn_DEF_AxleWeight_tags_1, /* Same as above */ + sizeof(asn_DEF_AxleWeight_tags_1) + /sizeof(asn_DEF_AxleWeight_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AxleWeight_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AxleWeight_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + AxleWeight_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AxleWeight.h b/src/tmx/Asn_J2735/src/r2024/AxleWeight.h deleted file mode 100644 index 4e95baa51..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AxleWeight.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AxleWeight_H_ -#define _AxleWeight_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AxleWeight */ -typedef long AxleWeight_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_AxleWeight_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_AxleWeight; -asn_struct_free_f AxleWeight_free; -asn_struct_print_f AxleWeight_print; -asn_constr_check_f AxleWeight_constraint; -ber_type_decoder_f AxleWeight_decode_ber; -der_type_encoder_f AxleWeight_encode_der; -xer_type_decoder_f AxleWeight_decode_xer; -xer_type_encoder_f AxleWeight_encode_xer; -oer_type_decoder_f AxleWeight_decode_oer; -oer_type_encoder_f AxleWeight_encode_oer; -per_type_decoder_f AxleWeight_decode_uper; -per_type_encoder_f AxleWeight_encode_uper; -per_type_decoder_f AxleWeight_decode_aper; -per_type_encoder_f AxleWeight_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _AxleWeight_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AxleWeightLimit.c b/src/tmx/Asn_J2735/src/r2024/AxleWeightLimit.c new file mode 100644 index 000000000..54d82bf04 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AxleWeightLimit.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AxleWeightLimit.h" + +asn_TYPE_member_t asn_MBR_AxleWeightLimit_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AxleWeightLimit, axleNumber), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "axleNumber" + }, + { ATF_NOFLAGS, 0, offsetof(struct AxleWeightLimit, maxLadenWeightOnAxle), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maxLadenWeightOnAxle" + }, +}; +static const ber_tlv_tag_t asn_DEF_AxleWeightLimit_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AxleWeightLimit_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* axleNumber */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* maxLadenWeightOnAxle */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AxleWeightLimit_specs_1 = { + sizeof(struct AxleWeightLimit), + offsetof(struct AxleWeightLimit, _asn_ctx), + asn_MAP_AxleWeightLimit_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AxleWeightLimit = { + "AxleWeightLimit", + "AxleWeightLimit", + &asn_OP_SEQUENCE, + asn_DEF_AxleWeightLimit_tags_1, + sizeof(asn_DEF_AxleWeightLimit_tags_1) + /sizeof(asn_DEF_AxleWeightLimit_tags_1[0]), /* 1 */ + asn_DEF_AxleWeightLimit_tags_1, /* Same as above */ + sizeof(asn_DEF_AxleWeightLimit_tags_1) + /sizeof(asn_DEF_AxleWeightLimit_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AxleWeightLimit_1, + 2, /* Elements count */ + &asn_SPC_AxleWeightLimit_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AxleWeightLimit.h b/src/tmx/Asn_J2735/src/r2024/AxleWeightLimit.h deleted file mode 100644 index 6ad833cc8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AxleWeightLimit.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AxleWeightLimit_H_ -#define _AxleWeightLimit_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int1Unsigned.h" -#include "Int2Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AxleWeightLimit */ -typedef struct AxleWeightLimit { - Int1Unsigned_t axleNumber; - Int2Unsigned_t maxLadenWeightOnAxle; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AxleWeightLimit_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AxleWeightLimit; -extern asn_SEQUENCE_specifics_t asn_SPC_AxleWeightLimit_specs_1; -extern asn_TYPE_member_t asn_MBR_AxleWeightLimit_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AxleWeightLimit_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AxleWeightLimits.c b/src/tmx/Asn_J2735/src/r2024/AxleWeightLimits.c new file mode 100644 index 000000000..277e91e2b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AxleWeightLimits.c @@ -0,0 +1,138 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AxleWeightLimits.h" + +asn_TYPE_member_t asn_MBR_AxleWeightLimits_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AxleWeightLimits, maxLadenweightOnAxle1), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maxLadenweightOnAxle1" + }, + { ATF_NOFLAGS, 0, offsetof(struct AxleWeightLimits, maxLadenweightOnAxle2), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maxLadenweightOnAxle2" + }, + { ATF_NOFLAGS, 0, offsetof(struct AxleWeightLimits, maxLadenweightOnAxle3), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maxLadenweightOnAxle3" + }, + { ATF_NOFLAGS, 0, offsetof(struct AxleWeightLimits, maxLadenweightOnAxle4), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maxLadenweightOnAxle4" + }, + { ATF_NOFLAGS, 0, offsetof(struct AxleWeightLimits, maxLadenweightOnAxle5), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maxLadenweightOnAxle5" + }, +}; +static const ber_tlv_tag_t asn_DEF_AxleWeightLimits_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AxleWeightLimits_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* maxLadenweightOnAxle1 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* maxLadenweightOnAxle2 */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* maxLadenweightOnAxle3 */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* maxLadenweightOnAxle4 */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* maxLadenweightOnAxle5 */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AxleWeightLimits_specs_1 = { + sizeof(struct AxleWeightLimits), + offsetof(struct AxleWeightLimits, _asn_ctx), + asn_MAP_AxleWeightLimits_tag2el_1, + 5, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AxleWeightLimits = { + "AxleWeightLimits", + "AxleWeightLimits", + &asn_OP_SEQUENCE, + asn_DEF_AxleWeightLimits_tags_1, + sizeof(asn_DEF_AxleWeightLimits_tags_1) + /sizeof(asn_DEF_AxleWeightLimits_tags_1[0]), /* 1 */ + asn_DEF_AxleWeightLimits_tags_1, /* Same as above */ + sizeof(asn_DEF_AxleWeightLimits_tags_1) + /sizeof(asn_DEF_AxleWeightLimits_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AxleWeightLimits_1, + 5, /* Elements count */ + &asn_SPC_AxleWeightLimits_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AxleWeightLimits.h b/src/tmx/Asn_J2735/src/r2024/AxleWeightLimits.h deleted file mode 100644 index 14433ece7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AxleWeightLimits.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AxleWeightLimits_H_ -#define _AxleWeightLimits_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int2Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AxleWeightLimits */ -typedef struct AxleWeightLimits { - Int2Unsigned_t maxLadenweightOnAxle1; - Int2Unsigned_t maxLadenweightOnAxle2; - Int2Unsigned_t maxLadenweightOnAxle3; - Int2Unsigned_t maxLadenweightOnAxle4; - Int2Unsigned_t maxLadenweightOnAxle5; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AxleWeightLimits_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AxleWeightLimits; -extern asn_SEQUENCE_specifics_t asn_SPC_AxleWeightLimits_specs_1; -extern asn_TYPE_member_t asn_MBR_AxleWeightLimits_1[5]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AxleWeightLimits_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AxleWeightList.c b/src/tmx/Asn_J2735/src/r2024/AxleWeightList.c new file mode 100644 index 000000000..034fe71f6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AxleWeightList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AxleWeightList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AxleWeightList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AxleWeightList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_AxleWeightList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_AxleWeightSet, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_AxleWeightList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_AxleWeightList_specs_1 = { + sizeof(struct AxleWeightList), + offsetof(struct AxleWeightList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_AxleWeightList = { + "AxleWeightList", + "AxleWeightList", + &asn_OP_SEQUENCE_OF, + asn_DEF_AxleWeightList_tags_1, + sizeof(asn_DEF_AxleWeightList_tags_1) + /sizeof(asn_DEF_AxleWeightList_tags_1[0]), /* 1 */ + asn_DEF_AxleWeightList_tags_1, /* Same as above */ + sizeof(asn_DEF_AxleWeightList_tags_1) + /sizeof(asn_DEF_AxleWeightList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AxleWeightList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AxleWeightList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_AxleWeightList_1, + 1, /* Single element */ + &asn_SPC_AxleWeightList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AxleWeightList.h b/src/tmx/Asn_J2735/src/r2024/AxleWeightList.h deleted file mode 100644 index 0094152b0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AxleWeightList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AxleWeightList_H_ -#define _AxleWeightList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct AxleWeightSet; - -/* AxleWeightList */ -typedef struct AxleWeightList { - A_SEQUENCE_OF(struct AxleWeightSet) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AxleWeightList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AxleWeightList; -extern asn_SET_OF_specifics_t asn_SPC_AxleWeightList_specs_1; -extern asn_TYPE_member_t asn_MBR_AxleWeightList_1[1]; -extern asn_per_constraints_t asn_PER_type_AxleWeightList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "AxleWeightSet.h" - -#endif /* _AxleWeightList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AxleWeightSet.c b/src/tmx/Asn_J2735/src/r2024/AxleWeightSet.c new file mode 100644 index 000000000..18600f149 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AxleWeightSet.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AxleWeightSet.h" + +asn_TYPE_member_t asn_MBR_AxleWeightSet_1[] = { + { ATF_POINTER, 2, offsetof(struct AxleWeightSet, location), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AxleLocation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "location" + }, + { ATF_POINTER, 1, offsetof(struct AxleWeightSet, weight), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AxleWeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "weight" + }, +}; +static const int asn_MAP_AxleWeightSet_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_AxleWeightSet_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AxleWeightSet_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* location */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* weight */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AxleWeightSet_specs_1 = { + sizeof(struct AxleWeightSet), + offsetof(struct AxleWeightSet, _asn_ctx), + asn_MAP_AxleWeightSet_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_AxleWeightSet_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AxleWeightSet = { + "AxleWeightSet", + "AxleWeightSet", + &asn_OP_SEQUENCE, + asn_DEF_AxleWeightSet_tags_1, + sizeof(asn_DEF_AxleWeightSet_tags_1) + /sizeof(asn_DEF_AxleWeightSet_tags_1[0]), /* 1 */ + asn_DEF_AxleWeightSet_tags_1, /* Same as above */ + sizeof(asn_DEF_AxleWeightSet_tags_1) + /sizeof(asn_DEF_AxleWeightSet_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AxleWeightSet_1, + 2, /* Elements count */ + &asn_SPC_AxleWeightSet_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AxleWeightSet.h b/src/tmx/Asn_J2735/src/r2024/AxleWeightSet.h deleted file mode 100644 index 13a3657a9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AxleWeightSet.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AxleWeightSet_H_ -#define _AxleWeightSet_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "AxleLocation.h" -#include "AxleWeight.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AxleWeightSet */ -typedef struct AxleWeightSet { - AxleLocation_t *location; /* OPTIONAL */ - AxleWeight_t *weight; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AxleWeightSet_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AxleWeightSet; -extern asn_SEQUENCE_specifics_t asn_SPC_AxleWeightSet_specs_1; -extern asn_TYPE_member_t asn_MBR_AxleWeightSet_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AxleWeightSet_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Axles.c b/src/tmx/Asn_J2735/src/r2024/Axles.c new file mode 100644 index 000000000..43659225b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Axles.c @@ -0,0 +1,215 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Axles.h" + +static int +memb_totalAxles_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 10L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_frontAxles_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 10L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_rearAxles_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 10L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_totalAxles_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_totalAxles_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (1..10,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_frontAxles_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_frontAxles_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 10 } /* (0..10,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_rearAxles_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_rearAxles_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 10 } /* (0..10,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Axles_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Axles, totalAxles), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_totalAxles_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_totalAxles_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_totalAxles_constraint_1 + }, + 0, 0, /* No default value */ + "totalAxles" + }, + { ATF_POINTER, 2, offsetof(struct Axles, frontAxles), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_frontAxles_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_frontAxles_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_frontAxles_constraint_1 + }, + 0, 0, /* No default value */ + "frontAxles" + }, + { ATF_POINTER, 1, offsetof(struct Axles, rearAxles), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_rearAxles_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_rearAxles_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_rearAxles_constraint_1 + }, + 0, 0, /* No default value */ + "rearAxles" + }, +}; +static const int asn_MAP_Axles_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_Axles_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Axles_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* totalAxles */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* frontAxles */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* rearAxles */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Axles_specs_1 = { + sizeof(struct Axles), + offsetof(struct Axles, _asn_ctx), + asn_MAP_Axles_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Axles_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Axles = { + "Axles", + "Axles", + &asn_OP_SEQUENCE, + asn_DEF_Axles_tags_1, + sizeof(asn_DEF_Axles_tags_1) + /sizeof(asn_DEF_Axles_tags_1[0]), /* 1 */ + asn_DEF_Axles_tags_1, /* Same as above */ + sizeof(asn_DEF_Axles_tags_1) + /sizeof(asn_DEF_Axles_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Axles_1, + 3, /* Elements count */ + &asn_SPC_Axles_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Axles.h b/src/tmx/Asn_J2735/src/r2024/Axles.h deleted file mode 100644 index d7237935c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Axles.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Axles_H_ -#define _Axles_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Axles */ -typedef struct Axles { - long totalAxles; - long *frontAxles; /* OPTIONAL */ - long *rearAxles; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Axles_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Axles; -extern asn_SEQUENCE_specifics_t asn_SPC_Axles_specs_1; -extern asn_TYPE_member_t asn_MBR_Axles_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Axles_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AxlesCharges.c b/src/tmx/Asn_J2735/src/r2024/AxlesCharges.c new file mode 100644 index 000000000..48686a800 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AxlesCharges.c @@ -0,0 +1,121 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AxlesCharges.h" + +static int +memb_axlesLimit_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 2L && value <= 10L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_axlesLimit_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_axlesLimit_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 2, 10 } /* (2..10,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_AxlesCharges_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct AxlesCharges, axlesLimit), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_axlesLimit_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_axlesLimit_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_axlesLimit_constraint_1 + }, + 0, 0, /* No default value */ + "axlesLimit" + }, + { ATF_NOFLAGS, 0, offsetof(struct AxlesCharges, axlesCharge), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "axlesCharge" + }, +}; +static const ber_tlv_tag_t asn_DEF_AxlesCharges_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_AxlesCharges_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* axlesLimit */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* axlesCharge */ +}; +asn_SEQUENCE_specifics_t asn_SPC_AxlesCharges_specs_1 = { + sizeof(struct AxlesCharges), + offsetof(struct AxlesCharges, _asn_ctx), + asn_MAP_AxlesCharges_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_AxlesCharges = { + "AxlesCharges", + "AxlesCharges", + &asn_OP_SEQUENCE, + asn_DEF_AxlesCharges_tags_1, + sizeof(asn_DEF_AxlesCharges_tags_1) + /sizeof(asn_DEF_AxlesCharges_tags_1[0]), /* 1 */ + asn_DEF_AxlesCharges_tags_1, /* Same as above */ + sizeof(asn_DEF_AxlesCharges_tags_1) + /sizeof(asn_DEF_AxlesCharges_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_AxlesCharges_1, + 2, /* Elements count */ + &asn_SPC_AxlesCharges_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AxlesCharges.h b/src/tmx/Asn_J2735/src/r2024/AxlesCharges.h deleted file mode 100644 index 54c410e8b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AxlesCharges.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AxlesCharges_H_ -#define _AxlesCharges_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "PaymentFee.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* AxlesCharges */ -typedef struct AxlesCharges { - long axlesLimit; - PaymentFee_t axlesCharge; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AxlesCharges_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AxlesCharges; -extern asn_SEQUENCE_specifics_t asn_SPC_AxlesCharges_specs_1; -extern asn_TYPE_member_t asn_MBR_AxlesCharges_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _AxlesCharges_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AxlesChargesTable.c b/src/tmx/Asn_J2735/src/r2024/AxlesChargesTable.c new file mode 100644 index 000000000..0b4b71a39 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AxlesChargesTable.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AxlesChargesTable.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_AxlesChargesTable_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_AxlesChargesTable_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 2, 10 } /* (SIZE(2..10,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_AxlesChargesTable_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_AxlesCharges, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_AxlesChargesTable_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_AxlesChargesTable_specs_1 = { + sizeof(struct AxlesChargesTable), + offsetof(struct AxlesChargesTable, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_AxlesChargesTable = { + "AxlesChargesTable", + "AxlesChargesTable", + &asn_OP_SEQUENCE_OF, + asn_DEF_AxlesChargesTable_tags_1, + sizeof(asn_DEF_AxlesChargesTable_tags_1) + /sizeof(asn_DEF_AxlesChargesTable_tags_1[0]), /* 1 */ + asn_DEF_AxlesChargesTable_tags_1, /* Same as above */ + sizeof(asn_DEF_AxlesChargesTable_tags_1) + /sizeof(asn_DEF_AxlesChargesTable_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_AxlesChargesTable_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_AxlesChargesTable_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_AxlesChargesTable_1, + 1, /* Single element */ + &asn_SPC_AxlesChargesTable_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AxlesChargesTable.h b/src/tmx/Asn_J2735/src/r2024/AxlesChargesTable.h deleted file mode 100644 index ce5f4ecd8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AxlesChargesTable.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AxlesChargesTable_H_ -#define _AxlesChargesTable_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct AxlesCharges; - -/* AxlesChargesTable */ -typedef struct AxlesChargesTable { - A_SEQUENCE_OF(struct AxlesCharges) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AxlesChargesTable_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AxlesChargesTable; -extern asn_SET_OF_specifics_t asn_SPC_AxlesChargesTable_specs_1; -extern asn_TYPE_member_t asn_MBR_AxlesChargesTable_1[1]; -extern asn_per_constraints_t asn_PER_type_AxlesChargesTable_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "AxlesCharges.h" - -#endif /* _AxlesChargesTable_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/AxlesWeightLimits.c b/src/tmx/Asn_J2735/src/r2024/AxlesWeightLimits.c new file mode 100644 index 000000000..807415e9e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/AxlesWeightLimits.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "AxlesWeightLimits.h" + +static asn_TYPE_member_t asn_MBR_AxlesWeightLimits_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_AxleWeightLimit, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_AxlesWeightLimits_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_AxlesWeightLimits_specs_1 = { + sizeof(struct AxlesWeightLimits), + offsetof(struct AxlesWeightLimits, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_AxlesWeightLimits = { + "AxlesWeightLimits", + "AxlesWeightLimits", + &asn_OP_SEQUENCE_OF, + asn_DEF_AxlesWeightLimits_tags_1, + sizeof(asn_DEF_AxlesWeightLimits_tags_1) + /sizeof(asn_DEF_AxlesWeightLimits_tags_1[0]), /* 1 */ + asn_DEF_AxlesWeightLimits_tags_1, /* Same as above */ + sizeof(asn_DEF_AxlesWeightLimits_tags_1) + /sizeof(asn_DEF_AxlesWeightLimits_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_AxlesWeightLimits_1, + 1, /* Single element */ + &asn_SPC_AxlesWeightLimits_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/AxlesWeightLimits.h b/src/tmx/Asn_J2735/src/r2024/AxlesWeightLimits.h deleted file mode 100644 index 523f86788..000000000 --- a/src/tmx/Asn_J2735/src/r2024/AxlesWeightLimits.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _AxlesWeightLimits_H_ -#define _AxlesWeightLimits_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct AxleWeightLimit; - -/* AxlesWeightLimits */ -typedef struct AxlesWeightLimits { - A_SEQUENCE_OF(struct AxleWeightLimit) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} AxlesWeightLimits_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_AxlesWeightLimits; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "AxleWeightLimit.h" - -#endif /* _AxlesWeightLimits_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BIT_STRING.c b/src/tmx/Asn_J2735/src/r2024/BIT_STRING.c new file mode 100644 index 000000000..b5ba94017 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BIT_STRING.c @@ -0,0 +1,213 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * BIT STRING basic type description. + */ +static const ber_tlv_tag_t asn_DEF_BIT_STRING_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs = { + sizeof(BIT_STRING_t), + offsetof(BIT_STRING_t, _asn_ctx), + ASN_OSUBV_BIT +}; +asn_TYPE_operation_t asn_OP_BIT_STRING = { + OCTET_STRING_free, /* Implemented in terms of OCTET STRING */ +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + BIT_STRING_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + BIT_STRING_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ + OCTET_STRING_encode_der, /* Implemented in terms of OCTET STRING */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + OCTET_STRING_decode_xer_binary, + BIT_STRING_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + BIT_STRING_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + BIT_STRING_decode_oer, + BIT_STRING_encode_oer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + BIT_STRING_decode_uper, /* Unaligned PER decoder */ + BIT_STRING_encode_uper, /* Unaligned PER encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + OCTET_STRING_decode_aper, /* Aligned PER decoder */ + OCTET_STRING_encode_aper, /* Aligned PER encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + BIT_STRING_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_BIT_STRING = { + "BIT STRING", + "BIT_STRING", + &asn_OP_BIT_STRING, + asn_DEF_BIT_STRING_tags, + sizeof(asn_DEF_BIT_STRING_tags) + / sizeof(asn_DEF_BIT_STRING_tags[0]), + asn_DEF_BIT_STRING_tags, /* Same as above */ + sizeof(asn_DEF_BIT_STRING_tags) + / sizeof(asn_DEF_BIT_STRING_tags[0]), + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BIT_STRING_constraint + }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs +}; + +/* + * BIT STRING generic constraint. + */ +int +BIT_STRING_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + + if(st && st->buf) { + if((st->size == 0 && st->bits_unused) + || st->bits_unused < 0 || st->bits_unused > 7) { + ASN__CTFAIL(app_key, td, sptr, + "%s: invalid padding byte (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + return 0; +} + +/* + * Non-destructively remove the trailing 0-bits from the given bit string. + */ +const BIT_STRING_t * +BIT_STRING__compactify(const BIT_STRING_t *st, BIT_STRING_t *tmp) { + const uint8_t *b; + union { + const uint8_t *c_buf; + uint8_t *nc_buf; + } unconst; + + if(st->size == 0) { + assert(st->bits_unused == 0); + return st; + } else { + for(b = &st->buf[st->size - 1]; b > st->buf && *b == 0; b--) { + ; + } + /* b points to the last byte which may contain data */ + if(*b) { + int unused = 7; + uint8_t v = *b; + v &= -(int8_t)v; + if(v & 0x0F) unused -= 4; + if(v & 0x33) unused -= 2; + if(v & 0x55) unused -= 1; + tmp->size = b-st->buf + 1; + tmp->bits_unused = unused; + } else { + tmp->size = b-st->buf; + tmp->bits_unused = 0; + } + + assert(b >= st->buf); + } + + unconst.c_buf = st->buf; + tmp->buf = unconst.nc_buf; + return tmp; +} + +/* + * Lexicographically compare the common prefix of both strings, + * and if it is the same return -1 for the smallest string. + */ +int +BIT_STRING_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + /* + * Remove information about trailing bits, since + * X.680 (08/2015) #22.7 "ensure that different semantics are not" + * "associated with [values that differ only in] the trailing 0 bits." + */ + BIT_STRING_t compact_a, compact_b; + const BIT_STRING_t *a = BIT_STRING__compactify(aptr, &compact_a); + const BIT_STRING_t *b = BIT_STRING__compactify(bptr, &compact_b); + const asn_OCTET_STRING_specifics_t *specs = td->specifics; + + (void)specs; + assert(specs && specs->subvariant == ASN_OSUBV_BIT); + + if(a && b) { + size_t common_prefix_size = a->size <= b->size ? a->size : b->size; + int ret = memcmp(a->buf, b->buf, common_prefix_size); + if(ret == 0) { + /* Figure out which string with equal prefixes is longer. */ + if(a->size < b->size) { + return -1; + } else if(a->size > b->size) { + return 1; + } else { + /* Figure out how many unused bits */ + if(a->bits_unused > b->bits_unused) { + return -1; + } else if(a->bits_unused < b->bits_unused) { + return 1; + } else { + return 0; + } + } + } else { + return ret; + } + } else if(!a && !b) { + return 0; + } else if(!a) { + return -1; + } else { + return 1; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/BIT_STRING.h b/src/tmx/Asn_J2735/src/r2024/BIT_STRING.h deleted file mode 100644 index e755fe9f5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BIT_STRING.h +++ /dev/null @@ -1,75 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _BIT_STRING_H_ -#define _BIT_STRING_H_ - -#include /* Some help from OCTET STRING */ - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct BIT_STRING_s { - uint8_t *buf; /* BIT STRING body */ - size_t size; /* Size of the above buffer */ - - int bits_unused;/* Unused trailing bits in the last octet (0..7) */ - - asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */ -} BIT_STRING_t; - -extern asn_TYPE_descriptor_t asn_DEF_BIT_STRING; -extern asn_TYPE_operation_t asn_OP_BIT_STRING; -extern asn_OCTET_STRING_specifics_t asn_SPC_BIT_STRING_specs; - -#define BIT_STRING_free OCTET_STRING_free - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -asn_struct_print_f BIT_STRING_print; /* Human-readable output */ -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -asn_struct_compare_f BIT_STRING_compare; - -asn_constr_check_f BIT_STRING_constraint; - -#if !defined(ASN_DISABLE_BER_SUPPORT) -#define BIT_STRING_decode_ber OCTET_STRING_decode_ber -#define BIT_STRING_encode_der OCTET_STRING_encode_der -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -#define BIT_STRING_decode_xer OCTET_STRING_decode_xer_binary -xer_type_encoder_f BIT_STRING_encode_xer; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f BIT_STRING_encode_jer; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -oer_type_decoder_f BIT_STRING_decode_oer; -oer_type_encoder_f BIT_STRING_encode_oer; -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -per_type_decoder_f BIT_STRING_decode_uper; -per_type_encoder_f BIT_STRING_encode_uper; -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -#define BIT_STRING_decode_aper OCTET_STRING_decode_aper -#define BIT_STRING_encode_aper OCTET_STRING_encode_aper -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -asn_random_fill_f BIT_STRING_random_fill; -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -const BIT_STRING_t *BIT_STRING__compactify(const BIT_STRING_t *st, BIT_STRING_t *tmp); - -#ifdef __cplusplus -} -#endif - -#endif /* _BIT_STRING_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/BIT_STRING_oer.c b/src/tmx/Asn_J2735/src/r2024/BIT_STRING_oer.c new file mode 100644 index 000000000..95c955896 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BIT_STRING_oer.c @@ -0,0 +1,168 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +BIT_STRING_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, void **sptr, + const void *ptr, size_t size) { + BIT_STRING_t *st = (BIT_STRING_t *)*sptr; + const asn_oer_constraints_t *cts = + constraints ? constraints : td->encoding_constraints.oer_constraints; + ssize_t ct_size = cts ? cts->size : -1; + asn_dec_rval_t rval = {RC_OK, 0}; + size_t expected_length = 0; + + (void)opt_codec_ctx; + + if(!st) { + st = (BIT_STRING_t *)(*sptr = CALLOC(1, sizeof(*st))); + if(!st) ASN__DECODE_FAILED; + } + + if(ct_size >= 0) { + expected_length = (ct_size + 7) >> 3; + st->bits_unused = (8 - (ct_size & 7)) & 7; + } else { + /* + * X.696 (08/2015) #13.3.1 + * Encode length determinant as _number of octets_, but only + * if upper bound is not equal to lower bound. + */ + ssize_t len_len = oer_fetch_length(ptr, size, &expected_length); + if(len_len > 0) { + ptr = (const char *)ptr + len_len; + size -= len_len; + } else if(len_len == 0) { + ASN__DECODE_STARVED; + } else if(len_len < 0) { + ASN__DECODE_FAILED; + } + + if(expected_length < 1) { + ASN__DECODE_FAILED; + } else if(expected_length > size) { + ASN__DECODE_STARVED; + } + + st->bits_unused = ((const uint8_t *)ptr)[0]; + if(st->bits_unused & ~7) { + ASN_DEBUG("%s: unused bits outside of 0..7 range", td->name); + ASN__DECODE_FAILED; + } + ptr = (const char *)ptr + 1; + size--; + expected_length--; + rval.consumed = len_len + 1; + } + + if(size < expected_length) { + ASN__DECODE_STARVED; + } else { + uint8_t *buf = MALLOC(expected_length + 1); + if(buf == NULL) { + ASN__DECODE_FAILED; + } else { + memcpy(buf, ptr, expected_length); + buf[expected_length] = '\0'; + } + FREEMEM(st->buf); + st->buf = buf; + st->size = expected_length; + if(expected_length > 0) { + buf[expected_length - 1] &= (0xff << st->bits_unused); + } + + rval.consumed += expected_length; + return rval; + } +} + +/* + * Encode as Canonical OER. + */ +asn_enc_rval_t +BIT_STRING_encode_oer(const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, + const void *sptr, asn_app_consume_bytes_f *cb, + void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + asn_enc_rval_t erval = {0, 0, 0}; + const asn_oer_constraints_t *cts = + constraints ? constraints : td->encoding_constraints.oer_constraints; + ssize_t ct_size = cts ? cts->size : -1; + size_t trailing_zeros = 0; + int fix_last_byte = 0; + + if(!st) ASN__ENCODE_FAILED; + + if(st->bits_unused & ~7) { + ASN_DEBUG("BIT STRING unused bits %d out of 0..7 range", + st->bits_unused); + ASN__ENCODE_FAILED; + } + if(st->bits_unused && !(st->size && st->buf)) { + ASN_DEBUG("BIT STRING %s size 0 can't support unused bits %d", td->name, + st->bits_unused); + ASN__ENCODE_FAILED; + } + + if(ct_size >= 0) { + size_t ct_bytes = (ct_size + 7) >> 3; + if(st->size > ct_bytes) { + ASN_DEBUG("More bits in BIT STRING %s (%" ASN_PRI_SSIZE ") than constrained %" ASN_PRI_SSIZE "", + td->name, 8 * st->size - st->bits_unused, ct_size); + ASN__ENCODE_FAILED; + } + trailing_zeros = ct_bytes - st->size; /* Allow larger constraint */ + } else { + uint8_t ub = st->bits_unused & 7; + ssize_t len_len = oer_serialize_length(1 + st->size, cb, app_key); + if(len_len < 0) ASN__ENCODE_FAILED; + if(cb(&ub, 1, app_key) < 0) { + ASN__ENCODE_FAILED; + } + erval.encoded += len_len + 1; + } + + if(st->bits_unused) { + if(st->buf[st->size - 1] & (0xff << st->bits_unused)) { + fix_last_byte = 1; + } + } + + if(cb(st->buf, st->size - fix_last_byte, app_key) < 0) { + ASN__ENCODE_FAILED; + } + + if(fix_last_byte) { + uint8_t b = st->buf[st->size - 1] & (0xff << st->bits_unused); + if(cb(&b, 1, app_key) < 0) { + ASN__ENCODE_FAILED; + } + } + + erval.encoded += st->size; + + if(trailing_zeros) { + static uint8_t zeros[16]; + while(trailing_zeros > 0) { + int ret; + if(trailing_zeros < sizeof(zeros)) { + ret = cb(zeros, trailing_zeros, app_key); + erval.encoded += trailing_zeros; + } else { + ret = cb(zeros, sizeof(zeros), app_key); + erval.encoded += sizeof(zeros); + } + if(ret < 0) ASN__ENCODE_FAILED; + } + } + + return erval; +} diff --git a/src/tmx/Asn_J2735/src/r2024/BIT_STRING_print.c b/src/tmx/Asn_J2735/src/r2024/BIT_STRING_print.c new file mode 100644 index 000000000..bab1ea522 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BIT_STRING_print.c @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * BIT STRING specific contents printer. + */ +int +BIT_STRING_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + asn_app_consume_bytes_f *cb, void *app_key) { + const char * const h2c = "0123456789ABCDEF"; + char scratch[64]; + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + uint8_t *buf; + uint8_t *end; + char *p = scratch; + + (void)td; /* Unused argument */ + + if(!st || !st->buf) + return (cb("", 8, app_key) < 0) ? -1 : 0; + + ilevel++; + buf = st->buf; + end = buf + st->size; + + /* + * Hexadecimal dump. + */ + for(; buf < end; buf++) { + if((buf - st->buf) % 16 == 0 && (st->size > 16) + && buf != st->buf) { + _i_INDENT(1); + /* Dump the string */ + if(cb(scratch, p - scratch, app_key) < 0) return -1; + p = scratch; + } + *p++ = h2c[*buf >> 4]; + *p++ = h2c[*buf & 0x0F]; + *p++ = 0x20; + } + + if(p > scratch) { + p--; /* Eat the tailing space */ + + if((st->size > 16)) { + _i_INDENT(1); + } + + /* Dump the incomplete 16-bytes row */ + if(cb(scratch, p - scratch, app_key) < 0) + return -1; + } + + if(st->bits_unused) { + int ret = snprintf(scratch, sizeof(scratch), " (%d bit%s unused)", + st->bits_unused, st->bits_unused == 1 ? "" : "s"); + assert(ret > 0 && ret < (ssize_t)sizeof(scratch)); + if(ret > 0 && ret < (ssize_t)sizeof(scratch) + && cb(scratch, ret, app_key) < 0) + return -1; + } + + return 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/BIT_STRING_rfill.c b/src/tmx/Asn_J2735/src/r2024/BIT_STRING_rfill.c new file mode 100644 index 000000000..a6e6a9544 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BIT_STRING_rfill.c @@ -0,0 +1,124 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_random_fill_result_t +BIT_STRING_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + const asn_OCTET_STRING_specifics_t *specs = + td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_BIT_STRING_specs; + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + static unsigned lengths[] = {0, 1, 2, 3, 4, 8, + 126, 127, 128, 16383, 16384, 16385, + 65534, 65535, 65536, 65537}; + uint8_t *buf; + uint8_t *bend; + uint8_t *b; + size_t rnd_bits, rnd_len; + BIT_STRING_t *st; + + if(max_length == 0) return result_skipped; + + switch(specs->subvariant) { + case ASN_OSUBV_ANY: + return result_failed; + case ASN_OSUBV_BIT: + break; + default: + break; + } + + /* Figure out how far we should go */ + rnd_bits = lengths[asn_random_between( + 0, sizeof(lengths) / sizeof(lengths[0]) - 1)]; +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + if(!constraints || !constraints->per_constraints) + constraints = &td->encoding_constraints; + if(constraints->per_constraints) { + const asn_per_constraint_t *pc = &constraints->per_constraints->size; + if(pc->flags & APC_CONSTRAINED) { + long suggested_upper_bound = pc->upper_bound < (ssize_t)max_length + ? pc->upper_bound + : (ssize_t)max_length; + if(max_length < (size_t)pc->lower_bound) { + return result_skipped; + } + if(pc->flags & APC_EXTENSIBLE) { + switch(asn_random_between(0, 5)) { + case 0: + if(pc->lower_bound > 0) { + rnd_bits = pc->lower_bound - 1; + break; + } + /* Fall through */ + case 1: + rnd_bits = pc->upper_bound + 1; + break; + case 2: + /* Keep rnd_bits from the table */ + if(rnd_bits < max_length) { + break; + } + /* Fall through */ + default: + rnd_bits = asn_random_between(pc->lower_bound, + suggested_upper_bound); + } + } else { + rnd_bits = + asn_random_between(pc->lower_bound, suggested_upper_bound); + } + } else { + rnd_bits = asn_random_between(0, max_length - 1); + } + } else { +#else + if(!constraints) constraints = &td->encoding_constraints; + { +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + if(rnd_bits >= max_length) { + rnd_bits = asn_random_between(0, max_length - 1); + } + } + + rnd_len = (rnd_bits + 7) / 8; + buf = CALLOC(1, rnd_len + 1); + if(!buf) return result_failed; + + bend = &buf[rnd_len]; + + for(b = buf; b < bend; b++) { + *(uint8_t *)b = asn_random_between(0, 255); + } + *b = 0; /* Zero-terminate just in case. */ + + if(*sptr) { + st = *sptr; + FREEMEM(st->buf); + } else { + st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) { + FREEMEM(buf); + return result_failed; + } + } + + st->buf = buf; + st->size = rnd_len; + st->bits_unused = (8 - (rnd_bits & 0x7)) & 0x7; + if(st->bits_unused) { + assert(st->size > 0); + st->buf[st->size-1] &= 0xff << st->bits_unused; + } + + result_ok.length = st->size; + return result_ok; +} diff --git a/src/tmx/Asn_J2735/src/r2024/BIT_STRING_uper.c b/src/tmx/Asn_J2735/src/r2024/BIT_STRING_uper.c new file mode 100644 index 000000000..d82349eed --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BIT_STRING_uper.c @@ -0,0 +1,244 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +#undef RETURN +#define RETURN(_code) \ + do { \ + asn_dec_rval_t tmprval; \ + tmprval.code = _code; \ + tmprval.consumed = consumed_myself; \ + return tmprval; \ + } while(0) + +static asn_per_constraint_t asn_DEF_BIT_STRING_constraint_size = { + APC_SEMI_CONSTRAINED, -1, -1, 0, 0}; + +asn_dec_rval_t +BIT_STRING_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_BIT_STRING_specs; + const asn_per_constraints_t *pc = + constraints ? constraints : td->encoding_constraints.per_constraints; + const asn_per_constraint_t *csiz; + asn_dec_rval_t rval = { RC_OK, 0 }; + BIT_STRING_t *st = (BIT_STRING_t *)*sptr; + ssize_t consumed_myself = 0; + int repeat; + + (void)opt_codec_ctx; + + if(pc) { + csiz = &pc->size; + } else { + csiz = &asn_DEF_BIT_STRING_constraint_size; + } + + if(specs->subvariant != ASN_OSUBV_BIT) { + ASN_DEBUG("Subvariant %d is not BIT OSUBV_BIT", specs->subvariant); + RETURN(RC_FAIL); + } + + /* + * Allocate the string. + */ + if(!st) { + st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) RETURN(RC_FAIL); + } + + ASN_DEBUG("PER Decoding %s size %ld .. %ld bits %d", + csiz->flags & APC_EXTENSIBLE ? "extensible" : "non-extensible", + csiz->lower_bound, csiz->upper_bound, csiz->effective_bits); + + if(csiz->flags & APC_EXTENSIBLE) { + int inext = per_get_few_bits(pd, 1); + if(inext < 0) RETURN(RC_WMORE); + if(inext) { + csiz = &asn_DEF_BIT_STRING_constraint_size; + } + } + + if(csiz->effective_bits >= 0) { + FREEMEM(st->buf); + st->size = (csiz->upper_bound + 7) >> 3; + st->buf = (uint8_t *)MALLOC(st->size + 1); + if(!st->buf) { st->size = 0; RETURN(RC_FAIL); } + } + + /* X.691, #16.5: zero-length encoding */ + /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ + /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ + if(csiz->effective_bits == 0) { + int ret; + ASN_DEBUG("Encoding BIT STRING size %ld", csiz->upper_bound); + ret = per_get_many_bits(pd, st->buf, 0, csiz->upper_bound); + if(ret < 0) RETURN(RC_WMORE); + consumed_myself += csiz->upper_bound; + st->buf[st->size] = 0; + st->bits_unused = (8 - (csiz->upper_bound & 0x7)) & 0x7; + RETURN(RC_OK); + } + + st->size = 0; + do { + ssize_t raw_len; + ssize_t len_bytes; + ssize_t len_bits; + void *p; + int ret; + + /* Get the PER length */ + raw_len = uper_get_length(pd, csiz->effective_bits, csiz->lower_bound, + &repeat); + if(raw_len < 0) RETURN(RC_WMORE); + if(raw_len == 0 && st->buf) break; + + ASN_DEBUG("Got PER length eb %ld, len %ld, %s (%s)", + (long)csiz->effective_bits, (long)raw_len, + repeat ? "repeat" : "once", td->name); + len_bits = raw_len; + len_bytes = (len_bits + 7) >> 3; + if(len_bits & 0x7) st->bits_unused = 8 - (len_bits & 0x7); + /* len_bits be multiple of 16K if repeat is set */ + p = REALLOC(st->buf, st->size + len_bytes + 1); + if(!p) RETURN(RC_FAIL); + st->buf = (uint8_t *)p; + + ret = per_get_many_bits(pd, &st->buf[st->size], 0, len_bits); + if(ret < 0) RETURN(RC_WMORE); + st->size += len_bytes; + } while(repeat); + st->buf[st->size] = 0; /* nul-terminate */ + + return rval; +} + +asn_enc_rval_t +BIT_STRING_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_OCTET_STRING_specifics_t *specs = + td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_BIT_STRING_specs; + const asn_per_constraints_t *pc = + constraints ? constraints : td->encoding_constraints.per_constraints; + const asn_per_constraint_t *csiz; + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + BIT_STRING_t compact_bstr; /* Do not modify this directly! */ + asn_enc_rval_t er = { 0, 0, 0 }; + int inext = 0; /* Lies not within extension root */ + size_t size_in_bits; + const uint8_t *buf; + int ret; + int ct_extensible; + + if(!st || (!st->buf && st->size)) + ASN__ENCODE_FAILED; + + if(specs->subvariant == ASN_OSUBV_BIT) { + if((st->size == 0 && st->bits_unused) || (st->bits_unused & ~7)) + ASN__ENCODE_FAILED; + } else { + ASN__ENCODE_FAILED; + } + + if(pc) { + csiz = &pc->size; + } else { + csiz = &asn_DEF_BIT_STRING_constraint_size; + } + ct_extensible = csiz->flags & APC_EXTENSIBLE; + + /* Figure out the size without the trailing bits */ + st = BIT_STRING__compactify(st, &compact_bstr); + size_in_bits = 8 * st->size - st->bits_unused; + + ASN_DEBUG( + "Encoding %s into %" ASN_PRI_SIZE " bits" + " (%ld..%ld, effective %d)%s", + td->name, size_in_bits, csiz->lower_bound, csiz->upper_bound, + csiz->effective_bits, ct_extensible ? " EXT" : ""); + + /* Figure out whether size lies within PER visible constraint */ + + if(csiz->effective_bits >= 0) { + if((ssize_t)size_in_bits > csiz->upper_bound) { + if(ct_extensible) { + csiz = &asn_DEF_BIT_STRING_constraint_size; + inext = 1; + } else { + ASN__ENCODE_FAILED; + } + } + } else { + inext = 0; + } + + if(ct_extensible) { + /* Declare whether length is [not] within extension root */ + if(per_put_few_bits(po, inext, 1)) + ASN__ENCODE_FAILED; + } + + if(csiz->effective_bits >= 0 && !inext) { + int add_trailer = (ssize_t)size_in_bits < csiz->lower_bound; + ASN_DEBUG( + "Encoding %" ASN_PRI_SIZE " bytes (%ld), length (in %d bits) trailer %d; actual " + "value %" ASN_PRI_SSIZE "", + st->size, size_in_bits - csiz->lower_bound, csiz->effective_bits, + add_trailer, + add_trailer ? 0 : (ssize_t)size_in_bits - csiz->lower_bound); + ret = per_put_few_bits( + po, add_trailer ? 0 : (ssize_t)size_in_bits - csiz->lower_bound, + csiz->effective_bits); + if(ret) ASN__ENCODE_FAILED; + ret = per_put_many_bits(po, st->buf, size_in_bits); + if(ret) ASN__ENCODE_FAILED; + if(add_trailer) { + static const uint8_t zeros[16]; + size_t trailing_zero_bits = csiz->lower_bound - size_in_bits; + while(trailing_zero_bits > 0) { + if(trailing_zero_bits > 8 * sizeof(zeros)) { + ret = per_put_many_bits(po, zeros, 8 * sizeof(zeros)); + trailing_zero_bits -= 8 * sizeof(zeros); + } else { + ret = per_put_many_bits(po, zeros, trailing_zero_bits); + trailing_zero_bits = 0; + } + if(ret) ASN__ENCODE_FAILED; + } + } + ASN__ENCODED_OK(er); + } + + ASN_DEBUG("Encoding %" ASN_PRI_SIZE " bytes", st->size); + + buf = st->buf; + do { + int need_eom = 0; + ssize_t maySave = uper_put_length(po, size_in_bits, &need_eom); + if(maySave < 0) ASN__ENCODE_FAILED; + + ASN_DEBUG("Encoding %" ASN_PRI_SSIZE " of %" ASN_PRI_SIZE "", maySave, size_in_bits); + + ret = per_put_many_bits(po, buf, maySave); + if(ret) ASN__ENCODE_FAILED; + + buf += maySave >> 3; + size_in_bits -= maySave; + assert(!(maySave & 0x07) || !size_in_bits); + if(need_eom && uper_put_length(po, 0, 0)) + ASN__ENCODE_FAILED; /* End of Message length */ + } while(size_in_bits); + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/BIT_STRING_xer.c b/src/tmx/Asn_J2735/src/r2024/BIT_STRING_xer.c new file mode 100644 index 000000000..67d5cb8db --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BIT_STRING_xer.c @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +static const char *_bit_pattern[16] = { + "0000", "0001", "0010", "0011", "0100", "0101", "0110", "0111", + "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111" +}; + +asn_enc_rval_t +BIT_STRING_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t er = {0, 0, 0}; + char scratch[128]; + char *p = scratch; + char *scend = scratch + (sizeof(scratch) - 10); + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + int xcan = (flags & XER_F_CANONICAL); + uint8_t *buf; + uint8_t *end; + + if(!st || !st->buf) + ASN__ENCODE_FAILED; + + er.encoded = 0; + + buf = st->buf; + end = buf + st->size - 1; /* Last byte is special */ + + /* + * Binary dump + */ + for(; buf < end; buf++) { + int v = *buf; + int nline = xcan?0:(((buf - st->buf) % 8) == 0); + if(p >= scend || nline) { + ASN__CALLBACK(scratch, p - scratch); + p = scratch; + if(nline) ASN__TEXT_INDENT(1, ilevel); + } + memcpy(p + 0, _bit_pattern[v >> 4], 4); + memcpy(p + 4, _bit_pattern[v & 0x0f], 4); + p += 8; + } + + if(!xcan && ((buf - st->buf) % 8) == 0) + ASN__TEXT_INDENT(1, ilevel); + ASN__CALLBACK(scratch, p - scratch); + p = scratch; + + if(buf == end) { + int v = *buf; + int ubits = st->bits_unused; + int i; + for(i = 7; i >= ubits; i--) + *p++ = (v & (1 << i)) ? 0x31 : 0x30; + ASN__CALLBACK(scratch, p - scratch); + } + + if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1); + + ASN__ENCODED_OK(er); +cb_failed: + ASN__ENCODE_FAILED; +} diff --git a/src/tmx/Asn_J2735/src/r2024/BOOLEAN.c b/src/tmx/Asn_J2735/src/r2024/BOOLEAN.c new file mode 100644 index 000000000..1373a6f15 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BOOLEAN.c @@ -0,0 +1,128 @@ +/*- + * Copyright (c) 2003, 2005 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * BOOLEAN basic type description. + */ +static const ber_tlv_tag_t asn_DEF_BOOLEAN_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_operation_t asn_OP_BOOLEAN = { + BOOLEAN_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + BOOLEAN_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + BOOLEAN_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + BOOLEAN_decode_ber, + BOOLEAN_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + BOOLEAN_decode_xer, + BOOLEAN_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + BOOLEAN_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + BOOLEAN_decode_oer, + BOOLEAN_encode_oer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + BOOLEAN_decode_uper, /* Unaligned PER decoder */ + BOOLEAN_encode_uper, /* Unaligned PER encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + BOOLEAN_decode_aper, /* Aligned PER decoder */ + BOOLEAN_encode_aper, /* Aligned PER encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + BOOLEAN_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_BOOLEAN = { + "BOOLEAN", + "BOOLEAN", + &asn_OP_BOOLEAN, + asn_DEF_BOOLEAN_tags, + sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]), + asn_DEF_BOOLEAN_tags, /* Same as above */ + sizeof(asn_DEF_BOOLEAN_tags) / sizeof(asn_DEF_BOOLEAN_tags[0]), + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + asn_generic_no_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +void +BOOLEAN_free(const asn_TYPE_descriptor_t *td, void *ptr, + enum asn_struct_free_method method) { + if(td && ptr) { + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(ptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset(ptr, 0, sizeof(BOOLEAN_t)); + break; + } + } +} + +int +BOOLEAN_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + const BOOLEAN_t *a = aptr; + const BOOLEAN_t *b = bptr; + + (void)td; + + if(a && b) { + if(!*a == !*b) { /* TRUE can be encoded by any non-zero byte. */ + return 0; + } else if(!*a) { + return -1; + } else { + return 1; + } + } else if(!a) { + return -1; + } else { + return 1; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/BOOLEAN.h b/src/tmx/Asn_J2735/src/r2024/BOOLEAN.h deleted file mode 100644 index 2cbbe7101..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BOOLEAN.h +++ /dev/null @@ -1,70 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _BOOLEAN_H_ -#define _BOOLEAN_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The underlying integer may contain various values, but everything - * non-zero is capped to 0xff by the DER encoder. The BER decoder may - * yield non-zero values different from 1, beware. - */ -typedef unsigned BOOLEAN_t; - -extern asn_TYPE_descriptor_t asn_DEF_BOOLEAN; -extern asn_TYPE_operation_t asn_OP_BOOLEAN; - -asn_struct_free_f BOOLEAN_free; - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -asn_struct_print_f BOOLEAN_print; -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -asn_struct_compare_f BOOLEAN_compare; - -#define BOOLEAN_constraint asn_generic_no_constraint - -#if !defined(ASN_DISABLE_BER_SUPPORT) -ber_type_decoder_f BOOLEAN_decode_ber; -der_type_encoder_f BOOLEAN_encode_der; -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -xer_type_decoder_f BOOLEAN_decode_xer; -xer_type_encoder_f BOOLEAN_encode_xer; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f BOOLEAN_encode_jer; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -oer_type_decoder_f BOOLEAN_decode_oer; -oer_type_encoder_f BOOLEAN_encode_oer; -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -per_type_decoder_f BOOLEAN_decode_uper; -per_type_encoder_f BOOLEAN_encode_uper; -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -per_type_decoder_f BOOLEAN_decode_aper; -per_type_encoder_f BOOLEAN_encode_aper; -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -asn_random_fill_f BOOLEAN_random_fill; -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -#ifdef __cplusplus -} -#endif - -#endif /* _BOOLEAN_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/BOOLEAN_aper.c b/src/tmx/Asn_J2735/src/r2024/BOOLEAN_aper.c new file mode 100644 index 000000000..d697cf571 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BOOLEAN_aper.c @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +BOOLEAN_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + asn_dec_rval_t rv; + BOOLEAN_t *st = (BOOLEAN_t *)*sptr; + + (void)opt_codec_ctx; + (void)constraints; + (void)td; + + if(!st) { + st = (BOOLEAN_t *)(*sptr = MALLOC(sizeof(*st))); + if(!st) ASN__DECODE_FAILED; + } + + /* + * Extract a single bit + */ + switch(per_get_few_bits(pd, 1)) { + case 1: + *st = 1; + break; + case 0: + *st = 0; + break; + case -1: + default: + ASN__DECODE_STARVED; + } + + ASN_DEBUG("%s decoded as %s", td->name, *st ? "TRUE" : "FALSE"); + + rv.code = RC_OK; + rv.consumed = 1; + return rv; +} + +asn_enc_rval_t +BOOLEAN_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; + asn_enc_rval_t er = { 0, 0, 0 }; + + (void)constraints; + + if(!st) ASN__ENCODE_FAILED; + + if(per_put_few_bits(po, *st ? 1 : 0, 1)) + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/BOOLEAN_ber.c b/src/tmx/Asn_J2735/src/r2024/BOOLEAN_ber.c new file mode 100644 index 000000000..176a4a4b7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BOOLEAN_ber.c @@ -0,0 +1,104 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * Decode BOOLEAN type. + */ +asn_dec_rval_t +BOOLEAN_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **bool_value, + const void *buf_ptr, size_t size, int tag_mode) { + BOOLEAN_t *st = (BOOLEAN_t *)*bool_value; + asn_dec_rval_t rval; + ber_tlv_len_t length; + ber_tlv_len_t lidx; + + if(st == NULL) { + st = (BOOLEAN_t *)(*bool_value = CALLOC(1, sizeof(*st))); + if(st == NULL) { + rval.code = RC_FAIL; + rval.consumed = 0; + return rval; + } + } + + ASN_DEBUG("Decoding %s as BOOLEAN (tm=%d)", + td->name, tag_mode); + + /* + * Check tags. + */ + rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size, + tag_mode, 0, &length, 0); + if(rval.code != RC_OK) + return rval; + + ASN_DEBUG("Boolean length is %d bytes", (int)length); + + buf_ptr = ((const char *)buf_ptr) + rval.consumed; + size -= rval.consumed; + if(length > (ber_tlv_len_t)size) { + rval.code = RC_WMORE; + rval.consumed = 0; + return rval; + } + + /* + * Compute boolean value. + */ + for(*st = 0, lidx = 0; + (lidx < length) && *st == 0; lidx++) { + /* + * Very simple approach: read bytes until the end or + * value is already TRUE. + * BOOLEAN is not supposed to contain meaningful data anyway. + */ + *st |= ((const uint8_t *)buf_ptr)[lidx]; + } + + rval.code = RC_OK; + rval.consumed += length; + + ASN_DEBUG("Took %ld/%ld bytes to encode %s, value=%d", + (long)rval.consumed, (long)length, + td->name, *st); + + return rval; +} + +asn_enc_rval_t +BOOLEAN_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, + void *app_key) { + asn_enc_rval_t erval = {0,0,0}; + const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; + + erval.encoded = der_write_tags(td, 1, tag_mode, 0, tag, cb, app_key); + if(erval.encoded == -1) { + erval.failed_type = td; + erval.structure_ptr = sptr; + return erval; + } + + if(cb) { + uint8_t bool_value; + + bool_value = *st ? 0xff : 0; /* 0xff mandated by DER */ + + if(cb(&bool_value, 1, app_key) < 0) { + erval.encoded = -1; + erval.failed_type = td; + erval.structure_ptr = sptr; + return erval; + } + } + + erval.encoded += 1; + + ASN__ENCODED_OK(erval); +} diff --git a/src/tmx/Asn_J2735/src/r2024/BOOLEAN_oer.c b/src/tmx/Asn_J2735/src/r2024/BOOLEAN_oer.c new file mode 100644 index 000000000..0e92e602b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BOOLEAN_oer.c @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * Encode as Canonical OER. + */ +asn_enc_rval_t +BOOLEAN_encode_oer(const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, const void *sptr, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t er = { 1, 0, 0 }; + const BOOLEAN_t *st = sptr; + uint8_t bool_value = *st ? 0xff : 0; /* 0xff mandated by OER */ + + (void)td; + (void)constraints; /* Constraints are unused in OER */ + + if(cb(&bool_value, 1, app_key) < 0) { + ASN__ENCODE_FAILED; + } else { + ASN__ENCODED_OK(er); + } +} + +asn_dec_rval_t +BOOLEAN_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, void **sptr, + const void *ptr, size_t size) { + asn_dec_rval_t ok = {RC_OK, 1}; + BOOLEAN_t *st; + + (void)opt_codec_ctx; + (void)td; + (void)constraints; /* Constraints are unused in OER */ + + if(size < 1) { + ASN__DECODE_STARVED; + } + + if(!(st = *sptr)) { + st = (BOOLEAN_t *)(*sptr = CALLOC(1, sizeof(*st))); + if(!st) ASN__DECODE_FAILED; + } + + *st = *(const uint8_t *)ptr; + + return ok; +} diff --git a/src/tmx/Asn_J2735/src/r2024/BOOLEAN_print.c b/src/tmx/Asn_J2735/src/r2024/BOOLEAN_print.c new file mode 100644 index 000000000..23aaadea8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BOOLEAN_print.c @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +int +BOOLEAN_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + asn_app_consume_bytes_f *cb, void *app_key) { + const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; + const char *buf; + size_t buflen; + + (void)td; /* Unused argument */ + (void)ilevel; /* Unused argument */ + + if(st) { + if(*st) { + buf = "TRUE"; + buflen = 4; + } else { + buf = "FALSE"; + buflen = 5; + } + } else { + buf = ""; + buflen = 8; + } + + return (cb(buf, buflen, app_key) < 0) ? -1 : 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/BOOLEAN_rfill.c b/src/tmx/Asn_J2735/src/r2024/BOOLEAN_rfill.c new file mode 100644 index 000000000..5ec628bbf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BOOLEAN_rfill.c @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_random_fill_result_t +BOOLEAN_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + BOOLEAN_t *st = *sptr; + + if(max_length == 0) return result_skipped; + + if(st == NULL) { + st = (BOOLEAN_t *)(*sptr = CALLOC(1, sizeof(*st))); + if(st == NULL) { + return result_failed; + } + } + +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + if(!constraints || !constraints->per_constraints) + constraints = &td->encoding_constraints; + if(constraints->per_constraints) { + const asn_per_constraint_t *pc = &constraints->per_constraints->value; + if(pc->flags & APC_CONSTRAINED) { + *st = asn_random_between(pc->lower_bound, pc->upper_bound); + return result_ok; + } + } +#else + if(!constraints) constraints = &td->encoding_constraints; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + + /* Simulate booleans that are sloppily set and biased. */ + switch(asn_random_between(0, 7)) { + case 0: + case 1: + case 2: + *st = 0; break; + case 3: *st = -1; break; + case 4: *st = 1; break; + case 5: *st = INT_MIN; break; + case 6: *st = INT_MAX; break; + default: + *st = asn_random_between(INT_MIN, INT_MAX); + break; + } + return result_ok; +} diff --git a/src/tmx/Asn_J2735/src/r2024/BOOLEAN_uper.c b/src/tmx/Asn_J2735/src/r2024/BOOLEAN_uper.c new file mode 100644 index 000000000..8181ec9ca --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BOOLEAN_uper.c @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +BOOLEAN_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + asn_dec_rval_t rv; + BOOLEAN_t *st = (BOOLEAN_t *)*sptr; + + (void)opt_codec_ctx; + (void)td; + (void)constraints; + + if(!st) { + st = (BOOLEAN_t *)(*sptr = MALLOC(sizeof(*st))); + if(!st) ASN__DECODE_FAILED; + } + + /* + * Extract a single bit + */ + switch(per_get_few_bits(pd, 1)) { + case 1: *st = 1; break; + case 0: *st = 0; break; + case -1: default: ASN__DECODE_STARVED; + } + + ASN_DEBUG("%s decoded as %s", td->name, *st ? "TRUE" : "FALSE"); + + rv.code = RC_OK; + rv.consumed = 1; + return rv; +} + + +asn_enc_rval_t +BOOLEAN_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; + asn_enc_rval_t er = { 0, 0, 0 }; + + (void)constraints; + + if(!st) ASN__ENCODE_FAILED; + + if(per_put_few_bits(po, *st ? 1 : 0, 1)) + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/BOOLEAN_xer.c b/src/tmx/Asn_J2735/src/r2024/BOOLEAN_xer.c new file mode 100644 index 000000000..7e9d8f853 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BOOLEAN_xer.c @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include + +/* + * Decode the chunk of XML text encoding INTEGER. + */ +static enum xer_pbd_rval +BOOLEAN__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, + const void *chunk_buf, size_t chunk_size) { + BOOLEAN_t *st = (BOOLEAN_t *)sptr; + const char *p = (const char *)chunk_buf; + + (void)td; + + if(chunk_size && p[0] == 0x3c /* '<' */) { + switch(xer_check_tag(chunk_buf, chunk_size, "false")) { + case XCT_BOTH: + /* "" */ + *st = 0; + break; + case XCT_UNKNOWN_BO: + if(xer_check_tag(chunk_buf, chunk_size, "true") != XCT_BOTH) + return XPBD_BROKEN_ENCODING; + /* "" */ + *st = 1; /* Or 0xff as in DER?.. */ + break; + default: + return XPBD_BROKEN_ENCODING; + } + return XPBD_BODY_CONSUMED; + } else { + return XPBD_BROKEN_ENCODING; + } +} + + +asn_dec_rval_t +BOOLEAN_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, size_t size) { + return xer_decode_primitive(opt_codec_ctx, td, + sptr, sizeof(BOOLEAN_t), opt_mname, buf_ptr, size, + BOOLEAN__xer_body_decode); +} + +asn_enc_rval_t +BOOLEAN_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const BOOLEAN_t *st = (const BOOLEAN_t *)sptr; + asn_enc_rval_t er = {0, 0, 0}; + + (void)ilevel; + (void)flags; + + if(!st) ASN__ENCODE_FAILED; + + if(*st) { + ASN__CALLBACK("", 7); + } else { + ASN__CALLBACK("", 8); + } + + ASN__ENCODED_OK(er); +cb_failed: + ASN__ENCODE_FAILED; +} diff --git a/src/tmx/Asn_J2735/src/r2024/BSMcoreData.c b/src/tmx/Asn_J2735/src/r2024/BSMcoreData.c new file mode 100644 index 000000000..63a4cd247 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BSMcoreData.c @@ -0,0 +1,300 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BSMcoreData.h" + +asn_TYPE_member_t asn_MBR_BSMcoreData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct BSMcoreData, msgCnt), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msgCnt" + }, + { ATF_NOFLAGS, 0, offsetof(struct BSMcoreData, id), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct BSMcoreData, secMark), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "secMark" + }, + { ATF_NOFLAGS, 0, offsetof(struct BSMcoreData, lat), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Latitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat" + }, + { ATF_NOFLAGS, 0, offsetof(struct BSMcoreData, Long), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Longitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "long" + }, + { ATF_NOFLAGS, 0, offsetof(struct BSMcoreData, elev), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Elevation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "elev" + }, + { ATF_NOFLAGS, 0, offsetof(struct BSMcoreData, accuracy), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionalAccuracy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accuracy" + }, + { ATF_NOFLAGS, 0, offsetof(struct BSMcoreData, transmission), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TransmissionState, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transmission" + }, + { ATF_NOFLAGS, 0, offsetof(struct BSMcoreData, speed), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Speed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed" + }, + { ATF_NOFLAGS, 0, offsetof(struct BSMcoreData, heading), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Heading, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heading" + }, + { ATF_NOFLAGS, 0, offsetof(struct BSMcoreData, angle), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SteeringWheelAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "angle" + }, + { ATF_NOFLAGS, 0, offsetof(struct BSMcoreData, accelSet), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AccelerationSet4Way, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accelSet" + }, + { ATF_NOFLAGS, 0, offsetof(struct BSMcoreData, brakes), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BrakeSystemStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "brakes" + }, + { ATF_NOFLAGS, 0, offsetof(struct BSMcoreData, size), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleSize, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "size" + }, +}; +static const ber_tlv_tag_t asn_DEF_BSMcoreData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_BSMcoreData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* msgCnt */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* secMark */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* lat */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* long */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* elev */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* accuracy */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* transmission */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* speed */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* heading */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* angle */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* accelSet */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* brakes */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 } /* size */ +}; +asn_SEQUENCE_specifics_t asn_SPC_BSMcoreData_specs_1 = { + sizeof(struct BSMcoreData), + offsetof(struct BSMcoreData, _asn_ctx), + asn_MAP_BSMcoreData_tag2el_1, + 14, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_BSMcoreData = { + "BSMcoreData", + "BSMcoreData", + &asn_OP_SEQUENCE, + asn_DEF_BSMcoreData_tags_1, + sizeof(asn_DEF_BSMcoreData_tags_1) + /sizeof(asn_DEF_BSMcoreData_tags_1[0]), /* 1 */ + asn_DEF_BSMcoreData_tags_1, /* Same as above */ + sizeof(asn_DEF_BSMcoreData_tags_1) + /sizeof(asn_DEF_BSMcoreData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_BSMcoreData_1, + 14, /* Elements count */ + &asn_SPC_BSMcoreData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BSMcoreData.h b/src/tmx/Asn_J2735/src/r2024/BSMcoreData.h deleted file mode 100644 index 8bb60ee47..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BSMcoreData.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BSMcoreData_H_ -#define _BSMcoreData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_MsgCount.h" -#include "TemporaryID.h" -#include "DSecond.h" -#include "Common_Latitude.h" -#include "Common_Longitude.h" -#include "Common_Elevation.h" -#include "PositionalAccuracy.h" -#include "TransmissionState.h" -#include "Speed.h" -#include "Heading.h" -#include "SteeringWheelAngle.h" -#include "AccelerationSet4Way.h" -#include "BrakeSystemStatus.h" -#include "VehicleSize.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* BSMcoreData */ -typedef struct BSMcoreData { - Common_MsgCount_t msgCnt; - TemporaryID_t id; - DSecond_t secMark; - Common_Latitude_t lat; - Common_Longitude_t Long; - Common_Elevation_t elev; - PositionalAccuracy_t accuracy; - TransmissionState_t transmission; - Speed_t speed; - Heading_t heading; - SteeringWheelAngle_t angle; - AccelerationSet4Way_t accelSet; - BrakeSystemStatus_t brakes; - VehicleSize_t size; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} BSMcoreData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_BSMcoreData; -extern asn_SEQUENCE_specifics_t asn_SPC_BSMcoreData_specs_1; -extern asn_TYPE_member_t asn_MBR_BSMcoreData_1[14]; - -#ifdef __cplusplus -} -#endif - -#endif /* _BSMcoreData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BankAngle.c b/src/tmx/Asn_J2735/src/r2024/BankAngle.c new file mode 100644 index 000000000..1c87772ac --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BankAngle.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BankAngle.h" + +int +BankAngle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -512L && value <= 512L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_BankAngle_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-512..512) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_BankAngle_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, -512, 512 } /* (-512..512) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_BankAngle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BankAngle = { + "BankAngle", + "BankAngle", + &asn_OP_NativeInteger, + asn_DEF_BankAngle_tags_1, + sizeof(asn_DEF_BankAngle_tags_1) + /sizeof(asn_DEF_BankAngle_tags_1[0]), /* 1 */ + asn_DEF_BankAngle_tags_1, /* Same as above */ + sizeof(asn_DEF_BankAngle_tags_1) + /sizeof(asn_DEF_BankAngle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_BankAngle_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_BankAngle_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BankAngle_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BankAngle.h b/src/tmx/Asn_J2735/src/r2024/BankAngle.h deleted file mode 100644 index e688f86d7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BankAngle.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BankAngle_H_ -#define _BankAngle_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* BankAngle */ -typedef long BankAngle_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_BankAngle_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_BankAngle; -asn_struct_free_f BankAngle_free; -asn_struct_print_f BankAngle_print; -asn_constr_check_f BankAngle_constraint; -ber_type_decoder_f BankAngle_decode_ber; -der_type_encoder_f BankAngle_encode_der; -xer_type_decoder_f BankAngle_decode_xer; -xer_type_encoder_f BankAngle_encode_xer; -oer_type_decoder_f BankAngle_decode_oer; -oer_type_encoder_f BankAngle_encode_oer; -per_type_decoder_f BankAngle_decode_uper; -per_type_encoder_f BankAngle_encode_uper; -per_type_decoder_f BankAngle_decode_aper; -per_type_encoder_f BankAngle_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _BankAngle_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage.c b/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage.c new file mode 100644 index 000000000..a788c3bbd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage.c @@ -0,0 +1,310 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BasicSafetyMessage.h" + +static int +memb_partII_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 8UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_partII_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_partII_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_partII_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_partII_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_partII_3[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_BSMpartIIExtension, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_partII_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_partII_specs_3 = { + sizeof(struct BasicSafetyMessage__partII), + offsetof(struct BasicSafetyMessage__partII, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_partII_3 = { + "partII", + "partII", + &asn_OP_SEQUENCE_OF, + asn_DEF_partII_tags_3, + sizeof(asn_DEF_partII_tags_3) + /sizeof(asn_DEF_partII_tags_3[0]) - 1, /* 1 */ + asn_DEF_partII_tags_3, /* Same as above */ + sizeof(asn_DEF_partII_tags_3) + /sizeof(asn_DEF_partII_tags_3[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_partII_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_partII_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_partII_3, + 1, /* Single element */ + &asn_SPC_partII_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regional_5[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_BasicSafetyMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_5[] = { + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_5 = { + sizeof(struct BasicSafetyMessage__regional), + offsetof(struct BasicSafetyMessage__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_5 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_5, + sizeof(asn_DEF_regional_tags_5) + /sizeof(asn_DEF_regional_tags_5[0]) - 1, /* 1 */ + asn_DEF_regional_tags_5, /* Same as above */ + sizeof(asn_DEF_regional_tags_5) + /sizeof(asn_DEF_regional_tags_5[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_5, + 1, /* Single element */ + &asn_SPC_regional_specs_5 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_BasicSafetyMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct BasicSafetyMessage, coreData), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BSMcoreData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "coreData" + }, + { ATF_POINTER, 2, offsetof(struct BasicSafetyMessage, partII), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_partII_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_partII_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_partII_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_partII_constraint_1 + }, + 0, 0, /* No default value */ + "partII" + }, + { ATF_POINTER, 1, offsetof(struct BasicSafetyMessage, regional), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + 0, + &asn_DEF_regional_5, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_BasicSafetyMessage_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_BasicSafetyMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_BasicSafetyMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* coreData */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* partII */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_BasicSafetyMessage_specs_1 = { + sizeof(struct BasicSafetyMessage), + offsetof(struct BasicSafetyMessage, _asn_ctx), + asn_MAP_BasicSafetyMessage_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_BasicSafetyMessage_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_BasicSafetyMessage = { + "BasicSafetyMessage", + "BasicSafetyMessage", + &asn_OP_SEQUENCE, + asn_DEF_BasicSafetyMessage_tags_1, + sizeof(asn_DEF_BasicSafetyMessage_tags_1) + /sizeof(asn_DEF_BasicSafetyMessage_tags_1[0]), /* 1 */ + asn_DEF_BasicSafetyMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_BasicSafetyMessage_tags_1) + /sizeof(asn_DEF_BasicSafetyMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_BasicSafetyMessage_1, + 3, /* Elements count */ + &asn_SPC_BasicSafetyMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage.h b/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage.h deleted file mode 100644 index b041ab1d2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BasicSafetyMessage_H_ -#define _BasicSafetyMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BSMcoreData.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct BSMpartIIExtension; -struct Reg_BasicSafetyMessage; - -/* BasicSafetyMessage */ -typedef struct BasicSafetyMessage { - BSMcoreData_t coreData; - struct BasicSafetyMessage__partII { - A_SEQUENCE_OF(struct BSMpartIIExtension) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *partII; - struct BasicSafetyMessage__regional { - A_SEQUENCE_OF(struct Reg_BasicSafetyMessage) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} BasicSafetyMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_BasicSafetyMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_BasicSafetyMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_BasicSafetyMessage_1[3]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "PartIIcontent.h" -#include "RegionalExtension.h" - -#endif /* _BasicSafetyMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage_PartII-Id.c b/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage_PartII-Id.c new file mode 100644 index 000000000..a8162486a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage_PartII-Id.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BasicSafetyMessage_PartII-Id.h" + +int +BasicSafetyMessage_PartII_Id_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 63L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_BasicSafetyMessage_PartII_Id_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..63) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_BasicSafetyMessage_PartII_Id_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_BasicSafetyMessage_PartII_Id_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BasicSafetyMessage_PartII_Id = { + "PartII-Id", + "PartII-Id", + &asn_OP_NativeInteger, + asn_DEF_BasicSafetyMessage_PartII_Id_tags_1, + sizeof(asn_DEF_BasicSafetyMessage_PartII_Id_tags_1) + /sizeof(asn_DEF_BasicSafetyMessage_PartII_Id_tags_1[0]), /* 1 */ + asn_DEF_BasicSafetyMessage_PartII_Id_tags_1, /* Same as above */ + sizeof(asn_DEF_BasicSafetyMessage_PartII_Id_tags_1) + /sizeof(asn_DEF_BasicSafetyMessage_PartII_Id_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_BasicSafetyMessage_PartII_Id_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_BasicSafetyMessage_PartII_Id_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BasicSafetyMessage_PartII_Id_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage_PartII-Id.h b/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage_PartII-Id.h deleted file mode 100644 index 8bb4524d9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BasicSafetyMessage_PartII-Id.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BasicSafetyMessage_PartII_Id_H_ -#define _BasicSafetyMessage_PartII_Id_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* BasicSafetyMessage_PartII-Id */ -typedef long BasicSafetyMessage_PartII_Id_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_BasicSafetyMessage_PartII_Id_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_BasicSafetyMessage_PartII_Id; -asn_struct_free_f BasicSafetyMessage_PartII_Id_free; -asn_struct_print_f BasicSafetyMessage_PartII_Id_print; -asn_constr_check_f BasicSafetyMessage_PartII_Id_constraint; -ber_type_decoder_f BasicSafetyMessage_PartII_Id_decode_ber; -der_type_encoder_f BasicSafetyMessage_PartII_Id_encode_der; -xer_type_decoder_f BasicSafetyMessage_PartII_Id_decode_xer; -xer_type_encoder_f BasicSafetyMessage_PartII_Id_encode_xer; -oer_type_decoder_f BasicSafetyMessage_PartII_Id_decode_oer; -oer_type_encoder_f BasicSafetyMessage_PartII_Id_encode_oer; -per_type_decoder_f BasicSafetyMessage_PartII_Id_decode_uper; -per_type_encoder_f BasicSafetyMessage_PartII_Id_encode_uper; -per_type_decoder_f BasicSafetyMessage_PartII_Id_decode_aper; -per_type_encoder_f BasicSafetyMessage_PartII_Id_encode_aper; -#define BasicSafetyMessage_PartII_Id_BasicSafetyMessage_vehicleSafetyExt ((BasicSafetyMessage_PartII_Id_t)0) -#define BasicSafetyMessage_PartII_Id_specialVehicleExt ((BasicSafetyMessage_PartII_Id_t)1) -#define BasicSafetyMessage_PartII_Id_supplementalVehicleExt ((BasicSafetyMessage_PartII_Id_t)2) - -#ifdef __cplusplus -} -#endif - -#endif /* _BasicSafetyMessage_PartII_Id_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BasicVehicleClass.c b/src/tmx/Asn_J2735/src/r2024/BasicVehicleClass.c new file mode 100644 index 000000000..9f5f943b8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BasicVehicleClass.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BasicVehicleClass.h" + +int +BasicVehicleClass_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_BasicVehicleClass_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_BasicVehicleClass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_BasicVehicleClass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BasicVehicleClass = { + "BasicVehicleClass", + "BasicVehicleClass", + &asn_OP_NativeInteger, + asn_DEF_BasicVehicleClass_tags_1, + sizeof(asn_DEF_BasicVehicleClass_tags_1) + /sizeof(asn_DEF_BasicVehicleClass_tags_1[0]), /* 1 */ + asn_DEF_BasicVehicleClass_tags_1, /* Same as above */ + sizeof(asn_DEF_BasicVehicleClass_tags_1) + /sizeof(asn_DEF_BasicVehicleClass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_BasicVehicleClass_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_BasicVehicleClass_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BasicVehicleClass_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BasicVehicleClass.h b/src/tmx/Asn_J2735/src/r2024/BasicVehicleClass.h deleted file mode 100644 index d3c58ee4f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BasicVehicleClass.h +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BasicVehicleClass_H_ -#define _BasicVehicleClass_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* BasicVehicleClass */ -typedef long BasicVehicleClass_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_BasicVehicleClass_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_BasicVehicleClass; -asn_struct_free_f BasicVehicleClass_free; -asn_struct_print_f BasicVehicleClass_print; -asn_constr_check_f BasicVehicleClass_constraint; -ber_type_decoder_f BasicVehicleClass_decode_ber; -der_type_encoder_f BasicVehicleClass_encode_der; -xer_type_decoder_f BasicVehicleClass_decode_xer; -xer_type_encoder_f BasicVehicleClass_encode_xer; -oer_type_decoder_f BasicVehicleClass_decode_oer; -oer_type_encoder_f BasicVehicleClass_encode_oer; -per_type_decoder_f BasicVehicleClass_decode_uper; -per_type_encoder_f BasicVehicleClass_encode_uper; -per_type_decoder_f BasicVehicleClass_decode_aper; -per_type_encoder_f BasicVehicleClass_encode_aper; -#define BasicVehicleClass_unknownVehicleClass ((BasicVehicleClass_t)0) -#define BasicVehicleClass_specialVehicleClass ((BasicVehicleClass_t)1) -#define BasicVehicleClass_passenger_Vehicle_TypeUnknown ((BasicVehicleClass_t)10) -#define BasicVehicleClass_passenger_Vehicle_TypeOther ((BasicVehicleClass_t)11) -#define BasicVehicleClass_lightTruck_Vehicle_TypeUnknown ((BasicVehicleClass_t)20) -#define BasicVehicleClass_lightTruck_Vehicle_TypeOther ((BasicVehicleClass_t)21) -#define BasicVehicleClass_truck_Vehicle_TypeUnknown ((BasicVehicleClass_t)25) -#define BasicVehicleClass_truck_Vehicle_TypeOther ((BasicVehicleClass_t)26) -#define BasicVehicleClass_truck_axleCnt2 ((BasicVehicleClass_t)27) -#define BasicVehicleClass_truck_axleCnt3 ((BasicVehicleClass_t)28) -#define BasicVehicleClass_truck_axleCnt4 ((BasicVehicleClass_t)29) -#define BasicVehicleClass_truck_axleCnt4Trailer ((BasicVehicleClass_t)30) -#define BasicVehicleClass_truck_axleCnt5Trailer ((BasicVehicleClass_t)31) -#define BasicVehicleClass_truck_axleCnt6Trailer ((BasicVehicleClass_t)32) -#define BasicVehicleClass_truck_axleCnt5MultiTrailer ((BasicVehicleClass_t)33) -#define BasicVehicleClass_truck_axleCnt6MultiTrailer ((BasicVehicleClass_t)34) -#define BasicVehicleClass_truck_axleCnt7MultiTrailer ((BasicVehicleClass_t)35) -#define BasicVehicleClass_motorcycle_TypeUnknown ((BasicVehicleClass_t)40) -#define BasicVehicleClass_motorcycle_TypeOther ((BasicVehicleClass_t)41) -#define BasicVehicleClass_motorcycle_Cruiser_Standard ((BasicVehicleClass_t)42) -#define BasicVehicleClass_motorcycle_SportUnclad ((BasicVehicleClass_t)43) -#define BasicVehicleClass_motorcycle_SportTouring ((BasicVehicleClass_t)44) -#define BasicVehicleClass_motorcycle_SuperSport ((BasicVehicleClass_t)45) -#define BasicVehicleClass_motorcycle_Touring ((BasicVehicleClass_t)46) -#define BasicVehicleClass_motorcycle_Trike ((BasicVehicleClass_t)47) -#define BasicVehicleClass_motorcycle_wPassengers ((BasicVehicleClass_t)48) -#define BasicVehicleClass_transit_TypeUnknown ((BasicVehicleClass_t)50) -#define BasicVehicleClass_transit_TypeOther ((BasicVehicleClass_t)51) -#define BasicVehicleClass_transit_BRT ((BasicVehicleClass_t)52) -#define BasicVehicleClass_transit_ExpressBus ((BasicVehicleClass_t)53) -#define BasicVehicleClass_transit_LocalBus ((BasicVehicleClass_t)54) -#define BasicVehicleClass_transit_SchoolBus ((BasicVehicleClass_t)55) -#define BasicVehicleClass_transit_FixedGuideway ((BasicVehicleClass_t)56) -#define BasicVehicleClass_transit_Paratransit ((BasicVehicleClass_t)57) -#define BasicVehicleClass_transit_Paratransit_Ambulance ((BasicVehicleClass_t)58) -#define BasicVehicleClass_emergency_TypeUnknown ((BasicVehicleClass_t)60) -#define BasicVehicleClass_emergency_TypeOther ((BasicVehicleClass_t)61) -#define BasicVehicleClass_emergency_Fire_Light_Vehicle ((BasicVehicleClass_t)62) -#define BasicVehicleClass_emergency_Fire_Heavy_Vehicle ((BasicVehicleClass_t)63) -#define BasicVehicleClass_emergency_Fire_Paramedic_Vehicle ((BasicVehicleClass_t)64) -#define BasicVehicleClass_emergency_Fire_Ambulance_Vehicle ((BasicVehicleClass_t)65) -#define BasicVehicleClass_emergency_Police_Light_Vehicle ((BasicVehicleClass_t)66) -#define BasicVehicleClass_emergency_Police_Heavy_Vehicle ((BasicVehicleClass_t)67) -#define BasicVehicleClass_emergency_Other_Responder ((BasicVehicleClass_t)68) -#define BasicVehicleClass_emergency_Other_Ambulance ((BasicVehicleClass_t)69) -#define BasicVehicleClass_otherTraveler_TypeUnknown ((BasicVehicleClass_t)80) -#define BasicVehicleClass_otherTraveler_TypeOther ((BasicVehicleClass_t)81) -#define BasicVehicleClass_otherTraveler_Pedestrian ((BasicVehicleClass_t)82) -#define BasicVehicleClass_otherTraveler_Visually_Disabled ((BasicVehicleClass_t)83) -#define BasicVehicleClass_otherTraveler_Physically_Disabled ((BasicVehicleClass_t)84) -#define BasicVehicleClass_otherTraveler_Bicycle ((BasicVehicleClass_t)85) -#define BasicVehicleClass_otherTraveler_Vulnerable_Roadworker ((BasicVehicleClass_t)86) -#define BasicVehicleClass_infrastructure_TypeUnknown ((BasicVehicleClass_t)90) -#define BasicVehicleClass_infrastructure_Fixed ((BasicVehicleClass_t)91) -#define BasicVehicleClass_infrastructure_Movable ((BasicVehicleClass_t)92) -#define BasicVehicleClass_equipped_CargoTrailer ((BasicVehicleClass_t)93) - -#ifdef __cplusplus -} -#endif - -#endif /* _BasicVehicleClass_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BasicVehicleRole.c b/src/tmx/Asn_J2735/src/r2024/BasicVehicleRole.c new file mode 100644 index 000000000..5112784cc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BasicVehicleRole.c @@ -0,0 +1,112 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BasicVehicleRole.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_BasicVehicleRole_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_BasicVehicleRole_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 0, 22 } /* (0..22,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_BasicVehicleRole_value2enum_1[] = { + { 0, 12, "basicVehicle" }, + { 1, 15, "publicTransport" }, + { 2, 16, "specialTransport" }, + { 3, 14, "dangerousGoods" }, + { 4, 8, "roadWork" }, + { 5, 10, "roadRescue" }, + { 6, 9, "emergency" }, + { 7, 9, "safetyCar" }, + { 8, 12, "none-unknown" }, + { 9, 5, "truck" }, + { 10, 10, "motorcycle" }, + { 11, 14, "roadSideSource" }, + { 12, 6, "police" }, + { 13, 4, "fire" }, + { 14, 9, "ambulance" }, + { 15, 3, "dot" }, + { 16, 7, "transit" }, + { 17, 10, "slowMoving" }, + { 18, 7, "stopNgo" }, + { 19, 7, "cyclist" }, + { 20, 10, "pedestrian" }, + { 21, 12, "nonMotorized" }, + { 22, 8, "military" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_BasicVehicleRole_enum2value_1[] = { + 14, /* ambulance(14) */ + 0, /* basicVehicle(0) */ + 19, /* cyclist(19) */ + 3, /* dangerousGoods(3) */ + 15, /* dot(15) */ + 6, /* emergency(6) */ + 13, /* fire(13) */ + 22, /* military(22) */ + 10, /* motorcycle(10) */ + 21, /* nonMotorized(21) */ + 8, /* none-unknown(8) */ + 20, /* pedestrian(20) */ + 12, /* police(12) */ + 1, /* publicTransport(1) */ + 5, /* roadRescue(5) */ + 11, /* roadSideSource(11) */ + 4, /* roadWork(4) */ + 7, /* safetyCar(7) */ + 17, /* slowMoving(17) */ + 2, /* specialTransport(2) */ + 18, /* stopNgo(18) */ + 16, /* transit(16) */ + 9 /* truck(9) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_BasicVehicleRole_specs_1 = { + asn_MAP_BasicVehicleRole_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_BasicVehicleRole_enum2value_1, /* N => "tag"; sorted by N */ + 23, /* Number of elements in the maps */ + 24, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_BasicVehicleRole_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BasicVehicleRole = { + "BasicVehicleRole", + "BasicVehicleRole", + &asn_OP_NativeEnumerated, + asn_DEF_BasicVehicleRole_tags_1, + sizeof(asn_DEF_BasicVehicleRole_tags_1) + /sizeof(asn_DEF_BasicVehicleRole_tags_1[0]), /* 1 */ + asn_DEF_BasicVehicleRole_tags_1, /* Same as above */ + sizeof(asn_DEF_BasicVehicleRole_tags_1) + /sizeof(asn_DEF_BasicVehicleRole_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_BasicVehicleRole_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_BasicVehicleRole_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BasicVehicleRole_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BasicVehicleRole.h b/src/tmx/Asn_J2735/src/r2024/BasicVehicleRole.h deleted file mode 100644 index 50593895a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BasicVehicleRole.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BasicVehicleRole_H_ -#define _BasicVehicleRole_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum BasicVehicleRole { - BasicVehicleRole_basicVehicle = 0, - BasicVehicleRole_publicTransport = 1, - BasicVehicleRole_specialTransport = 2, - BasicVehicleRole_dangerousGoods = 3, - BasicVehicleRole_roadWork = 4, - BasicVehicleRole_roadRescue = 5, - BasicVehicleRole_emergency = 6, - BasicVehicleRole_safetyCar = 7, - BasicVehicleRole_none_unknown = 8, - BasicVehicleRole_truck = 9, - BasicVehicleRole_motorcycle = 10, - BasicVehicleRole_roadSideSource = 11, - BasicVehicleRole_police = 12, - BasicVehicleRole_fire = 13, - BasicVehicleRole_ambulance = 14, - BasicVehicleRole_dot = 15, - BasicVehicleRole_transit = 16, - BasicVehicleRole_slowMoving = 17, - BasicVehicleRole_stopNgo = 18, - BasicVehicleRole_cyclist = 19, - BasicVehicleRole_pedestrian = 20, - BasicVehicleRole_nonMotorized = 21, - BasicVehicleRole_military = 22 - /* - * Enumeration is extensible - */ -} e_BasicVehicleRole; - -/* BasicVehicleRole */ -typedef long BasicVehicleRole_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_BasicVehicleRole_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_BasicVehicleRole; -extern const asn_INTEGER_specifics_t asn_SPC_BasicVehicleRole_specs_1; -asn_struct_free_f BasicVehicleRole_free; -asn_struct_print_f BasicVehicleRole_print; -asn_constr_check_f BasicVehicleRole_constraint; -ber_type_decoder_f BasicVehicleRole_decode_ber; -der_type_encoder_f BasicVehicleRole_encode_der; -xer_type_decoder_f BasicVehicleRole_decode_xer; -xer_type_encoder_f BasicVehicleRole_encode_xer; -oer_type_decoder_f BasicVehicleRole_decode_oer; -oer_type_encoder_f BasicVehicleRole_encode_oer; -per_type_decoder_f BasicVehicleRole_decode_uper; -per_type_encoder_f BasicVehicleRole_encode_uper; -per_type_decoder_f BasicVehicleRole_decode_aper; -per_type_encoder_f BasicVehicleRole_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _BasicVehicleRole_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BrakeAppliedPressure.c b/src/tmx/Asn_J2735/src/r2024/BrakeAppliedPressure.c new file mode 100644 index 000000000..90c99dd71 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BrakeAppliedPressure.c @@ -0,0 +1,96 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BrakeAppliedPressure.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_BrakeAppliedPressure_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_BrakeAppliedPressure_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_BrakeAppliedPressure_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 11, "minPressure" }, + { 2, 7, "bkLvl-2" }, + { 3, 7, "bkLvl-3" }, + { 4, 7, "bkLvl-4" }, + { 5, 7, "bkLvl-5" }, + { 6, 7, "bkLvl-6" }, + { 7, 7, "bkLvl-7" }, + { 8, 7, "bkLvl-8" }, + { 9, 7, "bkLvl-9" }, + { 10, 8, "bkLvl-10" }, + { 11, 8, "bkLvl-11" }, + { 12, 8, "bkLvl-12" }, + { 13, 8, "bkLvl-13" }, + { 14, 8, "bkLvl-14" }, + { 15, 11, "maxPressure" } +}; +static const unsigned int asn_MAP_BrakeAppliedPressure_enum2value_1[] = { + 10, /* bkLvl-10(10) */ + 11, /* bkLvl-11(11) */ + 12, /* bkLvl-12(12) */ + 13, /* bkLvl-13(13) */ + 14, /* bkLvl-14(14) */ + 2, /* bkLvl-2(2) */ + 3, /* bkLvl-3(3) */ + 4, /* bkLvl-4(4) */ + 5, /* bkLvl-5(5) */ + 6, /* bkLvl-6(6) */ + 7, /* bkLvl-7(7) */ + 8, /* bkLvl-8(8) */ + 9, /* bkLvl-9(9) */ + 15, /* maxPressure(15) */ + 1, /* minPressure(1) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_BrakeAppliedPressure_specs_1 = { + asn_MAP_BrakeAppliedPressure_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_BrakeAppliedPressure_enum2value_1, /* N => "tag"; sorted by N */ + 16, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_BrakeAppliedPressure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BrakeAppliedPressure = { + "BrakeAppliedPressure", + "BrakeAppliedPressure", + &asn_OP_NativeEnumerated, + asn_DEF_BrakeAppliedPressure_tags_1, + sizeof(asn_DEF_BrakeAppliedPressure_tags_1) + /sizeof(asn_DEF_BrakeAppliedPressure_tags_1[0]), /* 1 */ + asn_DEF_BrakeAppliedPressure_tags_1, /* Same as above */ + sizeof(asn_DEF_BrakeAppliedPressure_tags_1) + /sizeof(asn_DEF_BrakeAppliedPressure_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_BrakeAppliedPressure_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_BrakeAppliedPressure_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BrakeAppliedPressure_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BrakeAppliedPressure.h b/src/tmx/Asn_J2735/src/r2024/BrakeAppliedPressure.h deleted file mode 100644 index 7d584603e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BrakeAppliedPressure.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BrakeAppliedPressure_H_ -#define _BrakeAppliedPressure_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum BrakeAppliedPressure { - BrakeAppliedPressure_unavailable = 0, - BrakeAppliedPressure_minPressure = 1, - BrakeAppliedPressure_bkLvl_2 = 2, - BrakeAppliedPressure_bkLvl_3 = 3, - BrakeAppliedPressure_bkLvl_4 = 4, - BrakeAppliedPressure_bkLvl_5 = 5, - BrakeAppliedPressure_bkLvl_6 = 6, - BrakeAppliedPressure_bkLvl_7 = 7, - BrakeAppliedPressure_bkLvl_8 = 8, - BrakeAppliedPressure_bkLvl_9 = 9, - BrakeAppliedPressure_bkLvl_10 = 10, - BrakeAppliedPressure_bkLvl_11 = 11, - BrakeAppliedPressure_bkLvl_12 = 12, - BrakeAppliedPressure_bkLvl_13 = 13, - BrakeAppliedPressure_bkLvl_14 = 14, - BrakeAppliedPressure_maxPressure = 15 -} e_BrakeAppliedPressure; - -/* BrakeAppliedPressure */ -typedef long BrakeAppliedPressure_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_BrakeAppliedPressure_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_BrakeAppliedPressure; -extern const asn_INTEGER_specifics_t asn_SPC_BrakeAppliedPressure_specs_1; -asn_struct_free_f BrakeAppliedPressure_free; -asn_struct_print_f BrakeAppliedPressure_print; -asn_constr_check_f BrakeAppliedPressure_constraint; -ber_type_decoder_f BrakeAppliedPressure_decode_ber; -der_type_encoder_f BrakeAppliedPressure_encode_der; -xer_type_decoder_f BrakeAppliedPressure_decode_xer; -xer_type_encoder_f BrakeAppliedPressure_encode_xer; -oer_type_decoder_f BrakeAppliedPressure_decode_oer; -oer_type_encoder_f BrakeAppliedPressure_encode_oer; -per_type_decoder_f BrakeAppliedPressure_decode_uper; -per_type_encoder_f BrakeAppliedPressure_encode_uper; -per_type_decoder_f BrakeAppliedPressure_decode_aper; -per_type_encoder_f BrakeAppliedPressure_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _BrakeAppliedPressure_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BrakeAppliedStatus.c b/src/tmx/Asn_J2735/src/r2024/BrakeAppliedStatus.c new file mode 100644 index 000000000..a9ff67cb7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BrakeAppliedStatus.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BrakeAppliedStatus.h" + +int +BrakeAppliedStatus_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 5UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_BrakeAppliedStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + 5 /* (SIZE(5..5)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_BrakeAppliedStatus_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 5, 5 } /* (SIZE(5..5)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_BrakeAppliedStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BrakeAppliedStatus = { + "BrakeAppliedStatus", + "BrakeAppliedStatus", + &asn_OP_BIT_STRING, + asn_DEF_BrakeAppliedStatus_tags_1, + sizeof(asn_DEF_BrakeAppliedStatus_tags_1) + /sizeof(asn_DEF_BrakeAppliedStatus_tags_1[0]), /* 1 */ + asn_DEF_BrakeAppliedStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_BrakeAppliedStatus_tags_1) + /sizeof(asn_DEF_BrakeAppliedStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_BrakeAppliedStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_BrakeAppliedStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BrakeAppliedStatus_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BrakeAppliedStatus.h b/src/tmx/Asn_J2735/src/r2024/BrakeAppliedStatus.h deleted file mode 100644 index f277176ca..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BrakeAppliedStatus.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BrakeAppliedStatus_H_ -#define _BrakeAppliedStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum BrakeAppliedStatus { - BrakeAppliedStatus_unavailable = 0, - BrakeAppliedStatus_leftFront = 1, - BrakeAppliedStatus_leftRear = 2, - BrakeAppliedStatus_rightFront = 3, - BrakeAppliedStatus_rightRear = 4 -} e_BrakeAppliedStatus; - -/* BrakeAppliedStatus */ -typedef BIT_STRING_t BrakeAppliedStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_BrakeAppliedStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_BrakeAppliedStatus; -asn_struct_free_f BrakeAppliedStatus_free; -asn_struct_print_f BrakeAppliedStatus_print; -asn_constr_check_f BrakeAppliedStatus_constraint; -ber_type_decoder_f BrakeAppliedStatus_decode_ber; -der_type_encoder_f BrakeAppliedStatus_encode_der; -xer_type_decoder_f BrakeAppliedStatus_decode_xer; -xer_type_encoder_f BrakeAppliedStatus_encode_xer; -oer_type_decoder_f BrakeAppliedStatus_decode_oer; -oer_type_encoder_f BrakeAppliedStatus_encode_oer; -per_type_decoder_f BrakeAppliedStatus_decode_uper; -per_type_encoder_f BrakeAppliedStatus_encode_uper; -per_type_decoder_f BrakeAppliedStatus_decode_aper; -per_type_encoder_f BrakeAppliedStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _BrakeAppliedStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BrakeBoostApplied.c b/src/tmx/Asn_J2735/src/r2024/BrakeBoostApplied.c new file mode 100644 index 000000000..b0130d8b1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BrakeBoostApplied.c @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BrakeBoostApplied.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_BrakeBoostApplied_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_BrakeBoostApplied_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_BrakeBoostApplied_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 3, "off" }, + { 2, 2, "on" } +}; +static const unsigned int asn_MAP_BrakeBoostApplied_enum2value_1[] = { + 1, /* off(1) */ + 2, /* on(2) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_BrakeBoostApplied_specs_1 = { + asn_MAP_BrakeBoostApplied_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_BrakeBoostApplied_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_BrakeBoostApplied_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BrakeBoostApplied = { + "BrakeBoostApplied", + "BrakeBoostApplied", + &asn_OP_NativeEnumerated, + asn_DEF_BrakeBoostApplied_tags_1, + sizeof(asn_DEF_BrakeBoostApplied_tags_1) + /sizeof(asn_DEF_BrakeBoostApplied_tags_1[0]), /* 1 */ + asn_DEF_BrakeBoostApplied_tags_1, /* Same as above */ + sizeof(asn_DEF_BrakeBoostApplied_tags_1) + /sizeof(asn_DEF_BrakeBoostApplied_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_BrakeBoostApplied_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_BrakeBoostApplied_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BrakeBoostApplied_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BrakeBoostApplied.h b/src/tmx/Asn_J2735/src/r2024/BrakeBoostApplied.h deleted file mode 100644 index 42a68138f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BrakeBoostApplied.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BrakeBoostApplied_H_ -#define _BrakeBoostApplied_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum BrakeBoostApplied { - BrakeBoostApplied_unavailable = 0, - BrakeBoostApplied_off = 1, - BrakeBoostApplied_on = 2 -} e_BrakeBoostApplied; - -/* BrakeBoostApplied */ -typedef long BrakeBoostApplied_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_BrakeBoostApplied_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_BrakeBoostApplied; -extern const asn_INTEGER_specifics_t asn_SPC_BrakeBoostApplied_specs_1; -asn_struct_free_f BrakeBoostApplied_free; -asn_struct_print_f BrakeBoostApplied_print; -asn_constr_check_f BrakeBoostApplied_constraint; -ber_type_decoder_f BrakeBoostApplied_decode_ber; -der_type_encoder_f BrakeBoostApplied_encode_der; -xer_type_decoder_f BrakeBoostApplied_decode_xer; -xer_type_encoder_f BrakeBoostApplied_encode_xer; -oer_type_decoder_f BrakeBoostApplied_decode_oer; -oer_type_encoder_f BrakeBoostApplied_encode_oer; -per_type_decoder_f BrakeBoostApplied_decode_uper; -per_type_encoder_f BrakeBoostApplied_encode_uper; -per_type_decoder_f BrakeBoostApplied_decode_aper; -per_type_encoder_f BrakeBoostApplied_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _BrakeBoostApplied_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BrakePedalPosition.c b/src/tmx/Asn_J2735/src/r2024/BrakePedalPosition.c new file mode 100644 index 000000000..21188e675 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BrakePedalPosition.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BrakePedalPosition.h" + +int +BrakePedalPosition_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 201L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_BrakePedalPosition_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..201) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_BrakePedalPosition_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 201 } /* (0..201) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_BrakePedalPosition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BrakePedalPosition = { + "BrakePedalPosition", + "BrakePedalPosition", + &asn_OP_NativeInteger, + asn_DEF_BrakePedalPosition_tags_1, + sizeof(asn_DEF_BrakePedalPosition_tags_1) + /sizeof(asn_DEF_BrakePedalPosition_tags_1[0]), /* 1 */ + asn_DEF_BrakePedalPosition_tags_1, /* Same as above */ + sizeof(asn_DEF_BrakePedalPosition_tags_1) + /sizeof(asn_DEF_BrakePedalPosition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_BrakePedalPosition_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_BrakePedalPosition_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BrakePedalPosition_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BrakePedalPosition.h b/src/tmx/Asn_J2735/src/r2024/BrakePedalPosition.h deleted file mode 100644 index 8e28a0045..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BrakePedalPosition.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BrakePedalPosition_H_ -#define _BrakePedalPosition_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* BrakePedalPosition */ -typedef long BrakePedalPosition_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_BrakePedalPosition_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_BrakePedalPosition; -asn_struct_free_f BrakePedalPosition_free; -asn_struct_print_f BrakePedalPosition_print; -asn_constr_check_f BrakePedalPosition_constraint; -ber_type_decoder_f BrakePedalPosition_decode_ber; -der_type_encoder_f BrakePedalPosition_encode_der; -xer_type_decoder_f BrakePedalPosition_decode_xer; -xer_type_encoder_f BrakePedalPosition_encode_xer; -oer_type_decoder_f BrakePedalPosition_decode_oer; -oer_type_encoder_f BrakePedalPosition_encode_oer; -per_type_decoder_f BrakePedalPosition_decode_uper; -per_type_encoder_f BrakePedalPosition_encode_uper; -per_type_decoder_f BrakePedalPosition_decode_aper; -per_type_encoder_f BrakePedalPosition_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _BrakePedalPosition_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BrakeSystemStatus.c b/src/tmx/Asn_J2735/src/r2024/BrakeSystemStatus.c new file mode 100644 index 000000000..2a1127f62 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BrakeSystemStatus.c @@ -0,0 +1,156 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BrakeSystemStatus.h" + +asn_TYPE_member_t asn_MBR_BrakeSystemStatus_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct BrakeSystemStatus, wheelBrakes), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BrakeAppliedStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wheelBrakes" + }, + { ATF_NOFLAGS, 0, offsetof(struct BrakeSystemStatus, traction), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TractionControlStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "traction" + }, + { ATF_NOFLAGS, 0, offsetof(struct BrakeSystemStatus, abs), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AntiLockBrakeStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "abs" + }, + { ATF_NOFLAGS, 0, offsetof(struct BrakeSystemStatus, scs), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_StabilityControlStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "scs" + }, + { ATF_NOFLAGS, 0, offsetof(struct BrakeSystemStatus, brakeBoost), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BrakeBoostApplied, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "brakeBoost" + }, + { ATF_NOFLAGS, 0, offsetof(struct BrakeSystemStatus, auxBrakes), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AuxiliaryBrakeStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "auxBrakes" + }, +}; +static const ber_tlv_tag_t asn_DEF_BrakeSystemStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_BrakeSystemStatus_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* wheelBrakes */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* traction */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* abs */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* scs */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* brakeBoost */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* auxBrakes */ +}; +asn_SEQUENCE_specifics_t asn_SPC_BrakeSystemStatus_specs_1 = { + sizeof(struct BrakeSystemStatus), + offsetof(struct BrakeSystemStatus, _asn_ctx), + asn_MAP_BrakeSystemStatus_tag2el_1, + 6, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_BrakeSystemStatus = { + "BrakeSystemStatus", + "BrakeSystemStatus", + &asn_OP_SEQUENCE, + asn_DEF_BrakeSystemStatus_tags_1, + sizeof(asn_DEF_BrakeSystemStatus_tags_1) + /sizeof(asn_DEF_BrakeSystemStatus_tags_1[0]), /* 1 */ + asn_DEF_BrakeSystemStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_BrakeSystemStatus_tags_1) + /sizeof(asn_DEF_BrakeSystemStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_BrakeSystemStatus_1, + 6, /* Elements count */ + &asn_SPC_BrakeSystemStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BrakeSystemStatus.h b/src/tmx/Asn_J2735/src/r2024/BrakeSystemStatus.h deleted file mode 100644 index 061af8696..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BrakeSystemStatus.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BrakeSystemStatus_H_ -#define _BrakeSystemStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BrakeAppliedStatus.h" -#include "TractionControlStatus.h" -#include "AntiLockBrakeStatus.h" -#include "StabilityControlStatus.h" -#include "BrakeBoostApplied.h" -#include "AuxiliaryBrakeStatus.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* BrakeSystemStatus */ -typedef struct BrakeSystemStatus { - BrakeAppliedStatus_t wheelBrakes; - TractionControlStatus_t traction; - AntiLockBrakeStatus_t abs; - StabilityControlStatus_t scs; - BrakeBoostApplied_t brakeBoost; - AuxiliaryBrakeStatus_t auxBrakes; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} BrakeSystemStatus_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_BrakeSystemStatus; -extern asn_SEQUENCE_specifics_t asn_SPC_BrakeSystemStatus_specs_1; -extern asn_TYPE_member_t asn_MBR_BrakeSystemStatus_1[6]; - -#ifdef __cplusplus -} -#endif - -#endif /* _BrakeSystemStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BroadRegion.c b/src/tmx/Asn_J2735/src/r2024/BroadRegion.c new file mode 100644 index 000000000..25c8d6708 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BroadRegion.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BroadRegion.h" + +asn_TYPE_member_t asn_MBR_BroadRegion_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct BroadRegion, applicableHeading), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ApplicableHeading, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "applicableHeading" + }, + { ATF_NOFLAGS, 0, offsetof(struct BroadRegion, broadArea), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_BroadRegionArea, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "broadArea" + }, +}; +static const ber_tlv_tag_t asn_DEF_BroadRegion_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_BroadRegion_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* applicableHeading */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* broadArea */ +}; +asn_SEQUENCE_specifics_t asn_SPC_BroadRegion_specs_1 = { + sizeof(struct BroadRegion), + offsetof(struct BroadRegion, _asn_ctx), + asn_MAP_BroadRegion_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_BroadRegion = { + "BroadRegion", + "BroadRegion", + &asn_OP_SEQUENCE, + asn_DEF_BroadRegion_tags_1, + sizeof(asn_DEF_BroadRegion_tags_1) + /sizeof(asn_DEF_BroadRegion_tags_1[0]), /* 1 */ + asn_DEF_BroadRegion_tags_1, /* Same as above */ + sizeof(asn_DEF_BroadRegion_tags_1) + /sizeof(asn_DEF_BroadRegion_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_BroadRegion_1, + 2, /* Elements count */ + &asn_SPC_BroadRegion_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BroadRegion.h b/src/tmx/Asn_J2735/src/r2024/BroadRegion.h deleted file mode 100644 index 09cc64074..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BroadRegion.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BroadRegion_H_ -#define _BroadRegion_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ApplicableHeading.h" -#include "BroadRegionArea.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* BroadRegion */ -typedef struct BroadRegion { - ApplicableHeading_t applicableHeading; - BroadRegionArea_t broadArea; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} BroadRegion_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_BroadRegion; -extern asn_SEQUENCE_specifics_t asn_SPC_BroadRegion_specs_1; -extern asn_TYPE_member_t asn_MBR_BroadRegion_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _BroadRegion_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BroadRegionArea.c b/src/tmx/Asn_J2735/src/r2024/BroadRegionArea.c new file mode 100644 index 000000000..1e3d32352 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BroadRegionArea.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BroadRegionArea.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_BroadRegionArea_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_BroadRegionArea_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_BroadRegionArea_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct BroadRegionArea, choice.polygon), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RSMPolygon, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "polygon" + }, + { ATF_NOFLAGS, 0, offsetof(struct BroadRegionArea, choice.circle), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Circle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "circle" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_BroadRegionArea_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* polygon */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* circle */ +}; +asn_CHOICE_specifics_t asn_SPC_BroadRegionArea_specs_1 = { + sizeof(struct BroadRegionArea), + offsetof(struct BroadRegionArea, _asn_ctx), + offsetof(struct BroadRegionArea, present), + sizeof(((struct BroadRegionArea *)0)->present), + asn_MAP_BroadRegionArea_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_BroadRegionArea = { + "BroadRegionArea", + "BroadRegionArea", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_BroadRegionArea_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_BroadRegionArea_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_BroadRegionArea_1, + 2, /* Elements count */ + &asn_SPC_BroadRegionArea_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BroadRegionArea.h b/src/tmx/Asn_J2735/src/r2024/BroadRegionArea.h deleted file mode 100644 index 5ba34e844..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BroadRegionArea.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BroadRegionArea_H_ -#define _BroadRegionArea_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RSMPolygon.h" -#include "Circle.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum BroadRegionArea_PR { - BroadRegionArea_PR_NOTHING, /* No components present */ - BroadRegionArea_PR_polygon, - BroadRegionArea_PR_circle - /* Extensions may appear below */ - -} BroadRegionArea_PR; - -/* BroadRegionArea */ -typedef struct BroadRegionArea { - BroadRegionArea_PR present; - union BroadRegionArea_u { - RSMPolygon_t polygon; - Circle_t circle; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} BroadRegionArea_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_BroadRegionArea; -extern asn_CHOICE_specifics_t asn_SPC_BroadRegionArea_specs_1; -extern asn_TYPE_member_t asn_MBR_BroadRegionArea_1[2]; -extern asn_per_constraints_t asn_PER_type_BroadRegionArea_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _BroadRegionArea_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BumperHeight.c b/src/tmx/Asn_J2735/src/r2024/BumperHeight.c new file mode 100644 index 000000000..f2292f6cc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BumperHeight.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BumperHeight.h" + +int +BumperHeight_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_BumperHeight_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_BumperHeight_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_BumperHeight_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_BumperHeight = { + "BumperHeight", + "BumperHeight", + &asn_OP_NativeInteger, + asn_DEF_BumperHeight_tags_1, + sizeof(asn_DEF_BumperHeight_tags_1) + /sizeof(asn_DEF_BumperHeight_tags_1[0]), /* 1 */ + asn_DEF_BumperHeight_tags_1, /* Same as above */ + sizeof(asn_DEF_BumperHeight_tags_1) + /sizeof(asn_DEF_BumperHeight_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_BumperHeight_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_BumperHeight_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BumperHeight_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BumperHeight.h b/src/tmx/Asn_J2735/src/r2024/BumperHeight.h deleted file mode 100644 index eccca088d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BumperHeight.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BumperHeight_H_ -#define _BumperHeight_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* BumperHeight */ -typedef long BumperHeight_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_BumperHeight_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_BumperHeight; -asn_struct_free_f BumperHeight_free; -asn_struct_print_f BumperHeight_print; -asn_constr_check_f BumperHeight_constraint; -ber_type_decoder_f BumperHeight_decode_ber; -der_type_encoder_f BumperHeight_encode_der; -xer_type_decoder_f BumperHeight_decode_xer; -xer_type_encoder_f BumperHeight_encode_xer; -oer_type_decoder_f BumperHeight_decode_oer; -oer_type_encoder_f BumperHeight_encode_oer; -per_type_decoder_f BumperHeight_decode_uper; -per_type_encoder_f BumperHeight_encode_uper; -per_type_decoder_f BumperHeight_decode_aper; -per_type_encoder_f BumperHeight_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _BumperHeight_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/BumperHeights.c b/src/tmx/Asn_J2735/src/r2024/BumperHeights.c new file mode 100644 index 000000000..6ae6f9d32 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/BumperHeights.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "BumperHeights.h" + +asn_TYPE_member_t asn_MBR_BumperHeights_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct BumperHeights, front), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BumperHeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "front" + }, + { ATF_NOFLAGS, 0, offsetof(struct BumperHeights, rear), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BumperHeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rear" + }, +}; +static const ber_tlv_tag_t asn_DEF_BumperHeights_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_BumperHeights_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* front */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rear */ +}; +asn_SEQUENCE_specifics_t asn_SPC_BumperHeights_specs_1 = { + sizeof(struct BumperHeights), + offsetof(struct BumperHeights, _asn_ctx), + asn_MAP_BumperHeights_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_BumperHeights = { + "BumperHeights", + "BumperHeights", + &asn_OP_SEQUENCE, + asn_DEF_BumperHeights_tags_1, + sizeof(asn_DEF_BumperHeights_tags_1) + /sizeof(asn_DEF_BumperHeights_tags_1[0]), /* 1 */ + asn_DEF_BumperHeights_tags_1, /* Same as above */ + sizeof(asn_DEF_BumperHeights_tags_1) + /sizeof(asn_DEF_BumperHeights_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_BumperHeights_1, + 2, /* Elements count */ + &asn_SPC_BumperHeights_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/BumperHeights.h b/src/tmx/Asn_J2735/src/r2024/BumperHeights.h deleted file mode 100644 index 90a6f4054..000000000 --- a/src/tmx/Asn_J2735/src/r2024/BumperHeights.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _BumperHeights_H_ -#define _BumperHeights_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BumperHeight.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* BumperHeights */ -typedef struct BumperHeights { - BumperHeight_t front; - BumperHeight_t rear; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} BumperHeights_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_BumperHeights; -extern asn_SEQUENCE_specifics_t asn_SPC_BumperHeights_specs_1; -extern asn_TYPE_member_t asn_MBR_BumperHeights_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _BumperHeights_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CCMFaultMode.c b/src/tmx/Asn_J2735/src/r2024/CCMFaultMode.c new file mode 100644 index 000000000..8c84fc734 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CCMFaultMode.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CCMFaultMode.h" + +int +CCMFaultMode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CCMFaultMode_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CCMFaultMode_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 8, 8 } /* (SIZE(8..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_CCMFaultMode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CCMFaultMode = { + "CCMFaultMode", + "CCMFaultMode", + &asn_OP_BIT_STRING, + asn_DEF_CCMFaultMode_tags_1, + sizeof(asn_DEF_CCMFaultMode_tags_1) + /sizeof(asn_DEF_CCMFaultMode_tags_1[0]), /* 1 */ + asn_DEF_CCMFaultMode_tags_1, /* Same as above */ + sizeof(asn_DEF_CCMFaultMode_tags_1) + /sizeof(asn_DEF_CCMFaultMode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CCMFaultMode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CCMFaultMode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CCMFaultMode_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CCMFaultMode.h b/src/tmx/Asn_J2735/src/r2024/CCMFaultMode.h deleted file mode 100644 index ad812e355..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CCMFaultMode.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CCMFaultMode_H_ -#define _CCMFaultMode_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CCMFaultMode { - CCMFaultMode_unavailable = 0, - CCMFaultMode_commFault = 1, - CCMFaultMode_radarFault = 2, - CCMFaultMode_lidarFault = 3, - CCMFaultMode_engingBrkCtlFault = 4, - CCMFaultMode_serviceBrkCtlFault = 5, - CCMFaultMode_transRetarderFault = 6, - CCMFaultMode_engineCtlFault = 7 -} e_CCMFaultMode; - -/* CCMFaultMode */ -typedef BIT_STRING_t CCMFaultMode_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_CCMFaultMode_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_CCMFaultMode; -asn_struct_free_f CCMFaultMode_free; -asn_struct_print_f CCMFaultMode_print; -asn_constr_check_f CCMFaultMode_constraint; -ber_type_decoder_f CCMFaultMode_decode_ber; -der_type_encoder_f CCMFaultMode_encode_der; -xer_type_decoder_f CCMFaultMode_decode_xer; -xer_type_encoder_f CCMFaultMode_encode_xer; -oer_type_decoder_f CCMFaultMode_decode_oer; -oer_type_encoder_f CCMFaultMode_encode_oer; -per_type_decoder_f CCMFaultMode_decode_uper; -per_type_encoder_f CCMFaultMode_encode_uper; -per_type_decoder_f CCMFaultMode_decode_aper; -per_type_encoder_f CCMFaultMode_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CCMFaultMode_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CO2EmissionValue.c b/src/tmx/Asn_J2735/src/r2024/CO2EmissionValue.c new file mode 100644 index 000000000..f9bcf9e19 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CO2EmissionValue.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CO2EmissionValue.h" + +int +CO2EmissionValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Int2Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CO2EmissionValue_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_CO2EmissionValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_CO2EmissionValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CO2EmissionValue = { + "CO2EmissionValue", + "CO2EmissionValue", + &asn_OP_NativeInteger, + asn_DEF_CO2EmissionValue_tags_1, + sizeof(asn_DEF_CO2EmissionValue_tags_1) + /sizeof(asn_DEF_CO2EmissionValue_tags_1[0]), /* 1 */ + asn_DEF_CO2EmissionValue_tags_1, /* Same as above */ + sizeof(asn_DEF_CO2EmissionValue_tags_1) + /sizeof(asn_DEF_CO2EmissionValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CO2EmissionValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CO2EmissionValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CO2EmissionValue_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CO2EmissionValue.h b/src/tmx/Asn_J2735/src/r2024/CO2EmissionValue.h deleted file mode 100644 index 566023291..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CO2EmissionValue.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CO2EmissionValue_H_ -#define _CO2EmissionValue_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int2Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CO2EmissionValue */ -typedef Int2Unsigned_t CO2EmissionValue_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CO2EmissionValue; -asn_struct_free_f CO2EmissionValue_free; -asn_struct_print_f CO2EmissionValue_print; -asn_constr_check_f CO2EmissionValue_constraint; -ber_type_decoder_f CO2EmissionValue_decode_ber; -der_type_encoder_f CO2EmissionValue_encode_der; -xer_type_decoder_f CO2EmissionValue_decode_xer; -xer_type_encoder_f CO2EmissionValue_encode_xer; -oer_type_decoder_f CO2EmissionValue_decode_oer; -oer_type_encoder_f CO2EmissionValue_encode_oer; -per_type_decoder_f CO2EmissionValue_decode_uper; -per_type_encoder_f CO2EmissionValue_encode_uper; -per_type_decoder_f CO2EmissionValue_decode_aper; -per_type_encoder_f CO2EmissionValue_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CO2EmissionValue_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CargoWeight.c b/src/tmx/Asn_J2735/src/r2024/CargoWeight.c new file mode 100644 index 000000000..23c775bb6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CargoWeight.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CargoWeight.h" + +int +CargoWeight_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 64255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CargoWeight_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..64255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CargoWeight_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 64255 } /* (0..64255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_CargoWeight_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CargoWeight = { + "CargoWeight", + "CargoWeight", + &asn_OP_NativeInteger, + asn_DEF_CargoWeight_tags_1, + sizeof(asn_DEF_CargoWeight_tags_1) + /sizeof(asn_DEF_CargoWeight_tags_1[0]), /* 1 */ + asn_DEF_CargoWeight_tags_1, /* Same as above */ + sizeof(asn_DEF_CargoWeight_tags_1) + /sizeof(asn_DEF_CargoWeight_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CargoWeight_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CargoWeight_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CargoWeight_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CargoWeight.h b/src/tmx/Asn_J2735/src/r2024/CargoWeight.h deleted file mode 100644 index dd04acad4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CargoWeight.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CargoWeight_H_ -#define _CargoWeight_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CargoWeight */ -typedef long CargoWeight_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_CargoWeight_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_CargoWeight; -asn_struct_free_f CargoWeight_free; -asn_struct_print_f CargoWeight_print; -asn_constr_check_f CargoWeight_constraint; -ber_type_decoder_f CargoWeight_decode_ber; -der_type_encoder_f CargoWeight_encode_der; -xer_type_decoder_f CargoWeight_decode_xer; -xer_type_encoder_f CargoWeight_encode_xer; -oer_type_decoder_f CargoWeight_decode_oer; -oer_type_encoder_f CargoWeight_encode_oer; -per_type_decoder_f CargoWeight_decode_uper; -per_type_encoder_f CargoWeight_encode_uper; -per_type_decoder_f CargoWeight_decode_aper; -per_type_encoder_f CargoWeight_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CargoWeight_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgAveragedAndSummaryTriggers.c b/src/tmx/Asn_J2735/src/r2024/CfgAveragedAndSummaryTriggers.c new file mode 100644 index 000000000..e7ad180e0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgAveragedAndSummaryTriggers.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgAveragedAndSummaryTriggers.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CfgAveragedAndSummaryTriggers_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CfgAveragedAndSummaryTriggers_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_CfgAveragedAndSummaryTriggers_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CfgAveragedAndSummaryTriggers, choice.averagedTriggers), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgAveragedTriggers, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "averagedTriggers" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgAveragedAndSummaryTriggers, choice.summaryTriggers), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgSummaryTriggers, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "summaryTriggers" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgAveragedAndSummaryTriggers_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* averagedTriggers */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* summaryTriggers */ +}; +asn_CHOICE_specifics_t asn_SPC_CfgAveragedAndSummaryTriggers_specs_1 = { + sizeof(struct CfgAveragedAndSummaryTriggers), + offsetof(struct CfgAveragedAndSummaryTriggers, _asn_ctx), + offsetof(struct CfgAveragedAndSummaryTriggers, present), + sizeof(((struct CfgAveragedAndSummaryTriggers *)0)->present), + asn_MAP_CfgAveragedAndSummaryTriggers_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgAveragedAndSummaryTriggers = { + "CfgAveragedAndSummaryTriggers", + "CfgAveragedAndSummaryTriggers", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CfgAveragedAndSummaryTriggers_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CfgAveragedAndSummaryTriggers_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_CfgAveragedAndSummaryTriggers_1, + 2, /* Elements count */ + &asn_SPC_CfgAveragedAndSummaryTriggers_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgAveragedAndSummaryTriggers.h b/src/tmx/Asn_J2735/src/r2024/CfgAveragedAndSummaryTriggers.h deleted file mode 100644 index 2952e0010..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgAveragedAndSummaryTriggers.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgAveragedAndSummaryTriggers_H_ -#define _CfgAveragedAndSummaryTriggers_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "CfgAveragedTriggers.h" -#include "CfgSummaryTriggers.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CfgAveragedAndSummaryTriggers_PR { - CfgAveragedAndSummaryTriggers_PR_NOTHING, /* No components present */ - CfgAveragedAndSummaryTriggers_PR_averagedTriggers, - CfgAveragedAndSummaryTriggers_PR_summaryTriggers - /* Extensions may appear below */ - -} CfgAveragedAndSummaryTriggers_PR; - -/* CfgAveragedAndSummaryTriggers */ -typedef struct CfgAveragedAndSummaryTriggers { - CfgAveragedAndSummaryTriggers_PR present; - union CfgAveragedAndSummaryTriggers_u { - CfgAveragedTriggers_t averagedTriggers; - CfgSummaryTriggers_t summaryTriggers; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgAveragedAndSummaryTriggers_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgAveragedAndSummaryTriggers; -extern asn_CHOICE_specifics_t asn_SPC_CfgAveragedAndSummaryTriggers_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgAveragedAndSummaryTriggers_1[2]; -extern asn_per_constraints_t asn_PER_type_CfgAveragedAndSummaryTriggers_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgAveragedAndSummaryTriggers_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgAveragedTriggers.c b/src/tmx/Asn_J2735/src/r2024/CfgAveragedTriggers.c new file mode 100644 index 000000000..bba0df665 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgAveragedTriggers.c @@ -0,0 +1,140 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgAveragedTriggers.h" + +asn_TYPE_member_t asn_MBR_CfgAveragedTriggers_1[] = { + { ATF_POINTER, 5, offsetof(struct CfgAveragedTriggers, avgSpeed), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "avgSpeed" + }, + { ATF_POINTER, 4, offsetof(struct CfgAveragedTriggers, avgStopDuration), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "avgStopDuration" + }, + { ATF_POINTER, 3, offsetof(struct CfgAveragedTriggers, avgFuelConsumption), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "avgFuelConsumption" + }, + { ATF_POINTER, 2, offsetof(struct CfgAveragedTriggers, avgEmissions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "avgEmissions" + }, + { ATF_POINTER, 1, offsetof(struct CfgAveragedTriggers, avgNumOfOccupants), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "avgNumOfOccupants" + }, +}; +static const int asn_MAP_CfgAveragedTriggers_oms_1[] = { 0, 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_CfgAveragedTriggers_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgAveragedTriggers_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* avgSpeed */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* avgStopDuration */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* avgFuelConsumption */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* avgEmissions */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* avgNumOfOccupants */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgAveragedTriggers_specs_1 = { + sizeof(struct CfgAveragedTriggers), + offsetof(struct CfgAveragedTriggers, _asn_ctx), + asn_MAP_CfgAveragedTriggers_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_CfgAveragedTriggers_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgAveragedTriggers = { + "CfgAveragedTriggers", + "CfgAveragedTriggers", + &asn_OP_SEQUENCE, + asn_DEF_CfgAveragedTriggers_tags_1, + sizeof(asn_DEF_CfgAveragedTriggers_tags_1) + /sizeof(asn_DEF_CfgAveragedTriggers_tags_1[0]), /* 1 */ + asn_DEF_CfgAveragedTriggers_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgAveragedTriggers_tags_1) + /sizeof(asn_DEF_CfgAveragedTriggers_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgAveragedTriggers_1, + 5, /* Elements count */ + &asn_SPC_CfgAveragedTriggers_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgAveragedTriggers.h b/src/tmx/Asn_J2735/src/r2024/CfgAveragedTriggers.h deleted file mode 100644 index 5d65bbaea..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgAveragedTriggers.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgAveragedTriggers_H_ -#define _CfgAveragedTriggers_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CfgAveragedTriggers */ -typedef struct CfgAveragedTriggers { - BOOLEAN_t *avgSpeed; /* OPTIONAL */ - BOOLEAN_t *avgStopDuration; /* OPTIONAL */ - BOOLEAN_t *avgFuelConsumption; /* OPTIONAL */ - BOOLEAN_t *avgEmissions; /* OPTIONAL */ - BOOLEAN_t *avgNumOfOccupants; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgAveragedTriggers_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgAveragedTriggers; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgAveragedTriggers_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgAveragedTriggers_1[5]; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgAveragedTriggers_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgCommSysPerfEvents.c b/src/tmx/Asn_J2735/src/r2024/CfgCommSysPerfEvents.c new file mode 100644 index 000000000..b1287ed1c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgCommSysPerfEvents.c @@ -0,0 +1,526 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgCommSysPerfEvents.h" + +static int +memb_j2945_1ChanBusyThresh_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 100L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_numRsusObservedThresh_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 254L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_rfV2xJamDetectThresh_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 140L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_j2945_1VehDensThresh_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_j2945_1CqiBelowThresh_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 100L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_j2945_1TrackErrorThresh_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 100L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_gnssHdopExceedsThresh_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 20L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_gnssSatsBelowThresh_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 20L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_j2945_1ChanBusyThresh_constr_2 CC_NOTUSED = { + { 1, 1 } /* (1..100) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_j2945_1ChanBusyThresh_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 100 } /* (1..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_numRsusObservedThresh_constr_4 CC_NOTUSED = { + { 1, 1 } /* (1..254) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_numRsusObservedThresh_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 254 } /* (1..254) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_rfV2xJamDetectThresh_constr_5 CC_NOTUSED = { + { 1, 1 } /* (1..140) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_rfV2xJamDetectThresh_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 140 } /* (1..140) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_j2945_1VehDensThresh_constr_6 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_j2945_1VehDensThresh_constr_6 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_j2945_1CqiBelowThresh_constr_7 CC_NOTUSED = { + { 1, 1 } /* (1..100) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_j2945_1CqiBelowThresh_constr_7 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 100 } /* (1..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_j2945_1TrackErrorThresh_constr_8 CC_NOTUSED = { + { 1, 1 } /* (1..100) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_j2945_1TrackErrorThresh_constr_8 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 100 } /* (1..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_gnssHdopExceedsThresh_constr_9 CC_NOTUSED = { + { 1, 1 } /* (1..20) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_gnssHdopExceedsThresh_constr_9 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 1, 20 } /* (1..20) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_gnssSatsBelowThresh_constr_10 CC_NOTUSED = { + { 1, 1 } /* (1..20) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_gnssSatsBelowThresh_constr_10 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 1, 20 } /* (1..20) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_CfgCommSysPerfEvents_1[] = { + { ATF_POINTER, 10, offsetof(struct CfgCommSysPerfEvents, j2945_1ChanBusyThresh), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_j2945_1ChanBusyThresh_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_j2945_1ChanBusyThresh_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_j2945_1ChanBusyThresh_constraint_1 + }, + 0, 0, /* No default value */ + "j2945-1ChanBusyThresh" + }, + { ATF_POINTER, 9, offsetof(struct CfgCommSysPerfEvents, rfDataRsuInfo), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rfDataRsuInfo" + }, + { ATF_POINTER, 8, offsetof(struct CfgCommSysPerfEvents, numRsusObservedThresh), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_numRsusObservedThresh_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_numRsusObservedThresh_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_numRsusObservedThresh_constraint_1 + }, + 0, 0, /* No default value */ + "numRsusObservedThresh" + }, + { ATF_POINTER, 7, offsetof(struct CfgCommSysPerfEvents, rfV2xJamDetectThresh), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_rfV2xJamDetectThresh_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_rfV2xJamDetectThresh_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_rfV2xJamDetectThresh_constraint_1 + }, + 0, 0, /* No default value */ + "rfV2xJamDetectThresh" + }, + { ATF_POINTER, 6, offsetof(struct CfgCommSysPerfEvents, j2945_1VehDensThresh), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_j2945_1VehDensThresh_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_j2945_1VehDensThresh_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_j2945_1VehDensThresh_constraint_1 + }, + 0, 0, /* No default value */ + "j2945-1VehDensThresh" + }, + { ATF_POINTER, 5, offsetof(struct CfgCommSysPerfEvents, j2945_1CqiBelowThresh), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_j2945_1CqiBelowThresh_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_j2945_1CqiBelowThresh_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_j2945_1CqiBelowThresh_constraint_1 + }, + 0, 0, /* No default value */ + "j2945-1CqiBelowThresh" + }, + { ATF_POINTER, 4, offsetof(struct CfgCommSysPerfEvents, j2945_1TrackErrorThresh), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_j2945_1TrackErrorThresh_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_j2945_1TrackErrorThresh_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_j2945_1TrackErrorThresh_constraint_1 + }, + 0, 0, /* No default value */ + "j2945-1TrackErrorThresh" + }, + { ATF_POINTER, 3, offsetof(struct CfgCommSysPerfEvents, gnssHdopExceedsThresh), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_gnssHdopExceedsThresh_constr_9, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_gnssHdopExceedsThresh_constr_9, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_gnssHdopExceedsThresh_constraint_1 + }, + 0, 0, /* No default value */ + "gnssHdopExceedsThresh" + }, + { ATF_POINTER, 2, offsetof(struct CfgCommSysPerfEvents, gnssSatsBelowThresh), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_gnssSatsBelowThresh_constr_10, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_gnssSatsBelowThresh_constr_10, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_gnssSatsBelowThresh_constraint_1 + }, + 0, 0, /* No default value */ + "gnssSatsBelowThresh" + }, + { ATF_POINTER, 1, offsetof(struct CfgCommSysPerfEvents, gnssJammingDetect), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "gnssJammingDetect" + }, +}; +static const int asn_MAP_CfgCommSysPerfEvents_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; +static const ber_tlv_tag_t asn_DEF_CfgCommSysPerfEvents_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgCommSysPerfEvents_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* j2945-1ChanBusyThresh */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rfDataRsuInfo */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* numRsusObservedThresh */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* rfV2xJamDetectThresh */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* j2945-1VehDensThresh */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* j2945-1CqiBelowThresh */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* j2945-1TrackErrorThresh */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* gnssHdopExceedsThresh */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* gnssSatsBelowThresh */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* gnssJammingDetect */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgCommSysPerfEvents_specs_1 = { + sizeof(struct CfgCommSysPerfEvents), + offsetof(struct CfgCommSysPerfEvents, _asn_ctx), + asn_MAP_CfgCommSysPerfEvents_tag2el_1, + 10, /* Count of tags in the map */ + asn_MAP_CfgCommSysPerfEvents_oms_1, /* Optional members */ + 10, 0, /* Root/Additions */ + 10, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgCommSysPerfEvents = { + "CfgCommSysPerfEvents", + "CfgCommSysPerfEvents", + &asn_OP_SEQUENCE, + asn_DEF_CfgCommSysPerfEvents_tags_1, + sizeof(asn_DEF_CfgCommSysPerfEvents_tags_1) + /sizeof(asn_DEF_CfgCommSysPerfEvents_tags_1[0]), /* 1 */ + asn_DEF_CfgCommSysPerfEvents_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgCommSysPerfEvents_tags_1) + /sizeof(asn_DEF_CfgCommSysPerfEvents_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgCommSysPerfEvents_1, + 10, /* Elements count */ + &asn_SPC_CfgCommSysPerfEvents_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgCommSysPerfEvents.h b/src/tmx/Asn_J2735/src/r2024/CfgCommSysPerfEvents.h deleted file mode 100644 index 7ac22b821..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgCommSysPerfEvents.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgCommSysPerfEvents_H_ -#define _CfgCommSysPerfEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "BOOLEAN.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CfgCommSysPerfEvents */ -typedef struct CfgCommSysPerfEvents { - long *j2945_1ChanBusyThresh; /* OPTIONAL */ - BOOLEAN_t *rfDataRsuInfo; /* OPTIONAL */ - long *numRsusObservedThresh; /* OPTIONAL */ - long *rfV2xJamDetectThresh; /* OPTIONAL */ - long *j2945_1VehDensThresh; /* OPTIONAL */ - long *j2945_1CqiBelowThresh; /* OPTIONAL */ - long *j2945_1TrackErrorThresh; /* OPTIONAL */ - long *gnssHdopExceedsThresh; /* OPTIONAL */ - long *gnssSatsBelowThresh; /* OPTIONAL */ - BOOLEAN_t *gnssJammingDetect; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgCommSysPerfEvents_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgCommSysPerfEvents; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgCommSysPerfEvents_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgCommSysPerfEvents_1[10]; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgCommSysPerfEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgEmerAndTransitInfo.c b/src/tmx/Asn_J2735/src/r2024/CfgEmerAndTransitInfo.c new file mode 100644 index 000000000..05aae0e21 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgEmerAndTransitInfo.c @@ -0,0 +1,129 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgEmerAndTransitInfo.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CfgEmerAndTransitInfo_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CfgEmerAndTransitInfo_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_CfgEmerAndTransitInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CfgEmerAndTransitInfo, choice.emerVehLightBar), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emerVehLightBar" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgEmerAndTransitInfo, choice.reqTspEvp), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reqTspEvp" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgEmerAndTransitInfo, choice.transitVehPassCnt), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transitVehPassCnt" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgEmerAndTransitInfo, choice.transitVehDoor), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transitVehDoor" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgEmerAndTransitInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* emerVehLightBar */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reqTspEvp */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* transitVehPassCnt */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* transitVehDoor */ +}; +asn_CHOICE_specifics_t asn_SPC_CfgEmerAndTransitInfo_specs_1 = { + sizeof(struct CfgEmerAndTransitInfo), + offsetof(struct CfgEmerAndTransitInfo, _asn_ctx), + offsetof(struct CfgEmerAndTransitInfo, present), + sizeof(((struct CfgEmerAndTransitInfo *)0)->present), + asn_MAP_CfgEmerAndTransitInfo_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, + 4 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgEmerAndTransitInfo = { + "CfgEmerAndTransitInfo", + "CfgEmerAndTransitInfo", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CfgEmerAndTransitInfo_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CfgEmerAndTransitInfo_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_CfgEmerAndTransitInfo_1, + 4, /* Elements count */ + &asn_SPC_CfgEmerAndTransitInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgEmerAndTransitInfo.h b/src/tmx/Asn_J2735/src/r2024/CfgEmerAndTransitInfo.h deleted file mode 100644 index f74761ecc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgEmerAndTransitInfo.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgEmerAndTransitInfo_H_ -#define _CfgEmerAndTransitInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CfgEmerAndTransitInfo_PR { - CfgEmerAndTransitInfo_PR_NOTHING, /* No components present */ - CfgEmerAndTransitInfo_PR_emerVehLightBar, - CfgEmerAndTransitInfo_PR_reqTspEvp, - CfgEmerAndTransitInfo_PR_transitVehPassCnt, - CfgEmerAndTransitInfo_PR_transitVehDoor - /* Extensions may appear below */ - -} CfgEmerAndTransitInfo_PR; - -/* CfgEmerAndTransitInfo */ -typedef struct CfgEmerAndTransitInfo { - CfgEmerAndTransitInfo_PR present; - union CfgEmerAndTransitInfo_u { - BOOLEAN_t emerVehLightBar; - BOOLEAN_t reqTspEvp; - BOOLEAN_t transitVehPassCnt; - BOOLEAN_t transitVehDoor; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgEmerAndTransitInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgEmerAndTransitInfo; -extern asn_CHOICE_specifics_t asn_SPC_CfgEmerAndTransitInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgEmerAndTransitInfo_1[4]; -extern asn_per_constraints_t asn_PER_type_CfgEmerAndTransitInfo_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgEmerAndTransitInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgEventRecurrence.c b/src/tmx/Asn_J2735/src/r2024/CfgEventRecurrence.c new file mode 100644 index 000000000..7516efbef --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgEventRecurrence.c @@ -0,0 +1,266 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgEventRecurrence.h" + +asn_TYPE_member_t asn_MBR_CfgEventRecurrence_1[] = { + { ATF_POINTER, 4, offsetof(struct CfgEventRecurrence, startTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startTime" + }, + { ATF_POINTER, 3, offsetof(struct CfgEventRecurrence, endTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "endTime" + }, + { ATF_POINTER, 2, offsetof(struct CfgEventRecurrence, startDate), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startDate" + }, + { ATF_POINTER, 1, offsetof(struct CfgEventRecurrence, endDate), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "endDate" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgEventRecurrence, monday), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "monday" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgEventRecurrence, tuesday), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tuesday" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgEventRecurrence, wednesday), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wednesday" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgEventRecurrence, thursday), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "thursday" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgEventRecurrence, friday), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "friday" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgEventRecurrence, saturday), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "saturday" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgEventRecurrence, sunday), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sunday" + }, + { ATF_POINTER, 1, offsetof(struct CfgEventRecurrence, exclusion), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "exclusion" + }, +}; +static const int asn_MAP_CfgEventRecurrence_oms_1[] = { 0, 1, 2, 3, 11 }; +static const ber_tlv_tag_t asn_DEF_CfgEventRecurrence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgEventRecurrence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* startTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* endTime */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* startDate */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* endDate */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* monday */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* tuesday */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* wednesday */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* thursday */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* friday */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* saturday */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* sunday */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* exclusion */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgEventRecurrence_specs_1 = { + sizeof(struct CfgEventRecurrence), + offsetof(struct CfgEventRecurrence, _asn_ctx), + asn_MAP_CfgEventRecurrence_tag2el_1, + 12, /* Count of tags in the map */ + asn_MAP_CfgEventRecurrence_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 12, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgEventRecurrence = { + "CfgEventRecurrence", + "CfgEventRecurrence", + &asn_OP_SEQUENCE, + asn_DEF_CfgEventRecurrence_tags_1, + sizeof(asn_DEF_CfgEventRecurrence_tags_1) + /sizeof(asn_DEF_CfgEventRecurrence_tags_1[0]), /* 1 */ + asn_DEF_CfgEventRecurrence_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgEventRecurrence_tags_1) + /sizeof(asn_DEF_CfgEventRecurrence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgEventRecurrence_1, + 12, /* Elements count */ + &asn_SPC_CfgEventRecurrence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgEventRecurrence.h b/src/tmx/Asn_J2735/src/r2024/CfgEventRecurrence.h deleted file mode 100644 index fde2dd47c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgEventRecurrence.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgEventRecurrence_H_ -#define _CfgEventRecurrence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct DTime; -struct DDate; - -/* CfgEventRecurrence */ -typedef struct CfgEventRecurrence { - struct DTime *startTime; /* OPTIONAL */ - struct DTime *endTime; /* OPTIONAL */ - struct DDate *startDate; /* OPTIONAL */ - struct DDate *endDate; /* OPTIONAL */ - BOOLEAN_t monday; - BOOLEAN_t tuesday; - BOOLEAN_t wednesday; - BOOLEAN_t thursday; - BOOLEAN_t friday; - BOOLEAN_t saturday; - BOOLEAN_t sunday; - BOOLEAN_t *exclusion; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgEventRecurrence_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgEventRecurrence; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgEventRecurrence_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgEventRecurrence_1[12]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "DTime.h" -#include "DDate.h" - -#endif /* _CfgEventRecurrence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgEvents.c b/src/tmx/Asn_J2735/src/r2024/CfgEvents.c new file mode 100644 index 000000000..a1b537197 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgEvents.c @@ -0,0 +1,177 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgEvents.h" + +static int +memb_swerveThreshold_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 50L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_swerveThreshold_constr_6 CC_NOTUSED = { + { 1, 1 } /* (1..50) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_swerveThreshold_constr_6 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 1, 50 } /* (1..50) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_CfgEvents_1[] = { + { ATF_POINTER, 5, offsetof(struct CfgEvents, absActivated), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "absActivated" + }, + { ATF_POINTER, 4, offsetof(struct CfgEvents, tractionCtlLoss), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tractionCtlLoss" + }, + { ATF_POINTER, 3, offsetof(struct CfgEvents, stabilityCtlActivated), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "stabilityCtlActivated" + }, + { ATF_POINTER, 2, offsetof(struct CfgEvents, hardBraking), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hardBraking" + }, + { ATF_POINTER, 1, offsetof(struct CfgEvents, swerveThreshold), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_swerveThreshold_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_swerveThreshold_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_swerveThreshold_constraint_1 + }, + 0, 0, /* No default value */ + "swerveThreshold" + }, +}; +static const int asn_MAP_CfgEvents_oms_1[] = { 0, 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_CfgEvents_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgEvents_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* absActivated */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tractionCtlLoss */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* stabilityCtlActivated */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* hardBraking */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* swerveThreshold */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgEvents_specs_1 = { + sizeof(struct CfgEvents), + offsetof(struct CfgEvents, _asn_ctx), + asn_MAP_CfgEvents_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_CfgEvents_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgEvents = { + "CfgEvents", + "CfgEvents", + &asn_OP_SEQUENCE, + asn_DEF_CfgEvents_tags_1, + sizeof(asn_DEF_CfgEvents_tags_1) + /sizeof(asn_DEF_CfgEvents_tags_1[0]), /* 1 */ + asn_DEF_CfgEvents_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgEvents_tags_1) + /sizeof(asn_DEF_CfgEvents_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgEvents_1, + 5, /* Elements count */ + &asn_SPC_CfgEvents_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgEvents.h b/src/tmx/Asn_J2735/src/r2024/CfgEvents.h deleted file mode 100644 index b7e543e7f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgEvents.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgEvents_H_ -#define _CfgEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CfgEvents */ -typedef struct CfgEvents { - BOOLEAN_t *absActivated; /* OPTIONAL */ - BOOLEAN_t *tractionCtlLoss; /* OPTIONAL */ - BOOLEAN_t *stabilityCtlActivated; /* OPTIONAL */ - BOOLEAN_t *hardBraking; /* OPTIONAL */ - long *swerveThreshold; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgEvents_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgEvents; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgEvents_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgEvents_1[5]; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgHysteresis.c b/src/tmx/Asn_J2735/src/r2024/CfgHysteresis.c new file mode 100644 index 000000000..caf1ec984 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgHysteresis.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgHysteresis.h" + +static int +memb_hysSamples_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 10L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_hysRate_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 10L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_hysSamples_constr_2 CC_NOTUSED = { + { 1, 1 } /* (1..10) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_hysSamples_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 1, 10 } /* (1..10) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_hysRate_constr_3 CC_NOTUSED = { + { 1, 1 } /* (1..10) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_hysRate_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 1, 10 } /* (1..10) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_CfgHysteresis_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CfgHysteresis, hysSamples), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_hysSamples_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_hysSamples_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_hysSamples_constraint_1 + }, + 0, 0, /* No default value */ + "hysSamples" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgHysteresis, hysRate), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_hysRate_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_hysRate_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_hysRate_constraint_1 + }, + 0, 0, /* No default value */ + "hysRate" + }, +}; +static const ber_tlv_tag_t asn_DEF_CfgHysteresis_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgHysteresis_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hysSamples */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* hysRate */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgHysteresis_specs_1 = { + sizeof(struct CfgHysteresis), + offsetof(struct CfgHysteresis, _asn_ctx), + asn_MAP_CfgHysteresis_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgHysteresis = { + "CfgHysteresis", + "CfgHysteresis", + &asn_OP_SEQUENCE, + asn_DEF_CfgHysteresis_tags_1, + sizeof(asn_DEF_CfgHysteresis_tags_1) + /sizeof(asn_DEF_CfgHysteresis_tags_1[0]), /* 1 */ + asn_DEF_CfgHysteresis_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgHysteresis_tags_1) + /sizeof(asn_DEF_CfgHysteresis_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgHysteresis_1, + 2, /* Elements count */ + &asn_SPC_CfgHysteresis_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgHysteresis.h b/src/tmx/Asn_J2735/src/r2024/CfgHysteresis.h deleted file mode 100644 index 2d79b15b0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgHysteresis.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgHysteresis_H_ -#define _CfgHysteresis_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CfgHysteresis */ -typedef struct CfgHysteresis { - long hysSamples; - long hysRate; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgHysteresis_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgHysteresis; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgHysteresis_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgHysteresis_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgHysteresis_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgInstantaneousEventTriggers.c b/src/tmx/Asn_J2735/src/r2024/CfgInstantaneousEventTriggers.c new file mode 100644 index 000000000..ddda5f1d3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgInstantaneousEventTriggers.c @@ -0,0 +1,129 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgInstantaneousEventTriggers.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CfgInstantaneousEventTriggers_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CfgInstantaneousEventTriggers_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_CfgInstantaneousEventTriggers_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CfgInstantaneousEventTriggers, choice.intervalEvents), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgIntervalEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "intervalEvents" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgInstantaneousEventTriggers, choice.vehicleEvents), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgVehicleEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleEvents" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgInstantaneousEventTriggers, choice.roadwayEvents), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgRoadwayEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadwayEvents" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgInstantaneousEventTriggers, choice.commSysPerfEvents), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgCommSysPerfEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "commSysPerfEvents" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgInstantaneousEventTriggers_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* intervalEvents */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* vehicleEvents */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* roadwayEvents */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* commSysPerfEvents */ +}; +asn_CHOICE_specifics_t asn_SPC_CfgInstantaneousEventTriggers_specs_1 = { + sizeof(struct CfgInstantaneousEventTriggers), + offsetof(struct CfgInstantaneousEventTriggers, _asn_ctx), + offsetof(struct CfgInstantaneousEventTriggers, present), + sizeof(((struct CfgInstantaneousEventTriggers *)0)->present), + asn_MAP_CfgInstantaneousEventTriggers_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, + 4 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgInstantaneousEventTriggers = { + "CfgInstantaneousEventTriggers", + "CfgInstantaneousEventTriggers", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CfgInstantaneousEventTriggers_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CfgInstantaneousEventTriggers_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_CfgInstantaneousEventTriggers_1, + 4, /* Elements count */ + &asn_SPC_CfgInstantaneousEventTriggers_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgInstantaneousEventTriggers.h b/src/tmx/Asn_J2735/src/r2024/CfgInstantaneousEventTriggers.h deleted file mode 100644 index e8747cc28..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgInstantaneousEventTriggers.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgInstantaneousEventTriggers_H_ -#define _CfgInstantaneousEventTriggers_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "CfgIntervalEvents.h" -#include "CfgVehicleEvents.h" -#include "CfgRoadwayEvents.h" -#include "CfgCommSysPerfEvents.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CfgInstantaneousEventTriggers_PR { - CfgInstantaneousEventTriggers_PR_NOTHING, /* No components present */ - CfgInstantaneousEventTriggers_PR_intervalEvents, - CfgInstantaneousEventTriggers_PR_vehicleEvents, - CfgInstantaneousEventTriggers_PR_roadwayEvents, - CfgInstantaneousEventTriggers_PR_commSysPerfEvents - /* Extensions may appear below */ - -} CfgInstantaneousEventTriggers_PR; - -/* CfgInstantaneousEventTriggers */ -typedef struct CfgInstantaneousEventTriggers { - CfgInstantaneousEventTriggers_PR present; - union CfgInstantaneousEventTriggers_u { - CfgIntervalEvents_t intervalEvents; - CfgVehicleEvents_t vehicleEvents; - CfgRoadwayEvents_t roadwayEvents; - CfgCommSysPerfEvents_t commSysPerfEvents; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgInstantaneousEventTriggers_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgInstantaneousEventTriggers; -extern asn_CHOICE_specifics_t asn_SPC_CfgInstantaneousEventTriggers_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgInstantaneousEventTriggers_1[4]; -extern asn_per_constraints_t asn_PER_type_CfgInstantaneousEventTriggers_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgInstantaneousEventTriggers_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgInterval.c b/src/tmx/Asn_J2735/src/r2024/CfgInterval.c new file mode 100644 index 000000000..a396d77d4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgInterval.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgInterval.h" + +static int +memb_timeInterval_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 36000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_distanceInterval_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 100L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_timeInterval_constr_2 CC_NOTUSED = { + { 2, 1 } /* (1..36000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_timeInterval_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 1, 36000 } /* (1..36000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_distanceInterval_constr_3 CC_NOTUSED = { + { 1, 1 } /* (1..100) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_distanceInterval_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 100 } /* (1..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CfgInterval_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CfgInterval_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_CfgInterval_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CfgInterval, choice.timeInterval), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_timeInterval_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_timeInterval_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_timeInterval_constraint_1 + }, + 0, 0, /* No default value */ + "timeInterval" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgInterval, choice.distanceInterval), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_distanceInterval_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_distanceInterval_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_distanceInterval_constraint_1 + }, + 0, 0, /* No default value */ + "distanceInterval" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgInterval_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeInterval */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* distanceInterval */ +}; +asn_CHOICE_specifics_t asn_SPC_CfgInterval_specs_1 = { + sizeof(struct CfgInterval), + offsetof(struct CfgInterval, _asn_ctx), + offsetof(struct CfgInterval, present), + sizeof(((struct CfgInterval *)0)->present), + asn_MAP_CfgInterval_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgInterval = { + "CfgInterval", + "CfgInterval", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CfgInterval_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CfgInterval_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_CfgInterval_1, + 2, /* Elements count */ + &asn_SPC_CfgInterval_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgInterval.h b/src/tmx/Asn_J2735/src/r2024/CfgInterval.h deleted file mode 100644 index bc70b7edd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgInterval.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgInterval_H_ -#define _CfgInterval_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CfgInterval_PR { - CfgInterval_PR_NOTHING, /* No components present */ - CfgInterval_PR_timeInterval, - CfgInterval_PR_distanceInterval - /* Extensions may appear below */ - -} CfgInterval_PR; - -/* CfgInterval */ -typedef struct CfgInterval { - CfgInterval_PR present; - union CfgInterval_u { - long timeInterval; - long distanceInterval; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgInterval_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgInterval; -extern asn_CHOICE_specifics_t asn_SPC_CfgInterval_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgInterval_1[2]; -extern asn_per_constraints_t asn_PER_type_CfgInterval_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgInterval_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgIntervalEvents.c b/src/tmx/Asn_J2735/src/r2024/CfgIntervalEvents.c new file mode 100644 index 000000000..6409f7fd7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgIntervalEvents.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgIntervalEvents.h" + +asn_TYPE_member_t asn_MBR_CfgIntervalEvents_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CfgIntervalEvents, interval), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_CfgInterval, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "interval" + }, + { ATF_POINTER, 5, offsetof(struct CfgIntervalEvents, wiperStatus), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wiperStatus" + }, + { ATF_POINTER, 4, offsetof(struct CfgIntervalEvents, vehCount), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehCount" + }, + { ATF_POINTER, 3, offsetof(struct CfgIntervalEvents, weatherData), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "weatherData" + }, + { ATF_POINTER, 2, offsetof(struct CfgIntervalEvents, transitVehData), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgTransitVehicleData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transitVehData" + }, + { ATF_POINTER, 1, offsetof(struct CfgIntervalEvents, numOfOccupants), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "numOfOccupants" + }, +}; +static const int asn_MAP_CfgIntervalEvents_oms_1[] = { 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_CfgIntervalEvents_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgIntervalEvents_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* interval */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* wiperStatus */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* vehCount */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* weatherData */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* transitVehData */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* numOfOccupants */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgIntervalEvents_specs_1 = { + sizeof(struct CfgIntervalEvents), + offsetof(struct CfgIntervalEvents, _asn_ctx), + asn_MAP_CfgIntervalEvents_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_CfgIntervalEvents_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgIntervalEvents = { + "CfgIntervalEvents", + "CfgIntervalEvents", + &asn_OP_SEQUENCE, + asn_DEF_CfgIntervalEvents_tags_1, + sizeof(asn_DEF_CfgIntervalEvents_tags_1) + /sizeof(asn_DEF_CfgIntervalEvents_tags_1[0]), /* 1 */ + asn_DEF_CfgIntervalEvents_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgIntervalEvents_tags_1) + /sizeof(asn_DEF_CfgIntervalEvents_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgIntervalEvents_1, + 6, /* Elements count */ + &asn_SPC_CfgIntervalEvents_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgIntervalEvents.h b/src/tmx/Asn_J2735/src/r2024/CfgIntervalEvents.h deleted file mode 100644 index 77ff281ed..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgIntervalEvents.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgIntervalEvents_H_ -#define _CfgIntervalEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "CfgInterval.h" -#include "BOOLEAN.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct CfgTransitVehicleData; - -/* CfgIntervalEvents */ -typedef struct CfgIntervalEvents { - CfgInterval_t interval; - BOOLEAN_t *wiperStatus; /* OPTIONAL */ - BOOLEAN_t *vehCount; /* OPTIONAL */ - BOOLEAN_t *weatherData; /* OPTIONAL */ - struct CfgTransitVehicleData *transitVehData; /* OPTIONAL */ - BOOLEAN_t *numOfOccupants; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgIntervalEvents_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgIntervalEvents; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgIntervalEvents_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgIntervalEvents_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "CfgTransitVehicleData.h" - -#endif /* _CfgIntervalEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgKinematicEvents.c b/src/tmx/Asn_J2735/src/r2024/CfgKinematicEvents.c new file mode 100644 index 000000000..278e8b928 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgKinematicEvents.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgKinematicEvents.h" + +asn_TYPE_member_t asn_MBR_CfgKinematicEvents_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CfgKinematicEvents, events), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "events" + }, + { ATF_POINTER, 1, offsetof(struct CfgKinematicEvents, hysteresis), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgHysteresis, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hysteresis" + }, +}; +static const int asn_MAP_CfgKinematicEvents_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_CfgKinematicEvents_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgKinematicEvents_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* events */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* hysteresis */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgKinematicEvents_specs_1 = { + sizeof(struct CfgKinematicEvents), + offsetof(struct CfgKinematicEvents, _asn_ctx), + asn_MAP_CfgKinematicEvents_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_CfgKinematicEvents_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgKinematicEvents = { + "CfgKinematicEvents", + "CfgKinematicEvents", + &asn_OP_SEQUENCE, + asn_DEF_CfgKinematicEvents_tags_1, + sizeof(asn_DEF_CfgKinematicEvents_tags_1) + /sizeof(asn_DEF_CfgKinematicEvents_tags_1[0]), /* 1 */ + asn_DEF_CfgKinematicEvents_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgKinematicEvents_tags_1) + /sizeof(asn_DEF_CfgKinematicEvents_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgKinematicEvents_1, + 2, /* Elements count */ + &asn_SPC_CfgKinematicEvents_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgKinematicEvents.h b/src/tmx/Asn_J2735/src/r2024/CfgKinematicEvents.h deleted file mode 100644 index 659d1569a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgKinematicEvents.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgKinematicEvents_H_ -#define _CfgKinematicEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "CfgEvents.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct CfgHysteresis; - -/* CfgKinematicEvents */ -typedef struct CfgKinematicEvents { - CfgEvents_t events; - struct CfgHysteresis *hysteresis; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgKinematicEvents_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgKinematicEvents; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgKinematicEvents_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgKinematicEvents_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "CfgHysteresis.h" - -#endif /* _CfgKinematicEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgLowSpeedCriteria.c b/src/tmx/Asn_J2735/src/r2024/CfgLowSpeedCriteria.c new file mode 100644 index 000000000..a0a146bec --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgLowSpeedCriteria.c @@ -0,0 +1,160 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgLowSpeedCriteria.h" + +static int +memb_lowSpeedThreshold_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 5L && value <= 100L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_lowSpeedTimeThresh_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 30L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_lowSpeedThreshold_constr_2 CC_NOTUSED = { + { 1, 1 } /* (5..100) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_lowSpeedThreshold_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 5, 100 } /* (5..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_lowSpeedTimeThresh_constr_3 CC_NOTUSED = { + { 1, 1 } /* (1..30) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_lowSpeedTimeThresh_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 1, 30 } /* (1..30) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_CfgLowSpeedCriteria_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CfgLowSpeedCriteria, lowSpeedThreshold), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_lowSpeedThreshold_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_lowSpeedThreshold_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_lowSpeedThreshold_constraint_1 + }, + 0, 0, /* No default value */ + "lowSpeedThreshold" + }, + { ATF_POINTER, 1, offsetof(struct CfgLowSpeedCriteria, lowSpeedTimeThresh), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_lowSpeedTimeThresh_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_lowSpeedTimeThresh_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_lowSpeedTimeThresh_constraint_1 + }, + 0, 0, /* No default value */ + "lowSpeedTimeThresh" + }, +}; +static const int asn_MAP_CfgLowSpeedCriteria_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_CfgLowSpeedCriteria_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgLowSpeedCriteria_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lowSpeedThreshold */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lowSpeedTimeThresh */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgLowSpeedCriteria_specs_1 = { + sizeof(struct CfgLowSpeedCriteria), + offsetof(struct CfgLowSpeedCriteria, _asn_ctx), + asn_MAP_CfgLowSpeedCriteria_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_CfgLowSpeedCriteria_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgLowSpeedCriteria = { + "CfgLowSpeedCriteria", + "CfgLowSpeedCriteria", + &asn_OP_SEQUENCE, + asn_DEF_CfgLowSpeedCriteria_tags_1, + sizeof(asn_DEF_CfgLowSpeedCriteria_tags_1) + /sizeof(asn_DEF_CfgLowSpeedCriteria_tags_1[0]), /* 1 */ + asn_DEF_CfgLowSpeedCriteria_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgLowSpeedCriteria_tags_1) + /sizeof(asn_DEF_CfgLowSpeedCriteria_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgLowSpeedCriteria_1, + 2, /* Elements count */ + &asn_SPC_CfgLowSpeedCriteria_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgLowSpeedCriteria.h b/src/tmx/Asn_J2735/src/r2024/CfgLowSpeedCriteria.h deleted file mode 100644 index 4f537ffb0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgLowSpeedCriteria.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgLowSpeedCriteria_H_ -#define _CfgLowSpeedCriteria_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CfgLowSpeedCriteria */ -typedef struct CfgLowSpeedCriteria { - long lowSpeedThreshold; - long *lowSpeedTimeThresh; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgLowSpeedCriteria_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgLowSpeedCriteria; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgLowSpeedCriteria_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgLowSpeedCriteria_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgLowSpeedCriteria_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgMsgDictionary.c b/src/tmx/Asn_J2735/src/r2024/CfgMsgDictionary.c new file mode 100644 index 000000000..19c068eb4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgMsgDictionary.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgMsgDictionary.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CfgMsgDictionary_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CfgMsgDictionary_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_CfgMsgDictionary_value2enum_1[] = { + { 1, 3, "sae" }, + { 2, 4, "etsi" }, + { 3, 3, "iso" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CfgMsgDictionary_enum2value_1[] = { + 1, /* etsi(2) */ + 2, /* iso(3) */ + 0 /* sae(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_CfgMsgDictionary_specs_1 = { + asn_MAP_CfgMsgDictionary_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CfgMsgDictionary_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CfgMsgDictionary_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CfgMsgDictionary = { + "CfgMsgDictionary", + "CfgMsgDictionary", + &asn_OP_NativeEnumerated, + asn_DEF_CfgMsgDictionary_tags_1, + sizeof(asn_DEF_CfgMsgDictionary_tags_1) + /sizeof(asn_DEF_CfgMsgDictionary_tags_1[0]), /* 1 */ + asn_DEF_CfgMsgDictionary_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgMsgDictionary_tags_1) + /sizeof(asn_DEF_CfgMsgDictionary_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CfgMsgDictionary_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CfgMsgDictionary_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CfgMsgDictionary_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgMsgDictionary.h b/src/tmx/Asn_J2735/src/r2024/CfgMsgDictionary.h deleted file mode 100644 index 815359cd1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgMsgDictionary.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgMsgDictionary_H_ -#define _CfgMsgDictionary_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CfgMsgDictionary { - CfgMsgDictionary_sae = 1, - CfgMsgDictionary_etsi = 2, - CfgMsgDictionary_iso = 3 - /* - * Enumeration is extensible - */ -} e_CfgMsgDictionary; - -/* CfgMsgDictionary */ -typedef long CfgMsgDictionary_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_CfgMsgDictionary_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_CfgMsgDictionary; -extern const asn_INTEGER_specifics_t asn_SPC_CfgMsgDictionary_specs_1; -asn_struct_free_f CfgMsgDictionary_free; -asn_struct_print_f CfgMsgDictionary_print; -asn_constr_check_f CfgMsgDictionary_constraint; -ber_type_decoder_f CfgMsgDictionary_decode_ber; -der_type_encoder_f CfgMsgDictionary_encode_der; -xer_type_decoder_f CfgMsgDictionary_decode_xer; -xer_type_encoder_f CfgMsgDictionary_encode_xer; -oer_type_decoder_f CfgMsgDictionary_decode_oer; -oer_type_encoder_f CfgMsgDictionary_encode_oer; -per_type_decoder_f CfgMsgDictionary_decode_uper; -per_type_encoder_f CfgMsgDictionary_encode_uper; -per_type_decoder_f CfgMsgDictionary_decode_aper; -per_type_encoder_f CfgMsgDictionary_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgMsgDictionary_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgMsgRecepIndicators.c b/src/tmx/Asn_J2735/src/r2024/CfgMsgRecepIndicators.c new file mode 100644 index 000000000..7763a046d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgMsgRecepIndicators.c @@ -0,0 +1,189 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgMsgRecepIndicators.h" + +static int +memb_messages_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 8UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_messages_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_messages_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_messages_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_messages_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_messages_3[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_DSRCmsgID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_messages_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_messages_specs_3 = { + sizeof(struct CfgMsgRecepIndicators__messages), + offsetof(struct CfgMsgRecepIndicators__messages, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_messages_3 = { + "messages", + "messages", + &asn_OP_SEQUENCE_OF, + asn_DEF_messages_tags_3, + sizeof(asn_DEF_messages_tags_3) + /sizeof(asn_DEF_messages_tags_3[0]) - 1, /* 1 */ + asn_DEF_messages_tags_3, /* Same as above */ + sizeof(asn_DEF_messages_tags_3) + /sizeof(asn_DEF_messages_tags_3[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_messages_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_messages_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_messages_3, + 1, /* Single element */ + &asn_SPC_messages_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CfgMsgRecepIndicators_1[] = { + { ATF_POINTER, 2, offsetof(struct CfgMsgRecepIndicators, msgDictionary), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgMsgDictionary, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msgDictionary" + }, + { ATF_POINTER, 1, offsetof(struct CfgMsgRecepIndicators, messages), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_messages_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_messages_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_messages_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_messages_constraint_1 + }, + 0, 0, /* No default value */ + "messages" + }, +}; +static const int asn_MAP_CfgMsgRecepIndicators_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_CfgMsgRecepIndicators_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgMsgRecepIndicators_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* msgDictionary */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* messages */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgMsgRecepIndicators_specs_1 = { + sizeof(struct CfgMsgRecepIndicators), + offsetof(struct CfgMsgRecepIndicators, _asn_ctx), + asn_MAP_CfgMsgRecepIndicators_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_CfgMsgRecepIndicators_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgMsgRecepIndicators = { + "CfgMsgRecepIndicators", + "CfgMsgRecepIndicators", + &asn_OP_SEQUENCE, + asn_DEF_CfgMsgRecepIndicators_tags_1, + sizeof(asn_DEF_CfgMsgRecepIndicators_tags_1) + /sizeof(asn_DEF_CfgMsgRecepIndicators_tags_1[0]), /* 1 */ + asn_DEF_CfgMsgRecepIndicators_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgMsgRecepIndicators_tags_1) + /sizeof(asn_DEF_CfgMsgRecepIndicators_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgMsgRecepIndicators_1, + 2, /* Elements count */ + &asn_SPC_CfgMsgRecepIndicators_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgMsgRecepIndicators.h b/src/tmx/Asn_J2735/src/r2024/CfgMsgRecepIndicators.h deleted file mode 100644 index 50cf4a14f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgMsgRecepIndicators.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgMsgRecepIndicators_H_ -#define _CfgMsgRecepIndicators_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "CfgMsgDictionary.h" -#include "DSRCmsgID.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CfgMsgRecepIndicators */ -typedef struct CfgMsgRecepIndicators { - CfgMsgDictionary_t *msgDictionary; /* OPTIONAL */ - struct CfgMsgRecepIndicators__messages { - A_SEQUENCE_OF(DSRCmsgID_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *messages; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgMsgRecepIndicators_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgMsgRecepIndicators; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgMsgRecepIndicators_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgMsgRecepIndicators_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgMsgRecepIndicators_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgRoadSignInfo.c b/src/tmx/Asn_J2735/src/r2024/CfgRoadSignInfo.c new file mode 100644 index 000000000..6bff8dc26 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgRoadSignInfo.c @@ -0,0 +1,178 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgRoadSignInfo.h" + +static int +memb_lowRoadsignReflect1_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 250L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_lowRoadsignReflect2_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 250L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_lowRoadsignReflect1_constr_3 CC_NOTUSED = { + { 1, 1 } /* (1..250) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_lowRoadsignReflect1_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 250 } /* (1..250) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_lowRoadsignReflect2_constr_4 CC_NOTUSED = { + { 1, 1 } /* (1..250) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_lowRoadsignReflect2_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 250 } /* (1..250) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_CfgRoadSignInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CfgRoadSignInfo, roadsignDetection), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgRoadSignTypes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadsignDetection" + }, + { ATF_POINTER, 2, offsetof(struct CfgRoadSignInfo, lowRoadsignReflect1), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_lowRoadsignReflect1_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_lowRoadsignReflect1_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_lowRoadsignReflect1_constraint_1 + }, + 0, 0, /* No default value */ + "lowRoadsignReflect1" + }, + { ATF_POINTER, 1, offsetof(struct CfgRoadSignInfo, lowRoadsignReflect2), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_lowRoadsignReflect2_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_lowRoadsignReflect2_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_lowRoadsignReflect2_constraint_1 + }, + 0, 0, /* No default value */ + "lowRoadsignReflect2" + }, +}; +static const int asn_MAP_CfgRoadSignInfo_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_CfgRoadSignInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgRoadSignInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* roadsignDetection */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lowRoadsignReflect1 */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* lowRoadsignReflect2 */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgRoadSignInfo_specs_1 = { + sizeof(struct CfgRoadSignInfo), + offsetof(struct CfgRoadSignInfo, _asn_ctx), + asn_MAP_CfgRoadSignInfo_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_CfgRoadSignInfo_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgRoadSignInfo = { + "CfgRoadSignInfo", + "CfgRoadSignInfo", + &asn_OP_SEQUENCE, + asn_DEF_CfgRoadSignInfo_tags_1, + sizeof(asn_DEF_CfgRoadSignInfo_tags_1) + /sizeof(asn_DEF_CfgRoadSignInfo_tags_1[0]), /* 1 */ + asn_DEF_CfgRoadSignInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgRoadSignInfo_tags_1) + /sizeof(asn_DEF_CfgRoadSignInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgRoadSignInfo_1, + 3, /* Elements count */ + &asn_SPC_CfgRoadSignInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgRoadSignInfo.h b/src/tmx/Asn_J2735/src/r2024/CfgRoadSignInfo.h deleted file mode 100644 index 684768e80..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgRoadSignInfo.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgRoadSignInfo_H_ -#define _CfgRoadSignInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "CfgRoadSignTypes.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CfgRoadSignInfo */ -typedef struct CfgRoadSignInfo { - CfgRoadSignTypes_t roadsignDetection; - long *lowRoadsignReflect1; /* OPTIONAL */ - long *lowRoadsignReflect2; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgRoadSignInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgRoadSignInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgRoadSignInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgRoadSignInfo_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgRoadSignInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgRoadSignTypes.c b/src/tmx/Asn_J2735/src/r2024/CfgRoadSignTypes.c new file mode 100644 index 000000000..bcd4c4263 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgRoadSignTypes.c @@ -0,0 +1,302 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgRoadSignTypes.h" + +asn_TYPE_member_t asn_MBR_CfgRoadSignTypes_1[] = { + { ATF_POINTER, 14, offsetof(struct CfgRoadSignTypes, whiteOnGreen), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "whiteOnGreen" + }, + { ATF_POINTER, 13, offsetof(struct CfgRoadSignTypes, blackOnYellow), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "blackOnYellow" + }, + { ATF_POINTER, 12, offsetof(struct CfgRoadSignTypes, blackOnOrange), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "blackOnOrange" + }, + { ATF_POINTER, 11, offsetof(struct CfgRoadSignTypes, whiteOnRed), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "whiteOnRed" + }, + { ATF_POINTER, 10, offsetof(struct CfgRoadSignTypes, blackOnWhite), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "blackOnWhite" + }, + { ATF_POINTER, 9, offsetof(struct CfgRoadSignTypes, octagon), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "octagon" + }, + { ATF_POINTER, 8, offsetof(struct CfgRoadSignTypes, eqlatTriangle), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eqlatTriangle" + }, + { ATF_POINTER, 7, offsetof(struct CfgRoadSignTypes, circle), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "circle" + }, + { ATF_POINTER, 6, offsetof(struct CfgRoadSignTypes, pennant), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pennant" + }, + { ATF_POINTER, 5, offsetof(struct CfgRoadSignTypes, pentagon), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pentagon" + }, + { ATF_POINTER, 4, offsetof(struct CfgRoadSignTypes, crossbuck), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "crossbuck" + }, + { ATF_POINTER, 3, offsetof(struct CfgRoadSignTypes, diamond), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "diamond" + }, + { ATF_POINTER, 2, offsetof(struct CfgRoadSignTypes, trapezoid), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trapezoid" + }, + { ATF_POINTER, 1, offsetof(struct CfgRoadSignTypes, other), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "other" + }, +}; +static const int asn_MAP_CfgRoadSignTypes_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 }; +static const ber_tlv_tag_t asn_DEF_CfgRoadSignTypes_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgRoadSignTypes_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* whiteOnGreen */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* blackOnYellow */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* blackOnOrange */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* whiteOnRed */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* blackOnWhite */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* octagon */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* eqlatTriangle */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* circle */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* pennant */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* pentagon */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* crossbuck */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* diamond */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* trapezoid */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 } /* other */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgRoadSignTypes_specs_1 = { + sizeof(struct CfgRoadSignTypes), + offsetof(struct CfgRoadSignTypes, _asn_ctx), + asn_MAP_CfgRoadSignTypes_tag2el_1, + 14, /* Count of tags in the map */ + asn_MAP_CfgRoadSignTypes_oms_1, /* Optional members */ + 14, 0, /* Root/Additions */ + 14, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgRoadSignTypes = { + "CfgRoadSignTypes", + "CfgRoadSignTypes", + &asn_OP_SEQUENCE, + asn_DEF_CfgRoadSignTypes_tags_1, + sizeof(asn_DEF_CfgRoadSignTypes_tags_1) + /sizeof(asn_DEF_CfgRoadSignTypes_tags_1[0]), /* 1 */ + asn_DEF_CfgRoadSignTypes_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgRoadSignTypes_tags_1) + /sizeof(asn_DEF_CfgRoadSignTypes_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgRoadSignTypes_1, + 14, /* Elements count */ + &asn_SPC_CfgRoadSignTypes_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgRoadSignTypes.h b/src/tmx/Asn_J2735/src/r2024/CfgRoadSignTypes.h deleted file mode 100644 index b59ee241a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgRoadSignTypes.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgRoadSignTypes_H_ -#define _CfgRoadSignTypes_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CfgRoadSignTypes */ -typedef struct CfgRoadSignTypes { - BOOLEAN_t *whiteOnGreen; /* OPTIONAL */ - BOOLEAN_t *blackOnYellow; /* OPTIONAL */ - BOOLEAN_t *blackOnOrange; /* OPTIONAL */ - BOOLEAN_t *whiteOnRed; /* OPTIONAL */ - BOOLEAN_t *blackOnWhite; /* OPTIONAL */ - BOOLEAN_t *octagon; /* OPTIONAL */ - BOOLEAN_t *eqlatTriangle; /* OPTIONAL */ - BOOLEAN_t *circle; /* OPTIONAL */ - BOOLEAN_t *pennant; /* OPTIONAL */ - BOOLEAN_t *pentagon; /* OPTIONAL */ - BOOLEAN_t *crossbuck; /* OPTIONAL */ - BOOLEAN_t *diamond; /* OPTIONAL */ - BOOLEAN_t *trapezoid; /* OPTIONAL */ - BOOLEAN_t *other; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgRoadSignTypes_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgRoadSignTypes; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgRoadSignTypes_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgRoadSignTypes_1[14]; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgRoadSignTypes_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgRoadwayEvents.c b/src/tmx/Asn_J2735/src/r2024/CfgRoadwayEvents.c new file mode 100644 index 000000000..544397c0c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgRoadwayEvents.c @@ -0,0 +1,339 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgRoadwayEvents.h" + +static int +memb_lowLaneMarkReflect_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 100L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_lowLaneMarkReflect_constr_8 CC_NOTUSED = { + { 1, 1 } /* (1..100) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_lowLaneMarkReflect_constr_8 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 100 } /* (1..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_CfgRoadwayEvents_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CfgRoadwayEvents, obstacleDetected), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "obstacleDetected" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgRoadwayEvents, adverseRoadSurface), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "adverseRoadSurface" + }, + { ATF_POINTER, 1, offsetof(struct CfgRoadwayEvents, trafficSigEncounters), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgTrafficSigEncounters, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trafficSigEncounters" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgRoadwayEvents, trfsigLightOut), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigLightOut" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgRoadwayEvents, trfsigRoadGeoMismatch), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigRoadGeoMismatch" + }, + { ATF_POINTER, 2, offsetof(struct CfgRoadwayEvents, roadSignInfo), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgRoadSignInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadSignInfo" + }, + { ATF_POINTER, 1, offsetof(struct CfgRoadwayEvents, lowLaneMarkReflect), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_lowLaneMarkReflect_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_lowLaneMarkReflect_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_lowLaneMarkReflect_constraint_1 + }, + 0, 0, /* No default value */ + "lowLaneMarkReflect" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgRoadwayEvents, roadsignIncnstncy), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadsignIncnstncy" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgRoadwayEvents, laneGeoIncnstncy), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneGeoIncnstncy" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgRoadwayEvents, incidentDetect), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "incidentDetect" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgRoadwayEvents, workZoneCharDetect), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "workZoneCharDetect" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgRoadwayEvents, inclWeatherDetect), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "inclWeatherDetect" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgRoadwayEvents, railrdCrossActivated), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "railrdCrossActivated" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgRoadwayEvents, drawBridgeActivated), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "drawBridgeActivated" + }, +}; +static const int asn_MAP_CfgRoadwayEvents_oms_1[] = { 2, 5, 6 }; +static const ber_tlv_tag_t asn_DEF_CfgRoadwayEvents_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgRoadwayEvents_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* obstacleDetected */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* adverseRoadSurface */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* trafficSigEncounters */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* trfsigLightOut */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* trfsigRoadGeoMismatch */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* roadSignInfo */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* lowLaneMarkReflect */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* roadsignIncnstncy */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* laneGeoIncnstncy */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* incidentDetect */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* workZoneCharDetect */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* inclWeatherDetect */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* railrdCrossActivated */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 } /* drawBridgeActivated */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgRoadwayEvents_specs_1 = { + sizeof(struct CfgRoadwayEvents), + offsetof(struct CfgRoadwayEvents, _asn_ctx), + asn_MAP_CfgRoadwayEvents_tag2el_1, + 14, /* Count of tags in the map */ + asn_MAP_CfgRoadwayEvents_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 14, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgRoadwayEvents = { + "CfgRoadwayEvents", + "CfgRoadwayEvents", + &asn_OP_SEQUENCE, + asn_DEF_CfgRoadwayEvents_tags_1, + sizeof(asn_DEF_CfgRoadwayEvents_tags_1) + /sizeof(asn_DEF_CfgRoadwayEvents_tags_1[0]), /* 1 */ + asn_DEF_CfgRoadwayEvents_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgRoadwayEvents_tags_1) + /sizeof(asn_DEF_CfgRoadwayEvents_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgRoadwayEvents_1, + 14, /* Elements count */ + &asn_SPC_CfgRoadwayEvents_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgRoadwayEvents.h b/src/tmx/Asn_J2735/src/r2024/CfgRoadwayEvents.h deleted file mode 100644 index 392dcf32b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgRoadwayEvents.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgRoadwayEvents_H_ -#define _CfgRoadwayEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct CfgTrafficSigEncounters; -struct CfgRoadSignInfo; - -/* CfgRoadwayEvents */ -typedef struct CfgRoadwayEvents { - BOOLEAN_t obstacleDetected; - BOOLEAN_t adverseRoadSurface; - struct CfgTrafficSigEncounters *trafficSigEncounters; /* OPTIONAL */ - BOOLEAN_t trfsigLightOut; - BOOLEAN_t trfsigRoadGeoMismatch; - struct CfgRoadSignInfo *roadSignInfo; /* OPTIONAL */ - long *lowLaneMarkReflect; /* OPTIONAL */ - BOOLEAN_t roadsignIncnstncy; - BOOLEAN_t laneGeoIncnstncy; - BOOLEAN_t incidentDetect; - BOOLEAN_t workZoneCharDetect; - BOOLEAN_t inclWeatherDetect; - BOOLEAN_t railrdCrossActivated; - BOOLEAN_t drawBridgeActivated; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgRoadwayEvents_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgRoadwayEvents; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgRoadwayEvents_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgRoadwayEvents_1[14]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "CfgTrafficSigEncounters.h" -#include "CfgRoadSignInfo.h" - -#endif /* _CfgRoadwayEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgStoppedCriteria.c b/src/tmx/Asn_J2735/src/r2024/CfgStoppedCriteria.c new file mode 100644 index 000000000..f12392894 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgStoppedCriteria.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgStoppedCriteria.h" + +static int +memb_stoppedSpeedThreshold_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 30L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_amountOfTimeBelow_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 300L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_stoppedSpeedThreshold_constr_2 CC_NOTUSED = { + { 1, 1 } /* (1..30) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_stoppedSpeedThreshold_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 1, 30 } /* (1..30) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_amountOfTimeBelow_constr_3 CC_NOTUSED = { + { 2, 1 } /* (1..300) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_amountOfTimeBelow_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, 1, 300 } /* (1..300) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_CfgStoppedCriteria_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CfgStoppedCriteria, stoppedSpeedThreshold), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_stoppedSpeedThreshold_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_stoppedSpeedThreshold_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_stoppedSpeedThreshold_constraint_1 + }, + 0, 0, /* No default value */ + "stoppedSpeedThreshold" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgStoppedCriteria, amountOfTimeBelow), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_amountOfTimeBelow_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_amountOfTimeBelow_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_amountOfTimeBelow_constraint_1 + }, + 0, 0, /* No default value */ + "amountOfTimeBelow" + }, +}; +static const ber_tlv_tag_t asn_DEF_CfgStoppedCriteria_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgStoppedCriteria_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* stoppedSpeedThreshold */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* amountOfTimeBelow */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgStoppedCriteria_specs_1 = { + sizeof(struct CfgStoppedCriteria), + offsetof(struct CfgStoppedCriteria, _asn_ctx), + asn_MAP_CfgStoppedCriteria_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgStoppedCriteria = { + "CfgStoppedCriteria", + "CfgStoppedCriteria", + &asn_OP_SEQUENCE, + asn_DEF_CfgStoppedCriteria_tags_1, + sizeof(asn_DEF_CfgStoppedCriteria_tags_1) + /sizeof(asn_DEF_CfgStoppedCriteria_tags_1[0]), /* 1 */ + asn_DEF_CfgStoppedCriteria_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgStoppedCriteria_tags_1) + /sizeof(asn_DEF_CfgStoppedCriteria_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgStoppedCriteria_1, + 2, /* Elements count */ + &asn_SPC_CfgStoppedCriteria_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgStoppedCriteria.h b/src/tmx/Asn_J2735/src/r2024/CfgStoppedCriteria.h deleted file mode 100644 index fe34480ca..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgStoppedCriteria.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgStoppedCriteria_H_ -#define _CfgStoppedCriteria_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CfgStoppedCriteria */ -typedef struct CfgStoppedCriteria { - long stoppedSpeedThreshold; - long amountOfTimeBelow; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgStoppedCriteria_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgStoppedCriteria; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgStoppedCriteria_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgStoppedCriteria_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgStoppedCriteria_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgSummaryTriggers.c b/src/tmx/Asn_J2735/src/r2024/CfgSummaryTriggers.c new file mode 100644 index 000000000..af6ca3895 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgSummaryTriggers.c @@ -0,0 +1,266 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgSummaryTriggers.h" + +asn_TYPE_member_t asn_MBR_CfgSummaryTriggers_1[] = { + { ATF_POINTER, 12, offsetof(struct CfgSummaryTriggers, regTravelTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regTravelTime" + }, + { ATF_POINTER, 11, offsetof(struct CfgSummaryTriggers, regVehDistTraveled), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regVehDistTraveled" + }, + { ATF_POINTER, 10, offsetof(struct CfgSummaryTriggers, regVehTimeTraveled), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regVehTimeTraveled" + }, + { ATF_POINTER, 9, offsetof(struct CfgSummaryTriggers, fuelConsumption), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "fuelConsumption" + }, + { ATF_POINTER, 8, offsetof(struct CfgSummaryTriggers, totalVehEmissions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "totalVehEmissions" + }, + { ATF_POINTER, 7, offsetof(struct CfgSummaryTriggers, numOfLowSpeedEvents), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgLowSpeedCriteria, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "numOfLowSpeedEvents" + }, + { ATF_POINTER, 6, offsetof(struct CfgSummaryTriggers, timeStopped), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgStoppedCriteria, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStopped" + }, + { ATF_POINTER, 5, offsetof(struct CfgSummaryTriggers, numOfStopped), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgStoppedCriteria, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "numOfStopped" + }, + { ATF_POINTER, 4, offsetof(struct CfgSummaryTriggers, locOfStops), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "locOfStops" + }, + { ATF_POINTER, 3, offsetof(struct CfgSummaryTriggers, regNumOfVehPassed), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regNumOfVehPassed" + }, + { ATF_POINTER, 2, offsetof(struct CfgSummaryTriggers, regNumOfSurpassedVeh), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regNumOfSurpassedVeh" + }, + { ATF_POINTER, 1, offsetof(struct CfgSummaryTriggers, totalMsgsReceived), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgMsgRecepIndicators, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "totalMsgsReceived" + }, +}; +static const int asn_MAP_CfgSummaryTriggers_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; +static const ber_tlv_tag_t asn_DEF_CfgSummaryTriggers_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgSummaryTriggers_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* regTravelTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* regVehDistTraveled */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* regVehTimeTraveled */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* fuelConsumption */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* totalVehEmissions */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* numOfLowSpeedEvents */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* timeStopped */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* numOfStopped */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* locOfStops */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* regNumOfVehPassed */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* regNumOfSurpassedVeh */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* totalMsgsReceived */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgSummaryTriggers_specs_1 = { + sizeof(struct CfgSummaryTriggers), + offsetof(struct CfgSummaryTriggers, _asn_ctx), + asn_MAP_CfgSummaryTriggers_tag2el_1, + 12, /* Count of tags in the map */ + asn_MAP_CfgSummaryTriggers_oms_1, /* Optional members */ + 12, 0, /* Root/Additions */ + 12, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgSummaryTriggers = { + "CfgSummaryTriggers", + "CfgSummaryTriggers", + &asn_OP_SEQUENCE, + asn_DEF_CfgSummaryTriggers_tags_1, + sizeof(asn_DEF_CfgSummaryTriggers_tags_1) + /sizeof(asn_DEF_CfgSummaryTriggers_tags_1[0]), /* 1 */ + asn_DEF_CfgSummaryTriggers_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgSummaryTriggers_tags_1) + /sizeof(asn_DEF_CfgSummaryTriggers_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgSummaryTriggers_1, + 12, /* Elements count */ + &asn_SPC_CfgSummaryTriggers_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgSummaryTriggers.h b/src/tmx/Asn_J2735/src/r2024/CfgSummaryTriggers.h deleted file mode 100644 index fe73fd27a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgSummaryTriggers.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgSummaryTriggers_H_ -#define _CfgSummaryTriggers_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct CfgLowSpeedCriteria; -struct CfgStoppedCriteria; -struct CfgMsgRecepIndicators; - -/* CfgSummaryTriggers */ -typedef struct CfgSummaryTriggers { - BOOLEAN_t *regTravelTime; /* OPTIONAL */ - BOOLEAN_t *regVehDistTraveled; /* OPTIONAL */ - BOOLEAN_t *regVehTimeTraveled; /* OPTIONAL */ - BOOLEAN_t *fuelConsumption; /* OPTIONAL */ - BOOLEAN_t *totalVehEmissions; /* OPTIONAL */ - struct CfgLowSpeedCriteria *numOfLowSpeedEvents; /* OPTIONAL */ - struct CfgStoppedCriteria *timeStopped; /* OPTIONAL */ - struct CfgStoppedCriteria *numOfStopped; /* OPTIONAL */ - BOOLEAN_t *locOfStops; /* OPTIONAL */ - BOOLEAN_t *regNumOfVehPassed; /* OPTIONAL */ - BOOLEAN_t *regNumOfSurpassedVeh; /* OPTIONAL */ - struct CfgMsgRecepIndicators *totalMsgsReceived; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgSummaryTriggers_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgSummaryTriggers; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgSummaryTriggers_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgSummaryTriggers_1[12]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "CfgLowSpeedCriteria.h" -#include "CfgStoppedCriteria.h" -#include "CfgMsgRecepIndicators.h" - -#endif /* _CfgSummaryTriggers_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgTrafficSigEncounters.c b/src/tmx/Asn_J2735/src/r2024/CfgTrafficSigEncounters.c new file mode 100644 index 000000000..ed5414d02 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgTrafficSigEncounters.c @@ -0,0 +1,408 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgTrafficSigEncounters.h" + +static int +memb_intersections_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 100UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_trfcsigApproachDelay_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 3600L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_trfsigApproachSpeed_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 200L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_trfsigPedDelay_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 300L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_intersections_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..100)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_intersections_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 7, 7, 1, 100 } /* (SIZE(1..100)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_intersections_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..100)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_intersections_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 7, 7, 1, 100 } /* (SIZE(1..100)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_trfcsigApproachDelay_constr_4 CC_NOTUSED = { + { 2, 1 } /* (1..3600) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_trfcsigApproachDelay_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 1, 3600 } /* (1..3600) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_trfsigApproachSpeed_constr_5 CC_NOTUSED = { + { 1, 1 } /* (1..200) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_trfsigApproachSpeed_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 200 } /* (1..200) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_trfsigPedDelay_constr_8 CC_NOTUSED = { + { 2, 1 } /* (1..300) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_trfsigPedDelay_constr_8 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, 1, 300 } /* (1..300) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_intersections_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_IntersectionID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_intersections_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_intersections_specs_2 = { + sizeof(struct CfgTrafficSigEncounters__intersections), + offsetof(struct CfgTrafficSigEncounters__intersections, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_intersections_2 = { + "intersections", + "intersections", + &asn_OP_SEQUENCE_OF, + asn_DEF_intersections_tags_2, + sizeof(asn_DEF_intersections_tags_2) + /sizeof(asn_DEF_intersections_tags_2[0]) - 1, /* 1 */ + asn_DEF_intersections_tags_2, /* Same as above */ + sizeof(asn_DEF_intersections_tags_2) + /sizeof(asn_DEF_intersections_tags_2[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_intersections_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_intersections_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_intersections_2, + 1, /* Single element */ + &asn_SPC_intersections_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CfgTrafficSigEncounters_1[] = { + { ATF_POINTER, 8, offsetof(struct CfgTrafficSigEncounters, intersections), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_intersections_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_intersections_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_intersections_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_intersections_constraint_1 + }, + 0, 0, /* No default value */ + "intersections" + }, + { ATF_POINTER, 7, offsetof(struct CfgTrafficSigEncounters, trfcsigApproachDelay), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_trfcsigApproachDelay_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_trfcsigApproachDelay_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_trfcsigApproachDelay_constraint_1 + }, + 0, 0, /* No default value */ + "trfcsigApproachDelay" + }, + { ATF_POINTER, 6, offsetof(struct CfgTrafficSigEncounters, trfsigApproachSpeed), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_trfsigApproachSpeed_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_trfsigApproachSpeed_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_trfsigApproachSpeed_constraint_1 + }, + 0, 0, /* No default value */ + "trfsigApproachSpeed" + }, + { ATF_POINTER, 5, offsetof(struct CfgTrafficSigEncounters, trfsigArrivalGreen), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigArrivalGreen" + }, + { ATF_POINTER, 4, offsetof(struct CfgTrafficSigEncounters, trfsigArrivalRed), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigArrivalRed" + }, + { ATF_POINTER, 3, offsetof(struct CfgTrafficSigEncounters, trfsigPedDelay), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_trfsigPedDelay_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_trfsigPedDelay_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_trfsigPedDelay_constraint_1 + }, + 0, 0, /* No default value */ + "trfsigPedDelay" + }, + { ATF_POINTER, 2, offsetof(struct CfgTrafficSigEncounters, trfsigSpatMismatch), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigSpatMismatch" + }, + { ATF_POINTER, 1, offsetof(struct CfgTrafficSigEncounters, trfsigSpatTimingError), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigSpatTimingError" + }, +}; +static const int asn_MAP_CfgTrafficSigEncounters_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; +static const ber_tlv_tag_t asn_DEF_CfgTrafficSigEncounters_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgTrafficSigEncounters_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* intersections */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* trfcsigApproachDelay */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* trfsigApproachSpeed */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* trfsigArrivalGreen */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* trfsigArrivalRed */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* trfsigPedDelay */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* trfsigSpatMismatch */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* trfsigSpatTimingError */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgTrafficSigEncounters_specs_1 = { + sizeof(struct CfgTrafficSigEncounters), + offsetof(struct CfgTrafficSigEncounters, _asn_ctx), + asn_MAP_CfgTrafficSigEncounters_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_CfgTrafficSigEncounters_oms_1, /* Optional members */ + 8, 0, /* Root/Additions */ + 8, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgTrafficSigEncounters = { + "CfgTrafficSigEncounters", + "CfgTrafficSigEncounters", + &asn_OP_SEQUENCE, + asn_DEF_CfgTrafficSigEncounters_tags_1, + sizeof(asn_DEF_CfgTrafficSigEncounters_tags_1) + /sizeof(asn_DEF_CfgTrafficSigEncounters_tags_1[0]), /* 1 */ + asn_DEF_CfgTrafficSigEncounters_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgTrafficSigEncounters_tags_1) + /sizeof(asn_DEF_CfgTrafficSigEncounters_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgTrafficSigEncounters_1, + 8, /* Elements count */ + &asn_SPC_CfgTrafficSigEncounters_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgTrafficSigEncounters.h b/src/tmx/Asn_J2735/src/r2024/CfgTrafficSigEncounters.h deleted file mode 100644 index 3d392bc16..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgTrafficSigEncounters.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgTrafficSigEncounters_H_ -#define _CfgTrafficSigEncounters_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "BOOLEAN.h" -#include "IntersectionID.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CfgTrafficSigEncounters */ -typedef struct CfgTrafficSigEncounters { - struct CfgTrafficSigEncounters__intersections { - A_SEQUENCE_OF(IntersectionID_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *intersections; - long *trfcsigApproachDelay; /* OPTIONAL */ - long *trfsigApproachSpeed; /* OPTIONAL */ - BOOLEAN_t *trfsigArrivalGreen; /* OPTIONAL */ - BOOLEAN_t *trfsigArrivalRed; /* OPTIONAL */ - long *trfsigPedDelay; /* OPTIONAL */ - BOOLEAN_t *trfsigSpatMismatch; /* OPTIONAL */ - BOOLEAN_t *trfsigSpatTimingError; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgTrafficSigEncounters_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgTrafficSigEncounters; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgTrafficSigEncounters_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgTrafficSigEncounters_1[8]; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgTrafficSigEncounters_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgTransitVehicleData.c b/src/tmx/Asn_J2735/src/r2024/CfgTransitVehicleData.c new file mode 100644 index 000000000..d4caa66bb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgTransitVehicleData.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgTransitVehicleData.h" + +asn_TYPE_member_t asn_MBR_CfgTransitVehicleData_1[] = { + { ATF_POINTER, 3, offsetof(struct CfgTransitVehicleData, currNumPasngers), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "currNumPasngers" + }, + { ATF_POINTER, 2, offsetof(struct CfgTransitVehicleData, avgNumPasngers), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "avgNumPasngers" + }, + { ATF_POINTER, 1, offsetof(struct CfgTransitVehicleData, trnstVehSchAdh), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trnstVehSchAdh" + }, +}; +static const int asn_MAP_CfgTransitVehicleData_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_CfgTransitVehicleData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgTransitVehicleData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* currNumPasngers */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* avgNumPasngers */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* trnstVehSchAdh */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgTransitVehicleData_specs_1 = { + sizeof(struct CfgTransitVehicleData), + offsetof(struct CfgTransitVehicleData, _asn_ctx), + asn_MAP_CfgTransitVehicleData_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_CfgTransitVehicleData_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgTransitVehicleData = { + "CfgTransitVehicleData", + "CfgTransitVehicleData", + &asn_OP_SEQUENCE, + asn_DEF_CfgTransitVehicleData_tags_1, + sizeof(asn_DEF_CfgTransitVehicleData_tags_1) + /sizeof(asn_DEF_CfgTransitVehicleData_tags_1[0]), /* 1 */ + asn_DEF_CfgTransitVehicleData_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgTransitVehicleData_tags_1) + /sizeof(asn_DEF_CfgTransitVehicleData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgTransitVehicleData_1, + 3, /* Elements count */ + &asn_SPC_CfgTransitVehicleData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgTransitVehicleData.h b/src/tmx/Asn_J2735/src/r2024/CfgTransitVehicleData.h deleted file mode 100644 index 22173d861..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgTransitVehicleData.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgTransitVehicleData_H_ -#define _CfgTransitVehicleData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CfgTransitVehicleData */ -typedef struct CfgTransitVehicleData { - BOOLEAN_t *currNumPasngers; /* OPTIONAL */ - BOOLEAN_t *avgNumPasngers; /* OPTIONAL */ - BOOLEAN_t *trnstVehSchAdh; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgTransitVehicleData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgTransitVehicleData; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgTransitVehicleData_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgTransitVehicleData_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgTransitVehicleData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgVehicleClass.c b/src/tmx/Asn_J2735/src/r2024/CfgVehicleClass.c new file mode 100644 index 000000000..9373d307f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgVehicleClass.c @@ -0,0 +1,282 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgVehicleClass.h" + +asn_TYPE_member_t asn_MBR_CfgVehicleClass_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CfgVehicleClass, motorcycles), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "motorcycles" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgVehicleClass, passengerCars), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "passengerCars" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgVehicleClass, other2axle4tireSingleUnitVehs), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "other2axle4tireSingleUnitVehs" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgVehicleClass, buses), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "buses" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgVehicleClass, twoAxle6TireSingleUnitTrucks), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "twoAxle6TireSingleUnitTrucks" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgVehicleClass, threeAxleSingleUnitTrucks), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "threeAxleSingleUnitTrucks" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgVehicleClass, fourOrMoreAxleSingleUnitTrucks), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "fourOrMoreAxleSingleUnitTrucks" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgVehicleClass, fourOrFewerAxleSingleTrailerTrucks), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "fourOrFewerAxleSingleTrailerTrucks" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgVehicleClass, fiveAxleSingleTrailerTrucks), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "fiveAxleSingleTrailerTrucks" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgVehicleClass, sixOrMoreAxleSingleTrailerTrucks), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sixOrMoreAxleSingleTrailerTrucks" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgVehicleClass, fiveOrFewerAxleMultiTrailerTrucks), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "fiveOrFewerAxleMultiTrailerTrucks" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgVehicleClass, sixAxleMultiTrailerTrucks), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sixAxleMultiTrailerTrucks" + }, + { ATF_NOFLAGS, 0, offsetof(struct CfgVehicleClass, sevenOrMoreAxleMultiTrailerTrucks), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sevenOrMoreAxleMultiTrailerTrucks" + }, +}; +static const ber_tlv_tag_t asn_DEF_CfgVehicleClass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgVehicleClass_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* motorcycles */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* passengerCars */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* other2axle4tireSingleUnitVehs */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* buses */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* twoAxle6TireSingleUnitTrucks */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* threeAxleSingleUnitTrucks */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* fourOrMoreAxleSingleUnitTrucks */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* fourOrFewerAxleSingleTrailerTrucks */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* fiveAxleSingleTrailerTrucks */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* sixOrMoreAxleSingleTrailerTrucks */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* fiveOrFewerAxleMultiTrailerTrucks */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* sixAxleMultiTrailerTrucks */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 } /* sevenOrMoreAxleMultiTrailerTrucks */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgVehicleClass_specs_1 = { + sizeof(struct CfgVehicleClass), + offsetof(struct CfgVehicleClass, _asn_ctx), + asn_MAP_CfgVehicleClass_tag2el_1, + 13, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 13, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgVehicleClass = { + "CfgVehicleClass", + "CfgVehicleClass", + &asn_OP_SEQUENCE, + asn_DEF_CfgVehicleClass_tags_1, + sizeof(asn_DEF_CfgVehicleClass_tags_1) + /sizeof(asn_DEF_CfgVehicleClass_tags_1[0]), /* 1 */ + asn_DEF_CfgVehicleClass_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgVehicleClass_tags_1) + /sizeof(asn_DEF_CfgVehicleClass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgVehicleClass_1, + 13, /* Elements count */ + &asn_SPC_CfgVehicleClass_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgVehicleClass.h b/src/tmx/Asn_J2735/src/r2024/CfgVehicleClass.h deleted file mode 100644 index f79071efc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgVehicleClass.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgVehicleClass_H_ -#define _CfgVehicleClass_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CfgVehicleClass */ -typedef struct CfgVehicleClass { - BOOLEAN_t motorcycles; - BOOLEAN_t passengerCars; - BOOLEAN_t other2axle4tireSingleUnitVehs; - BOOLEAN_t buses; - BOOLEAN_t twoAxle6TireSingleUnitTrucks; - BOOLEAN_t threeAxleSingleUnitTrucks; - BOOLEAN_t fourOrMoreAxleSingleUnitTrucks; - BOOLEAN_t fourOrFewerAxleSingleTrailerTrucks; - BOOLEAN_t fiveAxleSingleTrailerTrucks; - BOOLEAN_t sixOrMoreAxleSingleTrailerTrucks; - BOOLEAN_t fiveOrFewerAxleMultiTrailerTrucks; - BOOLEAN_t sixAxleMultiTrailerTrucks; - BOOLEAN_t sevenOrMoreAxleMultiTrailerTrucks; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgVehicleClass_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgVehicleClass; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgVehicleClass_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgVehicleClass_1[13]; - -#ifdef __cplusplus -} -#endif - -#endif /* _CfgVehicleClass_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CfgVehicleEvents.c b/src/tmx/Asn_J2735/src/r2024/CfgVehicleEvents.c new file mode 100644 index 000000000..b03c906f9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CfgVehicleEvents.c @@ -0,0 +1,303 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CfgVehicleEvents.h" + +static int +memb_resumedSpeed_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 100L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_resumedSpeed_constr_8 CC_NOTUSED = { + { 1, 1 } /* (1..100) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_resumedSpeed_constr_8 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 100 } /* (1..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_CfgVehicleEvents_1[] = { + { ATF_POINTER, 12, offsetof(struct CfgVehicleEvents, headLights), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "headLights" + }, + { ATF_POINTER, 11, offsetof(struct CfgVehicleEvents, fogLights), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "fogLights" + }, + { ATF_POINTER, 10, offsetof(struct CfgVehicleEvents, hazardLights), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hazardLights" + }, + { ATF_POINTER, 9, offsetof(struct CfgVehicleEvents, kinematicEvents), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgKinematicEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "kinematicEvents" + }, + { ATF_POINTER, 8, offsetof(struct CfgVehicleEvents, wiperStatusChange), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wiperStatusChange" + }, + { ATF_POINTER, 7, offsetof(struct CfgVehicleEvents, lowSpeed), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgLowSpeedCriteria, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lowSpeed" + }, + { ATF_POINTER, 6, offsetof(struct CfgVehicleEvents, resumedSpeed), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_resumedSpeed_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_resumedSpeed_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_resumedSpeed_constraint_1 + }, + 0, 0, /* No default value */ + "resumedSpeed" + }, + { ATF_POINTER, 5, offsetof(struct CfgVehicleEvents, vehEntrsExitsRegion), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehEntrsExitsRegion" + }, + { ATF_POINTER, 4, offsetof(struct CfgVehicleEvents, emerVehDetect), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emerVehDetect" + }, + { ATF_POINTER, 3, offsetof(struct CfgVehicleEvents, emerAndTransInfo), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_CfgEmerAndTransitInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emerAndTransInfo" + }, + { ATF_POINTER, 2, offsetof(struct CfgVehicleEvents, v2xMsgRecption), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgMsgRecepIndicators, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "v2xMsgRecption" + }, + { ATF_POINTER, 1, offsetof(struct CfgVehicleEvents, driverAlertsAndWarnings), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "driverAlertsAndWarnings" + }, +}; +static const int asn_MAP_CfgVehicleEvents_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; +static const ber_tlv_tag_t asn_DEF_CfgVehicleEvents_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CfgVehicleEvents_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* headLights */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* fogLights */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* hazardLights */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* kinematicEvents */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* wiperStatusChange */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* lowSpeed */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* resumedSpeed */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* vehEntrsExitsRegion */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* emerVehDetect */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* emerAndTransInfo */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* v2xMsgRecption */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* driverAlertsAndWarnings */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CfgVehicleEvents_specs_1 = { + sizeof(struct CfgVehicleEvents), + offsetof(struct CfgVehicleEvents, _asn_ctx), + asn_MAP_CfgVehicleEvents_tag2el_1, + 12, /* Count of tags in the map */ + asn_MAP_CfgVehicleEvents_oms_1, /* Optional members */ + 12, 0, /* Root/Additions */ + 12, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CfgVehicleEvents = { + "CfgVehicleEvents", + "CfgVehicleEvents", + &asn_OP_SEQUENCE, + asn_DEF_CfgVehicleEvents_tags_1, + sizeof(asn_DEF_CfgVehicleEvents_tags_1) + /sizeof(asn_DEF_CfgVehicleEvents_tags_1[0]), /* 1 */ + asn_DEF_CfgVehicleEvents_tags_1, /* Same as above */ + sizeof(asn_DEF_CfgVehicleEvents_tags_1) + /sizeof(asn_DEF_CfgVehicleEvents_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CfgVehicleEvents_1, + 12, /* Elements count */ + &asn_SPC_CfgVehicleEvents_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CfgVehicleEvents.h b/src/tmx/Asn_J2735/src/r2024/CfgVehicleEvents.h deleted file mode 100644 index da037f239..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CfgVehicleEvents.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CfgVehicleEvents_H_ -#define _CfgVehicleEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct CfgKinematicEvents; -struct CfgLowSpeedCriteria; -struct CfgEmerAndTransitInfo; -struct CfgMsgRecepIndicators; - -/* CfgVehicleEvents */ -typedef struct CfgVehicleEvents { - BOOLEAN_t *headLights; /* OPTIONAL */ - BOOLEAN_t *fogLights; /* OPTIONAL */ - BOOLEAN_t *hazardLights; /* OPTIONAL */ - struct CfgKinematicEvents *kinematicEvents; /* OPTIONAL */ - BOOLEAN_t *wiperStatusChange; /* OPTIONAL */ - struct CfgLowSpeedCriteria *lowSpeed; /* OPTIONAL */ - long *resumedSpeed; /* OPTIONAL */ - BOOLEAN_t *vehEntrsExitsRegion; /* OPTIONAL */ - BOOLEAN_t *emerVehDetect; /* OPTIONAL */ - struct CfgEmerAndTransitInfo *emerAndTransInfo; /* OPTIONAL */ - struct CfgMsgRecepIndicators *v2xMsgRecption; /* OPTIONAL */ - BOOLEAN_t *driverAlertsAndWarnings; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CfgVehicleEvents_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CfgVehicleEvents; -extern asn_SEQUENCE_specifics_t asn_SPC_CfgVehicleEvents_specs_1; -extern asn_TYPE_member_t asn_MBR_CfgVehicleEvents_1[12]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "CfgKinematicEvents.h" -#include "CfgLowSpeedCriteria.h" -#include "CfgEmerAndTransitInfo.h" -#include "CfgMsgRecepIndicators.h" - -#endif /* _CfgVehicleEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ChargeObjectId.c b/src/tmx/Asn_J2735/src/r2024/ChargeObjectId.c new file mode 100644 index 000000000..be9737f29 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ChargeObjectId.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ChargeObjectId.h" + +asn_TYPE_member_t asn_MBR_ChargeObjectId_1[] = { + { ATF_POINTER, 1, offsetof(struct ChargeObjectId, chargeObjectOperator), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Provider, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargeObjectOperator" + }, + { ATF_NOFLAGS, 0, offsetof(struct ChargeObjectId, chargeObjectDesignation), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int4Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargeObjectDesignation" + }, +}; +static const int asn_MAP_ChargeObjectId_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_ChargeObjectId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ChargeObjectId_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* chargeObjectOperator */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* chargeObjectDesignation */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ChargeObjectId_specs_1 = { + sizeof(struct ChargeObjectId), + offsetof(struct ChargeObjectId, _asn_ctx), + asn_MAP_ChargeObjectId_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_ChargeObjectId_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ChargeObjectId = { + "ChargeObjectId", + "ChargeObjectId", + &asn_OP_SEQUENCE, + asn_DEF_ChargeObjectId_tags_1, + sizeof(asn_DEF_ChargeObjectId_tags_1) + /sizeof(asn_DEF_ChargeObjectId_tags_1[0]), /* 1 */ + asn_DEF_ChargeObjectId_tags_1, /* Same as above */ + sizeof(asn_DEF_ChargeObjectId_tags_1) + /sizeof(asn_DEF_ChargeObjectId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ChargeObjectId_1, + 2, /* Elements count */ + &asn_SPC_ChargeObjectId_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ChargeObjectId.h b/src/tmx/Asn_J2735/src/r2024/ChargeObjectId.h deleted file mode 100644 index bcfefd475..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ChargeObjectId.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ChargeObjectId_H_ -#define _ChargeObjectId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int4Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Provider; - -/* ChargeObjectId */ -typedef struct ChargeObjectId { - struct Provider *chargeObjectOperator; /* OPTIONAL */ - Int4Unsigned_t chargeObjectDesignation; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ChargeObjectId_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ChargeObjectId; -extern asn_SEQUENCE_specifics_t asn_SPC_ChargeObjectId_specs_1; -extern asn_TYPE_member_t asn_MBR_ChargeObjectId_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Provider.h" - -#endif /* _ChargeObjectId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ChargerInfo.c b/src/tmx/Asn_J2735/src/r2024/ChargerInfo.c new file mode 100644 index 000000000..19b42e1d4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ChargerInfo.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ChargerInfo.h" + +asn_TYPE_member_t asn_MBR_ChargerInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ChargerInfo, chargerID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OBJECT_IDENTIFIER, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargerID" + }, + { ATF_POINTER, 2, offsetof(struct ChargerInfo, descriptiveName), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveName, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "descriptiveName" + }, + { ATF_POINTER, 1, offsetof(struct ChargerInfo, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_NOFLAGS, 0, offsetof(struct ChargerInfo, chargingConfig), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ChargingConfig, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargingConfig" + }, +}; +static const int asn_MAP_ChargerInfo_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_ChargerInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ChargerInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* chargerID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* descriptiveName */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* chargingConfig */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ChargerInfo_specs_1 = { + sizeof(struct ChargerInfo), + offsetof(struct ChargerInfo, _asn_ctx), + asn_MAP_ChargerInfo_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_ChargerInfo_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ChargerInfo = { + "ChargerInfo", + "ChargerInfo", + &asn_OP_SEQUENCE, + asn_DEF_ChargerInfo_tags_1, + sizeof(asn_DEF_ChargerInfo_tags_1) + /sizeof(asn_DEF_ChargerInfo_tags_1[0]), /* 1 */ + asn_DEF_ChargerInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_ChargerInfo_tags_1) + /sizeof(asn_DEF_ChargerInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ChargerInfo_1, + 4, /* Elements count */ + &asn_SPC_ChargerInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ChargerInfo.h b/src/tmx/Asn_J2735/src/r2024/ChargerInfo.h deleted file mode 100644 index b26f1d7de..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ChargerInfo.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ChargerInfo_H_ -#define _ChargerInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OBJECT_IDENTIFIER.h" -#include "DescriptiveName.h" -#include "ChargingConfig.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct DDateTime; - -/* ChargerInfo */ -typedef struct ChargerInfo { - OBJECT_IDENTIFIER_t chargerID; - DescriptiveName_t *descriptiveName; /* OPTIONAL */ - struct DDateTime *timeStamp; /* OPTIONAL */ - ChargingConfig_t chargingConfig; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ChargerInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ChargerInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_ChargerInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_ChargerInfo_1[4]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "DDateTime.h" - -#endif /* _ChargerInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ChargesTable.c b/src/tmx/Asn_J2735/src/r2024/ChargesTable.c new file mode 100644 index 000000000..b5db1be94 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ChargesTable.c @@ -0,0 +1,111 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ChargesTable.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ChargesTable_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ChargesTable_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ChargesTable_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ChargesTable, choice.vehTypeBased), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehTypeChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehTypeBased" + }, + { ATF_NOFLAGS, 0, offsetof(struct ChargesTable, choice.numAxlesBased), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AxlesChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "numAxlesBased" + }, + { ATF_NOFLAGS, 0, offsetof(struct ChargesTable, choice.weightBased), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WeightChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "weightBased" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ChargesTable_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehTypeBased */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* numAxlesBased */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* weightBased */ +}; +asn_CHOICE_specifics_t asn_SPC_ChargesTable_specs_1 = { + sizeof(struct ChargesTable), + offsetof(struct ChargesTable, _asn_ctx), + offsetof(struct ChargesTable, present), + sizeof(((struct ChargesTable *)0)->present), + asn_MAP_ChargesTable_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, + 3 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ChargesTable = { + "ChargesTable", + "ChargesTable", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ChargesTable_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ChargesTable_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_ChargesTable_1, + 3, /* Elements count */ + &asn_SPC_ChargesTable_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ChargesTable.h b/src/tmx/Asn_J2735/src/r2024/ChargesTable.h deleted file mode 100644 index f765c770e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ChargesTable.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ChargesTable_H_ -#define _ChargesTable_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "VehTypeChargesTable.h" -#include "AxlesChargesTable.h" -#include "WeightChargesTable.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ChargesTable_PR { - ChargesTable_PR_NOTHING, /* No components present */ - ChargesTable_PR_vehTypeBased, - ChargesTable_PR_numAxlesBased, - ChargesTable_PR_weightBased - /* Extensions may appear below */ - -} ChargesTable_PR; - -/* ChargesTable */ -typedef struct ChargesTable { - ChargesTable_PR present; - union ChargesTable_u { - VehTypeChargesTable_t vehTypeBased; - AxlesChargesTable_t numAxlesBased; - WeightChargesTable_t weightBased; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ChargesTable_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ChargesTable; -extern asn_CHOICE_specifics_t asn_SPC_ChargesTable_specs_1; -extern asn_TYPE_member_t asn_MBR_ChargesTable_1[3]; -extern asn_per_constraints_t asn_PER_type_ChargesTable_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _ChargesTable_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ChargingAreaOrSegment.c b/src/tmx/Asn_J2735/src/r2024/ChargingAreaOrSegment.c new file mode 100644 index 000000000..50c4a712e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ChargingAreaOrSegment.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ChargingAreaOrSegment.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ChargingAreaOrSegment_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ChargingAreaOrSegment_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ChargingAreaOrSegment_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ChargingAreaOrSegment, choice.area), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Area, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "area" + }, + { ATF_NOFLAGS, 0, offsetof(struct ChargingAreaOrSegment, choice.segment), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Segment, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "segment" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ChargingAreaOrSegment_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* area */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* segment */ +}; +asn_CHOICE_specifics_t asn_SPC_ChargingAreaOrSegment_specs_1 = { + sizeof(struct ChargingAreaOrSegment), + offsetof(struct ChargingAreaOrSegment, _asn_ctx), + offsetof(struct ChargingAreaOrSegment, present), + sizeof(((struct ChargingAreaOrSegment *)0)->present), + asn_MAP_ChargingAreaOrSegment_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ChargingAreaOrSegment = { + "ChargingAreaOrSegment", + "ChargingAreaOrSegment", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ChargingAreaOrSegment_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ChargingAreaOrSegment_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_ChargingAreaOrSegment_1, + 2, /* Elements count */ + &asn_SPC_ChargingAreaOrSegment_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ChargingAreaOrSegment.h b/src/tmx/Asn_J2735/src/r2024/ChargingAreaOrSegment.h deleted file mode 100644 index cc2b0fd4e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ChargingAreaOrSegment.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ChargingAreaOrSegment_H_ -#define _ChargingAreaOrSegment_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Area.h" -#include "Segment.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ChargingAreaOrSegment_PR { - ChargingAreaOrSegment_PR_NOTHING, /* No components present */ - ChargingAreaOrSegment_PR_area, - ChargingAreaOrSegment_PR_segment - /* Extensions may appear below */ - -} ChargingAreaOrSegment_PR; - -/* ChargingAreaOrSegment */ -typedef struct ChargingAreaOrSegment { - ChargingAreaOrSegment_PR present; - union ChargingAreaOrSegment_u { - Area_t area; - Segment_t segment; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ChargingAreaOrSegment_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ChargingAreaOrSegment; -extern asn_CHOICE_specifics_t asn_SPC_ChargingAreaOrSegment_specs_1; -extern asn_TYPE_member_t asn_MBR_ChargingAreaOrSegment_1[2]; -extern asn_per_constraints_t asn_PER_type_ChargingAreaOrSegment_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _ChargingAreaOrSegment_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ChargingConfig.c b/src/tmx/Asn_J2735/src/r2024/ChargingConfig.c new file mode 100644 index 000000000..c0a3062bb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ChargingConfig.c @@ -0,0 +1,310 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ChargingConfig.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static int +memb_bySubRegion_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 999UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_reportSched_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_reportSched_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_bySubRegion_constr_10 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_bySubRegion_constr_10 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 999 } /* (SIZE(1..999,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_bySubRegion_constr_10 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_bySubRegion_constr_10 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 999 } /* (SIZE(1..999,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_reportSched_value2enum_3[] = { + { 0, 6, "hourly" }, + { 1, 6, "weekly" }, + { 2, 7, "monthly" }, + { 3, 9, "quarterly" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_reportSched_enum2value_3[] = { + 0, /* hourly(0) */ + 2, /* monthly(2) */ + 3, /* quarterly(3) */ + 1 /* weekly(1) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_reportSched_specs_3 = { + asn_MAP_reportSched_value2enum_3, /* "tag" => N; sorted by tag */ + asn_MAP_reportSched_enum2value_3, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_reportSched_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_reportSched_3 = { + "reportSched", + "reportSched", + &asn_OP_NativeEnumerated, + asn_DEF_reportSched_tags_3, + sizeof(asn_DEF_reportSched_tags_3) + /sizeof(asn_DEF_reportSched_tags_3[0]) - 1, /* 1 */ + asn_DEF_reportSched_tags_3, /* Same as above */ + sizeof(asn_DEF_reportSched_tags_3) + /sizeof(asn_DEF_reportSched_tags_3[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_reportSched_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_reportSched_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_reportSched_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_bySubRegion_10[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SubRegionChargingInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_bySubRegion_tags_10[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_bySubRegion_specs_10 = { + sizeof(struct ChargingConfig__bySubRegion), + offsetof(struct ChargingConfig__bySubRegion, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_bySubRegion_10 = { + "bySubRegion", + "bySubRegion", + &asn_OP_SEQUENCE_OF, + asn_DEF_bySubRegion_tags_10, + sizeof(asn_DEF_bySubRegion_tags_10) + /sizeof(asn_DEF_bySubRegion_tags_10[0]) - 1, /* 1 */ + asn_DEF_bySubRegion_tags_10, /* Same as above */ + sizeof(asn_DEF_bySubRegion_tags_10) + /sizeof(asn_DEF_bySubRegion_tags_10[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_bySubRegion_constr_10, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_bySubRegion_constr_10, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_bySubRegion_10, + 1, /* Single element */ + &asn_SPC_bySubRegion_specs_10 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ChargingConfig_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ChargingConfig, configInfo), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ConfigInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "configInfo" + }, + { ATF_NOFLAGS, 0, offsetof(struct ChargingConfig, reportSched), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_reportSched_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reportSched" + }, + { ATF_NOFLAGS, 0, offsetof(struct ChargingConfig, byPrimaryRegion), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PrimaryRegionChargingInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "byPrimaryRegion" + }, + { ATF_POINTER, 2, offsetof(struct ChargingConfig, bySubRegion), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + 0, + &asn_DEF_bySubRegion_10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_bySubRegion_constr_10, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_bySubRegion_constr_10, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_bySubRegion_constraint_1 + }, + 0, 0, /* No default value */ + "bySubRegion" + }, + { ATF_POINTER, 1, offsetof(struct ChargingConfig, byAreaOrSegment), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AreaOrSegmentChargingInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "byAreaOrSegment" + }, +}; +static const int asn_MAP_ChargingConfig_oms_1[] = { 3, 4 }; +static const ber_tlv_tag_t asn_DEF_ChargingConfig_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ChargingConfig_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* configInfo */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reportSched */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* byPrimaryRegion */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* bySubRegion */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* byAreaOrSegment */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ChargingConfig_specs_1 = { + sizeof(struct ChargingConfig), + offsetof(struct ChargingConfig, _asn_ctx), + asn_MAP_ChargingConfig_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_ChargingConfig_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ChargingConfig = { + "ChargingConfig", + "ChargingConfig", + &asn_OP_SEQUENCE, + asn_DEF_ChargingConfig_tags_1, + sizeof(asn_DEF_ChargingConfig_tags_1) + /sizeof(asn_DEF_ChargingConfig_tags_1[0]), /* 1 */ + asn_DEF_ChargingConfig_tags_1, /* Same as above */ + sizeof(asn_DEF_ChargingConfig_tags_1) + /sizeof(asn_DEF_ChargingConfig_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ChargingConfig_1, + 5, /* Elements count */ + &asn_SPC_ChargingConfig_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ChargingConfig.h b/src/tmx/Asn_J2735/src/r2024/ChargingConfig.h deleted file mode 100644 index dac2e59ee..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ChargingConfig.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ChargingConfig_H_ -#define _ChargingConfig_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ConfigInfo.h" -#include "NativeEnumerated.h" -#include "PrimaryRegionChargingInfo.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ChargingConfig__reportSched { - ChargingConfig__reportSched_hourly = 0, - ChargingConfig__reportSched_weekly = 1, - ChargingConfig__reportSched_monthly = 2, - ChargingConfig__reportSched_quarterly = 3 - /* - * Enumeration is extensible - */ -} e_ChargingConfig__reportSched; - -/* Forward declarations */ -struct AreaOrSegmentChargingInfo; -struct SubRegionChargingInfo; - -/* ChargingConfig */ -typedef struct ChargingConfig { - ConfigInfo_t configInfo; - long reportSched; - PrimaryRegionChargingInfo_t byPrimaryRegion; - struct ChargingConfig__bySubRegion { - A_SEQUENCE_OF(struct SubRegionChargingInfo) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *bySubRegion; - struct AreaOrSegmentChargingInfo *byAreaOrSegment; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ChargingConfig_t; - -/* Implementation */ -/* extern asn_TYPE_descriptor_t asn_DEF_reportSched_3; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_ChargingConfig; -extern asn_SEQUENCE_specifics_t asn_SPC_ChargingConfig_specs_1; -extern asn_TYPE_member_t asn_MBR_ChargingConfig_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "AreaOrSegmentChargingInfo.h" -#include "SubRegionChargingInfo.h" - -#endif /* _ChargingConfig_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ChargingFees.c b/src/tmx/Asn_J2735/src/r2024/ChargingFees.c new file mode 100644 index 000000000..b8f1e16bf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ChargingFees.c @@ -0,0 +1,207 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ChargingFees.h" + +static int +memb_chargingSchedule_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 5UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_chargingSchedule_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_chargingSchedule_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 5 } /* (SIZE(1..5,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_chargingSchedule_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_chargingSchedule_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 5 } /* (SIZE(1..5,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_chargingSchedule_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_EventRecurrence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_chargingSchedule_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_chargingSchedule_specs_2 = { + sizeof(struct ChargingFees__chargingSchedule), + offsetof(struct ChargingFees__chargingSchedule, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_chargingSchedule_2 = { + "chargingSchedule", + "chargingSchedule", + &asn_OP_SEQUENCE_OF, + asn_DEF_chargingSchedule_tags_2, + sizeof(asn_DEF_chargingSchedule_tags_2) + /sizeof(asn_DEF_chargingSchedule_tags_2[0]) - 1, /* 1 */ + asn_DEF_chargingSchedule_tags_2, /* Same as above */ + sizeof(asn_DEF_chargingSchedule_tags_2) + /sizeof(asn_DEF_chargingSchedule_tags_2[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_chargingSchedule_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_chargingSchedule_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_chargingSchedule_2, + 1, /* Single element */ + &asn_SPC_chargingSchedule_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ChargingFees_1[] = { + { ATF_POINTER, 1, offsetof(struct ChargingFees, chargingSchedule), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_chargingSchedule_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_chargingSchedule_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_chargingSchedule_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_chargingSchedule_constraint_1 + }, + 0, 0, /* No default value */ + "chargingSchedule" + }, + { ATF_NOFLAGS, 0, offsetof(struct ChargingFees, chargesTable), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargesTable" + }, + { ATF_NOFLAGS, 0, offsetof(struct ChargingFees, chargingUnits), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ChargingUnits, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargingUnits" + }, +}; +static const int asn_MAP_ChargingFees_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_ChargingFees_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ChargingFees_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* chargingSchedule */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* chargesTable */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* chargingUnits */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ChargingFees_specs_1 = { + sizeof(struct ChargingFees), + offsetof(struct ChargingFees, _asn_ctx), + asn_MAP_ChargingFees_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ChargingFees_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ChargingFees = { + "ChargingFees", + "ChargingFees", + &asn_OP_SEQUENCE, + asn_DEF_ChargingFees_tags_1, + sizeof(asn_DEF_ChargingFees_tags_1) + /sizeof(asn_DEF_ChargingFees_tags_1[0]), /* 1 */ + asn_DEF_ChargingFees_tags_1, /* Same as above */ + sizeof(asn_DEF_ChargingFees_tags_1) + /sizeof(asn_DEF_ChargingFees_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ChargingFees_1, + 3, /* Elements count */ + &asn_SPC_ChargingFees_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ChargingFees.h b/src/tmx/Asn_J2735/src/r2024/ChargingFees.h deleted file mode 100644 index df0cdbd18..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ChargingFees.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ChargingFees_H_ -#define _ChargingFees_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ChargesTable.h" -#include "ChargingUnits.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct EventRecurrence; - -/* ChargingFees */ -typedef struct ChargingFees { - struct ChargingFees__chargingSchedule { - A_SEQUENCE_OF(struct EventRecurrence) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *chargingSchedule; - ChargesTable_t chargesTable; - ChargingUnits_t chargingUnits; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ChargingFees_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ChargingFees; -extern asn_SEQUENCE_specifics_t asn_SPC_ChargingFees_specs_1; -extern asn_TYPE_member_t asn_MBR_ChargingFees_1[3]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "EventRecurrence.h" - -#endif /* _ChargingFees_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ChargingUnits.c b/src/tmx/Asn_J2735/src/r2024/ChargingUnits.c new file mode 100644 index 000000000..534322d92 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ChargingUnits.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ChargingUnits.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ChargingUnits_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ChargingUnits_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ChargingUnits_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ChargingUnits, choice.driven), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Driven, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "driven" + }, + { ATF_NOFLAGS, 0, offsetof(struct ChargingUnits, choice.parked), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Parked, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "parked" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ChargingUnits_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* driven */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* parked */ +}; +asn_CHOICE_specifics_t asn_SPC_ChargingUnits_specs_1 = { + sizeof(struct ChargingUnits), + offsetof(struct ChargingUnits, _asn_ctx), + offsetof(struct ChargingUnits, present), + sizeof(((struct ChargingUnits *)0)->present), + asn_MAP_ChargingUnits_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ChargingUnits = { + "ChargingUnits", + "ChargingUnits", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ChargingUnits_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ChargingUnits_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_ChargingUnits_1, + 2, /* Elements count */ + &asn_SPC_ChargingUnits_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ChargingUnits.h b/src/tmx/Asn_J2735/src/r2024/ChargingUnits.h deleted file mode 100644 index e2286fa29..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ChargingUnits.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ChargingUnits_H_ -#define _ChargingUnits_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Driven.h" -#include "Parked.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ChargingUnits_PR { - ChargingUnits_PR_NOTHING, /* No components present */ - ChargingUnits_PR_driven, - ChargingUnits_PR_parked - /* Extensions may appear below */ - -} ChargingUnits_PR; - -/* ChargingUnits */ -typedef struct ChargingUnits { - ChargingUnits_PR present; - union ChargingUnits_u { - Driven_t driven; - Parked_t parked; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ChargingUnits_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ChargingUnits; -extern asn_CHOICE_specifics_t asn_SPC_ChargingUnits_specs_1; -extern asn_TYPE_member_t asn_MBR_ChargingUnits_1[2]; -extern asn_per_constraints_t asn_PER_type_ChargingUnits_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _ChargingUnits_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Cinders.c b/src/tmx/Asn_J2735/src/r2024/Cinders.c new file mode 100644 index 000000000..5f47db10f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Cinders.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Cinders.h" + +asn_TYPE_member_t asn_MBR_Cinders_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Cinders, type), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CindersType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "type" + }, +}; +static const ber_tlv_tag_t asn_DEF_Cinders_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Cinders_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* type */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Cinders_specs_1 = { + sizeof(struct Cinders), + offsetof(struct Cinders, _asn_ctx), + asn_MAP_Cinders_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Cinders = { + "Cinders", + "Cinders", + &asn_OP_SEQUENCE, + asn_DEF_Cinders_tags_1, + sizeof(asn_DEF_Cinders_tags_1) + /sizeof(asn_DEF_Cinders_tags_1[0]), /* 1 */ + asn_DEF_Cinders_tags_1, /* Same as above */ + sizeof(asn_DEF_Cinders_tags_1) + /sizeof(asn_DEF_Cinders_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Cinders_1, + 1, /* Elements count */ + &asn_SPC_Cinders_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Cinders.h b/src/tmx/Asn_J2735/src/r2024/Cinders.h deleted file mode 100644 index cd10dca89..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Cinders.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Cinders_H_ -#define _Cinders_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "CindersType.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Cinders */ -typedef struct Cinders { - CindersType_t type; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Cinders_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Cinders; -extern asn_SEQUENCE_specifics_t asn_SPC_Cinders_specs_1; -extern asn_TYPE_member_t asn_MBR_Cinders_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Cinders_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CindersType.c b/src/tmx/Asn_J2735/src/r2024/CindersType.c new file mode 100644 index 000000000..fc191fb41 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CindersType.c @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CindersType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CindersType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CindersType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_CindersType_value2enum_1[] = { + { 0, 6, "packed" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_CindersType_enum2value_1[] = { + 0 /* packed(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_CindersType_specs_1 = { + asn_MAP_CindersType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_CindersType_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_CindersType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CindersType = { + "CindersType", + "CindersType", + &asn_OP_NativeEnumerated, + asn_DEF_CindersType_tags_1, + sizeof(asn_DEF_CindersType_tags_1) + /sizeof(asn_DEF_CindersType_tags_1[0]), /* 1 */ + asn_DEF_CindersType_tags_1, /* Same as above */ + sizeof(asn_DEF_CindersType_tags_1) + /sizeof(asn_DEF_CindersType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CindersType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CindersType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_CindersType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CindersType.h b/src/tmx/Asn_J2735/src/r2024/CindersType.h deleted file mode 100644 index 2ad168ecd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CindersType.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CindersType_H_ -#define _CindersType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CindersType { - CindersType_packed = 0 - /* - * Enumeration is extensible - */ -} e_CindersType; - -/* CindersType */ -typedef long CindersType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_CindersType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_CindersType; -extern const asn_INTEGER_specifics_t asn_SPC_CindersType_specs_1; -asn_struct_free_f CindersType_free; -asn_struct_print_f CindersType_print; -asn_constr_check_f CindersType_constraint; -ber_type_decoder_f CindersType_decode_ber; -der_type_encoder_f CindersType_encode_der; -xer_type_decoder_f CindersType_decode_xer; -xer_type_encoder_f CindersType_encode_xer; -oer_type_decoder_f CindersType_decode_oer; -oer_type_encoder_f CindersType_encode_oer; -per_type_decoder_f CindersType_decode_uper; -per_type_encoder_f CindersType_encode_uper; -per_type_decoder_f CindersType_decode_aper; -per_type_encoder_f CindersType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CindersType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Circle.c b/src/tmx/Asn_J2735/src/r2024/Circle.c new file mode 100644 index 000000000..09ee2119c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Circle.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Circle.h" + +asn_TYPE_member_t asn_MBR_Circle_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Circle, center), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "center" + }, + { ATF_NOFLAGS, 0, offsetof(struct Circle, radius), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Radius_B12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "radius" + }, + { ATF_NOFLAGS, 0, offsetof(struct Circle, units), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DistanceUnits, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "units" + }, +}; +static const ber_tlv_tag_t asn_DEF_Circle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Circle_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* center */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* radius */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* units */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Circle_specs_1 = { + sizeof(struct Circle), + offsetof(struct Circle, _asn_ctx), + asn_MAP_Circle_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Circle = { + "Circle", + "Circle", + &asn_OP_SEQUENCE, + asn_DEF_Circle_tags_1, + sizeof(asn_DEF_Circle_tags_1) + /sizeof(asn_DEF_Circle_tags_1[0]), /* 1 */ + asn_DEF_Circle_tags_1, /* Same as above */ + sizeof(asn_DEF_Circle_tags_1) + /sizeof(asn_DEF_Circle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Circle_1, + 3, /* Elements count */ + &asn_SPC_Circle_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Circle.h b/src/tmx/Asn_J2735/src/r2024/Circle.h deleted file mode 100644 index dbb4dd236..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Circle.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Circle_H_ -#define _Circle_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Position3D.h" -#include "Radius-B12.h" -#include "DistanceUnits.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Circle */ -typedef struct Circle { - Position3D_t center; - Radius_B12_t radius; - DistanceUnits_t units; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Circle_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Circle; -extern asn_SEQUENCE_specifics_t asn_SPC_Circle_specs_1; -extern asn_TYPE_member_t asn_MBR_Circle_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Circle_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ClassificationConfidence.c b/src/tmx/Asn_J2735/src/r2024/ClassificationConfidence.c new file mode 100644 index 000000000..d0caa9ac0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ClassificationConfidence.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ClassificationConfidence.h" + +int +ClassificationConfidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 101L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ClassificationConfidence_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..101) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ClassificationConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 101 } /* (0..101) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ClassificationConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ClassificationConfidence = { + "ClassificationConfidence", + "ClassificationConfidence", + &asn_OP_NativeInteger, + asn_DEF_ClassificationConfidence_tags_1, + sizeof(asn_DEF_ClassificationConfidence_tags_1) + /sizeof(asn_DEF_ClassificationConfidence_tags_1[0]), /* 1 */ + asn_DEF_ClassificationConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_ClassificationConfidence_tags_1) + /sizeof(asn_DEF_ClassificationConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ClassificationConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ClassificationConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ClassificationConfidence_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ClassificationConfidence.h b/src/tmx/Asn_J2735/src/r2024/ClassificationConfidence.h deleted file mode 100644 index 854d900df..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ClassificationConfidence.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ClassificationConfidence_H_ -#define _ClassificationConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ClassificationConfidence */ -typedef long ClassificationConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ClassificationConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ClassificationConfidence; -asn_struct_free_f ClassificationConfidence_free; -asn_struct_print_f ClassificationConfidence_print; -asn_constr_check_f ClassificationConfidence_constraint; -ber_type_decoder_f ClassificationConfidence_decode_ber; -der_type_encoder_f ClassificationConfidence_encode_der; -xer_type_decoder_f ClassificationConfidence_decode_xer; -xer_type_encoder_f ClassificationConfidence_encode_xer; -oer_type_decoder_f ClassificationConfidence_decode_oer; -oer_type_encoder_f ClassificationConfidence_encode_oer; -per_type_decoder_f ClassificationConfidence_decode_uper; -per_type_encoder_f ClassificationConfidence_encode_uper; -per_type_decoder_f ClassificationConfidence_decode_aper; -per_type_encoder_f ClassificationConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ClassificationConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ClosedNetworkChargesTable.c b/src/tmx/Asn_J2735/src/r2024/ClosedNetworkChargesTable.c new file mode 100644 index 000000000..948acbc37 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ClosedNetworkChargesTable.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ClosedNetworkChargesTable.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ClosedNetworkChargesTable_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ClosedNetworkChargesTable_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ClosedNetworkChargesTable_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ClosedNetworkChargesTable, choice.entryChargesTable), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EntryChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "entryChargesTable" + }, + { ATF_NOFLAGS, 0, offsetof(struct ClosedNetworkChargesTable, choice.exitChargesTable), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ExitChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "exitChargesTable" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ClosedNetworkChargesTable_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* entryChargesTable */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* exitChargesTable */ +}; +asn_CHOICE_specifics_t asn_SPC_ClosedNetworkChargesTable_specs_1 = { + sizeof(struct ClosedNetworkChargesTable), + offsetof(struct ClosedNetworkChargesTable, _asn_ctx), + offsetof(struct ClosedNetworkChargesTable, present), + sizeof(((struct ClosedNetworkChargesTable *)0)->present), + asn_MAP_ClosedNetworkChargesTable_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ClosedNetworkChargesTable = { + "ClosedNetworkChargesTable", + "ClosedNetworkChargesTable", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ClosedNetworkChargesTable_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ClosedNetworkChargesTable_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_ClosedNetworkChargesTable_1, + 2, /* Elements count */ + &asn_SPC_ClosedNetworkChargesTable_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ClosedNetworkChargesTable.h b/src/tmx/Asn_J2735/src/r2024/ClosedNetworkChargesTable.h deleted file mode 100644 index c923d0210..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ClosedNetworkChargesTable.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ClosedNetworkChargesTable_H_ -#define _ClosedNetworkChargesTable_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "EntryChargesTable.h" -#include "ExitChargesTable.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ClosedNetworkChargesTable_PR { - ClosedNetworkChargesTable_PR_NOTHING, /* No components present */ - ClosedNetworkChargesTable_PR_entryChargesTable, - ClosedNetworkChargesTable_PR_exitChargesTable - /* Extensions may appear below */ - -} ClosedNetworkChargesTable_PR; - -/* ClosedNetworkChargesTable */ -typedef struct ClosedNetworkChargesTable { - ClosedNetworkChargesTable_PR present; - union ClosedNetworkChargesTable_u { - EntryChargesTable_t entryChargesTable; - ExitChargesTable_t exitChargesTable; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ClosedNetworkChargesTable_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ClosedNetworkChargesTable; -extern asn_CHOICE_specifics_t asn_SPC_ClosedNetworkChargesTable_specs_1; -extern asn_TYPE_member_t asn_MBR_ClosedNetworkChargesTable_1[2]; -extern asn_per_constraints_t asn_PER_type_ClosedNetworkChargesTable_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _ClosedNetworkChargesTable_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Closures.c b/src/tmx/Asn_J2735/src/r2024/Closures.c new file mode 100644 index 000000000..2de949cce --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Closures.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Closures.h" + +int +Closures_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Closures_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Closures_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Closures_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Closures = { + "Closures", + "Closures", + &asn_OP_NativeInteger, + asn_DEF_Closures_tags_1, + sizeof(asn_DEF_Closures_tags_1) + /sizeof(asn_DEF_Closures_tags_1[0]), /* 1 */ + asn_DEF_Closures_tags_1, /* Same as above */ + sizeof(asn_DEF_Closures_tags_1) + /sizeof(asn_DEF_Closures_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Closures_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Closures_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Closures_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Closures.h b/src/tmx/Asn_J2735/src/r2024/Closures.h deleted file mode 100644 index e954cc0bf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Closures.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Closures_H_ -#define _Closures_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Closures { - Closures_closed_to_traffic = 769, - Closures_closed = 770, - Closures_closed_ahead = 771, - Closures_closed_intermittently = 772, - Closures_closed_for_repairs = 773, - Closures_closed_for_the_season = 774, - Closures_blocked = 775, - Closures_blocked_ahead = 776, - Closures_reduced_to_one_lane = 777, - Closures_reduced_to_two_lanes = 778, - Closures_reduced_to_three_lanes = 779, - Closures_collapse = 780, - Closures_out = 781, - Closures_open_to_traffic = 891, - Closures_open = 892, - Closures_reopened_to_traffic = 893, - Closures_clearing = 894, - Closures_cleared_from_road = 895 -} e_Closures; - -/* Closures */ -typedef long Closures_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Closures_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Closures; -asn_struct_free_f Closures_free; -asn_struct_print_f Closures_print; -asn_constr_check_f Closures_constraint; -ber_type_decoder_f Closures_decode_ber; -der_type_encoder_f Closures_encode_der; -xer_type_decoder_f Closures_decode_xer; -xer_type_encoder_f Closures_encode_xer; -oer_type_decoder_f Closures_decode_oer; -oer_type_encoder_f Closures_encode_oer; -per_type_decoder_f Closures_decode_uper; -per_type_encoder_f Closures_encode_uper; -per_type_decoder_f Closures_decode_aper; -per_type_encoder_f Closures_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Closures_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CoarseHeading.c b/src/tmx/Asn_J2735/src/r2024/CoarseHeading.c new file mode 100644 index 000000000..aea593ab3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CoarseHeading.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CoarseHeading.h" + +int +CoarseHeading_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 240L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CoarseHeading_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..240) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CoarseHeading_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 240 } /* (0..240) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_CoarseHeading_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CoarseHeading = { + "CoarseHeading", + "CoarseHeading", + &asn_OP_NativeInteger, + asn_DEF_CoarseHeading_tags_1, + sizeof(asn_DEF_CoarseHeading_tags_1) + /sizeof(asn_DEF_CoarseHeading_tags_1[0]), /* 1 */ + asn_DEF_CoarseHeading_tags_1, /* Same as above */ + sizeof(asn_DEF_CoarseHeading_tags_1) + /sizeof(asn_DEF_CoarseHeading_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CoarseHeading_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CoarseHeading_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CoarseHeading_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CoarseHeading.h b/src/tmx/Asn_J2735/src/r2024/CoarseHeading.h deleted file mode 100644 index e93583b1a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CoarseHeading.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CoarseHeading_H_ -#define _CoarseHeading_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CoarseHeading */ -typedef long CoarseHeading_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_CoarseHeading_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_CoarseHeading; -asn_struct_free_f CoarseHeading_free; -asn_struct_print_f CoarseHeading_print; -asn_constr_check_f CoarseHeading_constraint; -ber_type_decoder_f CoarseHeading_decode_ber; -der_type_encoder_f CoarseHeading_encode_der; -xer_type_decoder_f CoarseHeading_decode_xer; -xer_type_encoder_f CoarseHeading_encode_xer; -oer_type_decoder_f CoarseHeading_decode_oer; -oer_type_encoder_f CoarseHeading_encode_oer; -per_type_decoder_f CoarseHeading_decode_uper; -per_type_encoder_f CoarseHeading_encode_uper; -per_type_decoder_f CoarseHeading_decode_aper; -per_type_encoder_f CoarseHeading_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CoarseHeading_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CodeWord.c b/src/tmx/Asn_J2735/src/r2024/CodeWord.c new file mode 100644 index 000000000..946c6b0e7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CodeWord.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CodeWord.h" + +int +CodeWord_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 16UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CodeWord_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_CodeWord_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_CodeWord_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CodeWord = { + "CodeWord", + "CodeWord", + &asn_OP_OCTET_STRING, + asn_DEF_CodeWord_tags_1, + sizeof(asn_DEF_CodeWord_tags_1) + /sizeof(asn_DEF_CodeWord_tags_1[0]), /* 1 */ + asn_DEF_CodeWord_tags_1, /* Same as above */ + sizeof(asn_DEF_CodeWord_tags_1) + /sizeof(asn_DEF_CodeWord_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CodeWord_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CodeWord_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CodeWord_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CodeWord.h b/src/tmx/Asn_J2735/src/r2024/CodeWord.h deleted file mode 100644 index 3ccf01964..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CodeWord.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CodeWord_H_ -#define _CodeWord_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CodeWord */ -typedef OCTET_STRING_t CodeWord_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CodeWord; -asn_struct_free_f CodeWord_free; -asn_struct_print_f CodeWord_print; -asn_constr_check_f CodeWord_constraint; -ber_type_decoder_f CodeWord_decode_ber; -der_type_encoder_f CodeWord_encode_der; -xer_type_decoder_f CodeWord_decode_xer; -xer_type_encoder_f CodeWord_encode_xer; -oer_type_decoder_f CodeWord_decode_oer; -oer_type_encoder_f CodeWord_encode_oer; -per_type_decoder_f CodeWord_decode_uper; -per_type_encoder_f CodeWord_encode_uper; -per_type_decoder_f CodeWord_decode_aper; -per_type_encoder_f CodeWord_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CodeWord_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CoefficientOfFriction.c b/src/tmx/Asn_J2735/src/r2024/CoefficientOfFriction.c new file mode 100644 index 000000000..89d3eb8e4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CoefficientOfFriction.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CoefficientOfFriction.h" + +int +CoefficientOfFriction_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 50L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CoefficientOfFriction_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..50) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CoefficientOfFriction_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 50 } /* (0..50) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_CoefficientOfFriction_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CoefficientOfFriction = { + "CoefficientOfFriction", + "CoefficientOfFriction", + &asn_OP_NativeInteger, + asn_DEF_CoefficientOfFriction_tags_1, + sizeof(asn_DEF_CoefficientOfFriction_tags_1) + /sizeof(asn_DEF_CoefficientOfFriction_tags_1[0]), /* 1 */ + asn_DEF_CoefficientOfFriction_tags_1, /* Same as above */ + sizeof(asn_DEF_CoefficientOfFriction_tags_1) + /sizeof(asn_DEF_CoefficientOfFriction_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CoefficientOfFriction_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CoefficientOfFriction_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CoefficientOfFriction_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CoefficientOfFriction.h b/src/tmx/Asn_J2735/src/r2024/CoefficientOfFriction.h deleted file mode 100644 index 91448cc7f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CoefficientOfFriction.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CoefficientOfFriction_H_ -#define _CoefficientOfFriction_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CoefficientOfFriction */ -typedef long CoefficientOfFriction_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_CoefficientOfFriction_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_CoefficientOfFriction; -asn_struct_free_f CoefficientOfFriction_free; -asn_struct_print_f CoefficientOfFriction_print; -asn_constr_check_f CoefficientOfFriction_constraint; -ber_type_decoder_f CoefficientOfFriction_decode_ber; -der_type_encoder_f CoefficientOfFriction_encode_der; -xer_type_decoder_f CoefficientOfFriction_decode_xer; -xer_type_encoder_f CoefficientOfFriction_encode_xer; -oer_type_decoder_f CoefficientOfFriction_decode_oer; -oer_type_encoder_f CoefficientOfFriction_encode_oer; -per_type_decoder_f CoefficientOfFriction_decode_uper; -per_type_encoder_f CoefficientOfFriction_encode_uper; -per_type_decoder_f CoefficientOfFriction_decode_aper; -per_type_encoder_f CoefficientOfFriction_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CoefficientOfFriction_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CommonContainer.c b/src/tmx/Asn_J2735/src/r2024/CommonContainer.c new file mode 100644 index 000000000..1067dc690 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CommonContainer.c @@ -0,0 +1,207 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CommonContainer.h" + +static int +memb_regionInfo_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regionInfo_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regionInfo_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionInfo_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionInfo_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regionInfo_3[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RegionInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regionInfo_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regionInfo_specs_3 = { + sizeof(struct CommonContainer__regionInfo), + offsetof(struct CommonContainer__regionInfo, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regionInfo_3 = { + "regionInfo", + "regionInfo", + &asn_OP_SEQUENCE_OF, + asn_DEF_regionInfo_tags_3, + sizeof(asn_DEF_regionInfo_tags_3) + /sizeof(asn_DEF_regionInfo_tags_3[0]) - 1, /* 1 */ + asn_DEF_regionInfo_tags_3, /* Same as above */ + sizeof(asn_DEF_regionInfo_tags_3) + /sizeof(asn_DEF_regionInfo_tags_3[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regionInfo_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regionInfo_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regionInfo_3, + 1, /* Single element */ + &asn_SPC_regionInfo_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CommonContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CommonContainer, eventInfo), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EventInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventInfo" + }, + { ATF_NOFLAGS, 0, offsetof(struct CommonContainer, regionInfo), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_regionInfo_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionInfo_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionInfo_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionInfo_constraint_1 + }, + 0, 0, /* No default value */ + "regionInfo" + }, + { ATF_POINTER, 1, offsetof(struct CommonContainer, crossLinking), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CrossLinking, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "crossLinking" + }, +}; +static const int asn_MAP_CommonContainer_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_CommonContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CommonContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventInfo */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* regionInfo */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* crossLinking */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CommonContainer_specs_1 = { + sizeof(struct CommonContainer), + offsetof(struct CommonContainer, _asn_ctx), + asn_MAP_CommonContainer_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_CommonContainer_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CommonContainer = { + "CommonContainer", + "CommonContainer", + &asn_OP_SEQUENCE, + asn_DEF_CommonContainer_tags_1, + sizeof(asn_DEF_CommonContainer_tags_1) + /sizeof(asn_DEF_CommonContainer_tags_1[0]), /* 1 */ + asn_DEF_CommonContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_CommonContainer_tags_1) + /sizeof(asn_DEF_CommonContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CommonContainer_1, + 3, /* Elements count */ + &asn_SPC_CommonContainer_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CommonContainer.h b/src/tmx/Asn_J2735/src/r2024/CommonContainer.h deleted file mode 100644 index 20fbcda19..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CommonContainer.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CommonContainer_H_ -#define _CommonContainer_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "EventInfo.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct CrossLinking; -struct RegionInfo; - -/* CommonContainer */ -typedef struct CommonContainer { - EventInfo_t eventInfo; - struct CommonContainer__regionInfo { - A_SEQUENCE_OF(struct RegionInfo) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regionInfo; - struct CrossLinking *crossLinking; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CommonContainer_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CommonContainer; -extern asn_SEQUENCE_specifics_t asn_SPC_CommonContainer_specs_1; -extern asn_TYPE_member_t asn_MBR_CommonContainer_1[3]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "CrossLinking.h" -#include "RegionInfo.h" - -#endif /* _CommonContainer_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CommonSafetyRequest.c b/src/tmx/Asn_J2735/src/r2024/CommonSafetyRequest.c new file mode 100644 index 000000000..17071ce59 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CommonSafetyRequest.c @@ -0,0 +1,243 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CommonSafetyRequest" + * found in "J2735-CommonSafetyRequest-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CommonSafetyRequest.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_6[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_CommonSafetyRequest, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_6[] = { + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_6 = { + sizeof(struct CommonSafetyRequest__regional), + offsetof(struct CommonSafetyRequest__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_6 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_6, + sizeof(asn_DEF_regional_tags_6) + /sizeof(asn_DEF_regional_tags_6[0]) - 1, /* 1 */ + asn_DEF_regional_tags_6, /* Same as above */ + sizeof(asn_DEF_regional_tags_6) + /sizeof(asn_DEF_regional_tags_6[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_6, + 1, /* Single element */ + &asn_SPC_regional_specs_6 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CommonSafetyRequest_1[] = { + { ATF_POINTER, 3, offsetof(struct CommonSafetyRequest, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_POINTER, 2, offsetof(struct CommonSafetyRequest, msgCnt), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msgCnt" + }, + { ATF_POINTER, 1, offsetof(struct CommonSafetyRequest, id), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct CommonSafetyRequest, requests), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RequestedItemList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "requests" + }, + { ATF_POINTER, 1, offsetof(struct CommonSafetyRequest, regional), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + 0, + &asn_DEF_regional_6, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_CommonSafetyRequest_oms_1[] = { 0, 1, 2, 4 }; +static const ber_tlv_tag_t asn_DEF_CommonSafetyRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CommonSafetyRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* msgCnt */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* requests */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CommonSafetyRequest_specs_1 = { + sizeof(struct CommonSafetyRequest), + offsetof(struct CommonSafetyRequest, _asn_ctx), + asn_MAP_CommonSafetyRequest_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_CommonSafetyRequest_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CommonSafetyRequest = { + "CommonSafetyRequest", + "CommonSafetyRequest", + &asn_OP_SEQUENCE, + asn_DEF_CommonSafetyRequest_tags_1, + sizeof(asn_DEF_CommonSafetyRequest_tags_1) + /sizeof(asn_DEF_CommonSafetyRequest_tags_1[0]), /* 1 */ + asn_DEF_CommonSafetyRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_CommonSafetyRequest_tags_1) + /sizeof(asn_DEF_CommonSafetyRequest_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CommonSafetyRequest_1, + 5, /* Elements count */ + &asn_SPC_CommonSafetyRequest_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CommonSafetyRequest.h b/src/tmx/Asn_J2735/src/r2024/CommonSafetyRequest.h deleted file mode 100644 index 5621d3a23..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CommonSafetyRequest.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CommonSafetyRequest" - * found in "J2735-CommonSafetyRequest-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CommonSafetyRequest_H_ -#define _CommonSafetyRequest_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "MinuteOfTheYear.h" -#include "Common_MsgCount.h" -#include "TemporaryID.h" -#include "RequestedItemList.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_CommonSafetyRequest; - -/* CommonSafetyRequest */ -typedef struct CommonSafetyRequest { - MinuteOfTheYear_t *timeStamp; /* OPTIONAL */ - Common_MsgCount_t *msgCnt; /* OPTIONAL */ - TemporaryID_t *id; /* OPTIONAL */ - RequestedItemList_t requests; - struct CommonSafetyRequest__regional { - A_SEQUENCE_OF(struct Reg_CommonSafetyRequest) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CommonSafetyRequest_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CommonSafetyRequest; -extern asn_SEQUENCE_specifics_t asn_SPC_CommonSafetyRequest_specs_1; -extern asn_TYPE_member_t asn_MBR_CommonSafetyRequest_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _CommonSafetyRequest_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Common_Angle.c b/src/tmx/Asn_J2735/src/r2024/Common_Angle.c new file mode 100644 index 000000000..a4b484304 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Common_Angle.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Common_Angle.h" + +int +Common_Angle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 28800L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Common_Angle_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..28800) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Common_Angle_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 28800 } /* (0..28800) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Common_Angle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Common_Angle = { + "Angle", + "Angle", + &asn_OP_NativeInteger, + asn_DEF_Common_Angle_tags_1, + sizeof(asn_DEF_Common_Angle_tags_1) + /sizeof(asn_DEF_Common_Angle_tags_1[0]), /* 1 */ + asn_DEF_Common_Angle_tags_1, /* Same as above */ + sizeof(asn_DEF_Common_Angle_tags_1) + /sizeof(asn_DEF_Common_Angle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Common_Angle_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Common_Angle_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Common_Angle_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Common_Angle.h b/src/tmx/Asn_J2735/src/r2024/Common_Angle.h deleted file mode 100644 index d9670e1ce..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Common_Angle.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Common_Angle_H_ -#define _Common_Angle_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Common_Angle */ -typedef long Common_Angle_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Common_Angle_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Common_Angle; -asn_struct_free_f Common_Angle_free; -asn_struct_print_f Common_Angle_print; -asn_constr_check_f Common_Angle_constraint; -ber_type_decoder_f Common_Angle_decode_ber; -der_type_encoder_f Common_Angle_encode_der; -xer_type_decoder_f Common_Angle_decode_xer; -xer_type_encoder_f Common_Angle_encode_xer; -oer_type_decoder_f Common_Angle_decode_oer; -oer_type_encoder_f Common_Angle_encode_oer; -per_type_decoder_f Common_Angle_decode_uper; -per_type_encoder_f Common_Angle_encode_uper; -per_type_decoder_f Common_Angle_decode_aper; -per_type_encoder_f Common_Angle_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Common_Angle_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Common_Duration.c b/src/tmx/Asn_J2735/src/r2024/Common_Duration.c new file mode 100644 index 000000000..349f49a44 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Common_Duration.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Common_Duration.h" + +int +Common_Duration_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 3600L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Common_Duration_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..3600) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Common_Duration_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 3600 } /* (0..3600) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Common_Duration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Common_Duration = { + "Duration", + "Duration", + &asn_OP_NativeInteger, + asn_DEF_Common_Duration_tags_1, + sizeof(asn_DEF_Common_Duration_tags_1) + /sizeof(asn_DEF_Common_Duration_tags_1[0]), /* 1 */ + asn_DEF_Common_Duration_tags_1, /* Same as above */ + sizeof(asn_DEF_Common_Duration_tags_1) + /sizeof(asn_DEF_Common_Duration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Common_Duration_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Common_Duration_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Common_Duration_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Common_Duration.h b/src/tmx/Asn_J2735/src/r2024/Common_Duration.h deleted file mode 100644 index 6b6b5a4df..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Common_Duration.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Common_Duration_H_ -#define _Common_Duration_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Common_Duration */ -typedef long Common_Duration_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Common_Duration; -asn_struct_free_f Common_Duration_free; -asn_struct_print_f Common_Duration_print; -asn_constr_check_f Common_Duration_constraint; -ber_type_decoder_f Common_Duration_decode_ber; -der_type_encoder_f Common_Duration_encode_der; -xer_type_decoder_f Common_Duration_decode_xer; -xer_type_encoder_f Common_Duration_encode_xer; -oer_type_decoder_f Common_Duration_decode_oer; -oer_type_encoder_f Common_Duration_encode_oer; -per_type_decoder_f Common_Duration_decode_uper; -per_type_encoder_f Common_Duration_encode_uper; -per_type_decoder_f Common_Duration_decode_aper; -per_type_encoder_f Common_Duration_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Common_Duration_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Common_Elevation.c b/src/tmx/Asn_J2735/src/r2024/Common_Elevation.c new file mode 100644 index 000000000..82dbcada1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Common_Elevation.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Common_Elevation.h" + +int +Common_Elevation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -4096L && value <= 61439L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Common_Elevation_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-4096..61439) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Common_Elevation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -4096, 61439 } /* (-4096..61439) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Common_Elevation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Common_Elevation = { + "Elevation", + "Elevation", + &asn_OP_NativeInteger, + asn_DEF_Common_Elevation_tags_1, + sizeof(asn_DEF_Common_Elevation_tags_1) + /sizeof(asn_DEF_Common_Elevation_tags_1[0]), /* 1 */ + asn_DEF_Common_Elevation_tags_1, /* Same as above */ + sizeof(asn_DEF_Common_Elevation_tags_1) + /sizeof(asn_DEF_Common_Elevation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Common_Elevation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Common_Elevation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Common_Elevation_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Common_Elevation.h b/src/tmx/Asn_J2735/src/r2024/Common_Elevation.h deleted file mode 100644 index 88e08916e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Common_Elevation.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Common_Elevation_H_ -#define _Common_Elevation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Common_Elevation */ -typedef long Common_Elevation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Common_Elevation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Common_Elevation; -asn_struct_free_f Common_Elevation_free; -asn_struct_print_f Common_Elevation_print; -asn_constr_check_f Common_Elevation_constraint; -ber_type_decoder_f Common_Elevation_decode_ber; -der_type_encoder_f Common_Elevation_encode_der; -xer_type_decoder_f Common_Elevation_decode_xer; -xer_type_encoder_f Common_Elevation_encode_xer; -oer_type_decoder_f Common_Elevation_decode_oer; -oer_type_encoder_f Common_Elevation_encode_oer; -per_type_decoder_f Common_Elevation_decode_uper; -per_type_encoder_f Common_Elevation_encode_uper; -per_type_decoder_f Common_Elevation_decode_aper; -per_type_encoder_f Common_Elevation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Common_Elevation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Common_Latitude.c b/src/tmx/Asn_J2735/src/r2024/Common_Latitude.c new file mode 100644 index 000000000..81a41fd23 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Common_Latitude.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Common_Latitude.h" + +int +Common_Latitude_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -900000000L && value <= 900000001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Common_Latitude_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-900000000..900000001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Common_Latitude_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 31, -1, -900000000, 900000001 } /* (-900000000..900000001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Common_Latitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Common_Latitude = { + "Latitude", + "Latitude", + &asn_OP_NativeInteger, + asn_DEF_Common_Latitude_tags_1, + sizeof(asn_DEF_Common_Latitude_tags_1) + /sizeof(asn_DEF_Common_Latitude_tags_1[0]), /* 1 */ + asn_DEF_Common_Latitude_tags_1, /* Same as above */ + sizeof(asn_DEF_Common_Latitude_tags_1) + /sizeof(asn_DEF_Common_Latitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Common_Latitude_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Common_Latitude_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Common_Latitude_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Common_Latitude.h b/src/tmx/Asn_J2735/src/r2024/Common_Latitude.h deleted file mode 100644 index 5d15248eb..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Common_Latitude.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Common_Latitude_H_ -#define _Common_Latitude_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Common_Latitude */ -typedef long Common_Latitude_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Common_Latitude_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Common_Latitude; -asn_struct_free_f Common_Latitude_free; -asn_struct_print_f Common_Latitude_print; -asn_constr_check_f Common_Latitude_constraint; -ber_type_decoder_f Common_Latitude_decode_ber; -der_type_encoder_f Common_Latitude_encode_der; -xer_type_decoder_f Common_Latitude_decode_xer; -xer_type_encoder_f Common_Latitude_encode_xer; -oer_type_decoder_f Common_Latitude_decode_oer; -oer_type_encoder_f Common_Latitude_encode_oer; -per_type_decoder_f Common_Latitude_decode_uper; -per_type_encoder_f Common_Latitude_encode_uper; -per_type_decoder_f Common_Latitude_decode_aper; -per_type_encoder_f Common_Latitude_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Common_Latitude_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Common_Longitude.c b/src/tmx/Asn_J2735/src/r2024/Common_Longitude.c new file mode 100644 index 000000000..a98329df9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Common_Longitude.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Common_Longitude.h" + +int +Common_Longitude_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -1799999999L && value <= 1800000001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Common_Longitude_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-1799999999..1800000001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Common_Longitude_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, -1799999999, 1800000001 } /* (-1799999999..1800000001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Common_Longitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Common_Longitude = { + "Longitude", + "Longitude", + &asn_OP_NativeInteger, + asn_DEF_Common_Longitude_tags_1, + sizeof(asn_DEF_Common_Longitude_tags_1) + /sizeof(asn_DEF_Common_Longitude_tags_1[0]), /* 1 */ + asn_DEF_Common_Longitude_tags_1, /* Same as above */ + sizeof(asn_DEF_Common_Longitude_tags_1) + /sizeof(asn_DEF_Common_Longitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Common_Longitude_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Common_Longitude_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Common_Longitude_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Common_Longitude.h b/src/tmx/Asn_J2735/src/r2024/Common_Longitude.h deleted file mode 100644 index d071a3200..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Common_Longitude.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Common_Longitude_H_ -#define _Common_Longitude_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Common_Longitude */ -typedef long Common_Longitude_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Common_Longitude_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Common_Longitude; -asn_struct_free_f Common_Longitude_free; -asn_struct_print_f Common_Longitude_print; -asn_constr_check_f Common_Longitude_constraint; -ber_type_decoder_f Common_Longitude_decode_ber; -der_type_encoder_f Common_Longitude_encode_der; -xer_type_decoder_f Common_Longitude_decode_xer; -xer_type_encoder_f Common_Longitude_encode_xer; -oer_type_decoder_f Common_Longitude_decode_oer; -oer_type_encoder_f Common_Longitude_encode_oer; -per_type_decoder_f Common_Longitude_decode_uper; -per_type_encoder_f Common_Longitude_encode_uper; -per_type_decoder_f Common_Longitude_decode_aper; -per_type_encoder_f Common_Longitude_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Common_Longitude_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Common_MeanVariation.c b/src/tmx/Asn_J2735/src/r2024/Common_MeanVariation.c new file mode 100644 index 000000000..6c8800be7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Common_MeanVariation.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Common_MeanVariation.h" + +int +Common_MeanVariation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 25000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Common_MeanVariation_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..25000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Common_MeanVariation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 25000 } /* (0..25000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Common_MeanVariation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Common_MeanVariation = { + "MeanVariation", + "MeanVariation", + &asn_OP_NativeInteger, + asn_DEF_Common_MeanVariation_tags_1, + sizeof(asn_DEF_Common_MeanVariation_tags_1) + /sizeof(asn_DEF_Common_MeanVariation_tags_1[0]), /* 1 */ + asn_DEF_Common_MeanVariation_tags_1, /* Same as above */ + sizeof(asn_DEF_Common_MeanVariation_tags_1) + /sizeof(asn_DEF_Common_MeanVariation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Common_MeanVariation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Common_MeanVariation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Common_MeanVariation_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Common_MeanVariation.h b/src/tmx/Asn_J2735/src/r2024/Common_MeanVariation.h deleted file mode 100644 index c521d0027..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Common_MeanVariation.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Common_MeanVariation_H_ -#define _Common_MeanVariation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Common_MeanVariation */ -typedef long Common_MeanVariation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Common_MeanVariation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Common_MeanVariation; -asn_struct_free_f Common_MeanVariation_free; -asn_struct_print_f Common_MeanVariation_print; -asn_constr_check_f Common_MeanVariation_constraint; -ber_type_decoder_f Common_MeanVariation_decode_ber; -der_type_encoder_f Common_MeanVariation_encode_der; -xer_type_decoder_f Common_MeanVariation_decode_xer; -xer_type_encoder_f Common_MeanVariation_encode_xer; -oer_type_decoder_f Common_MeanVariation_decode_oer; -oer_type_encoder_f Common_MeanVariation_encode_oer; -per_type_decoder_f Common_MeanVariation_decode_uper; -per_type_encoder_f Common_MeanVariation_encode_uper; -per_type_decoder_f Common_MeanVariation_decode_aper; -per_type_encoder_f Common_MeanVariation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Common_MeanVariation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Common_MsgCount.c b/src/tmx/Asn_J2735/src/r2024/Common_MsgCount.c new file mode 100644 index 000000000..e7397ea15 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Common_MsgCount.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Common_MsgCount.h" + +int +Common_MsgCount_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Common_MsgCount_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Common_MsgCount_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Common_MsgCount_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Common_MsgCount = { + "MsgCount", + "MsgCount", + &asn_OP_NativeInteger, + asn_DEF_Common_MsgCount_tags_1, + sizeof(asn_DEF_Common_MsgCount_tags_1) + /sizeof(asn_DEF_Common_MsgCount_tags_1[0]), /* 1 */ + asn_DEF_Common_MsgCount_tags_1, /* Same as above */ + sizeof(asn_DEF_Common_MsgCount_tags_1) + /sizeof(asn_DEF_Common_MsgCount_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Common_MsgCount_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Common_MsgCount_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Common_MsgCount_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Common_MsgCount.h b/src/tmx/Asn_J2735/src/r2024/Common_MsgCount.h deleted file mode 100644 index fb8907096..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Common_MsgCount.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Common_MsgCount_H_ -#define _Common_MsgCount_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Common_MsgCount */ -typedef long Common_MsgCount_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Common_MsgCount_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Common_MsgCount; -asn_struct_free_f Common_MsgCount_free; -asn_struct_print_f Common_MsgCount_print; -asn_constr_check_f Common_MsgCount_constraint; -ber_type_decoder_f Common_MsgCount_decode_ber; -der_type_encoder_f Common_MsgCount_encode_der; -xer_type_decoder_f Common_MsgCount_decode_xer; -xer_type_encoder_f Common_MsgCount_encode_xer; -oer_type_decoder_f Common_MsgCount_decode_oer; -oer_type_encoder_f Common_MsgCount_encode_oer; -per_type_decoder_f Common_MsgCount_decode_uper; -per_type_encoder_f Common_MsgCount_encode_uper; -per_type_decoder_f Common_MsgCount_decode_aper; -per_type_encoder_f Common_MsgCount_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Common_MsgCount_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ComputedLane.c b/src/tmx/Asn_J2735/src/r2024/ComputedLane.c new file mode 100644 index 000000000..1563b6a03 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ComputedLane.c @@ -0,0 +1,449 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ComputedLane.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_offsetXaxis_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_offsetXaxis_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_offsetYaxis_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_offsetYaxis_constr_6 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_12 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_12 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_12 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_12 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_offsetXaxis_3[] = { + { ATF_NOFLAGS, 0, offsetof(struct ComputedLane__offsetXaxis, choice.small), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DrivenLineOffsetSm, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "small" + }, + { ATF_NOFLAGS, 0, offsetof(struct ComputedLane__offsetXaxis, choice.large), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DrivenLineOffsetLg, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "large" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_offsetXaxis_tag2el_3[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* small */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* large */ +}; +static asn_CHOICE_specifics_t asn_SPC_offsetXaxis_specs_3 = { + sizeof(struct ComputedLane__offsetXaxis), + offsetof(struct ComputedLane__offsetXaxis, _asn_ctx), + offsetof(struct ComputedLane__offsetXaxis, present), + sizeof(((struct ComputedLane__offsetXaxis *)0)->present), + asn_MAP_offsetXaxis_tag2el_3, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_offsetXaxis_3 = { + "offsetXaxis", + "offsetXaxis", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_offsetXaxis_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_offsetXaxis_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_offsetXaxis_3, + 2, /* Elements count */ + &asn_SPC_offsetXaxis_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_offsetYaxis_6[] = { + { ATF_NOFLAGS, 0, offsetof(struct ComputedLane__offsetYaxis, choice.small), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DrivenLineOffsetSm, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "small" + }, + { ATF_NOFLAGS, 0, offsetof(struct ComputedLane__offsetYaxis, choice.large), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DrivenLineOffsetLg, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "large" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_offsetYaxis_tag2el_6[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* small */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* large */ +}; +static asn_CHOICE_specifics_t asn_SPC_offsetYaxis_specs_6 = { + sizeof(struct ComputedLane__offsetYaxis), + offsetof(struct ComputedLane__offsetYaxis, _asn_ctx), + offsetof(struct ComputedLane__offsetYaxis, present), + sizeof(((struct ComputedLane__offsetYaxis *)0)->present), + asn_MAP_offsetYaxis_tag2el_6, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_offsetYaxis_6 = { + "offsetYaxis", + "offsetYaxis", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_offsetYaxis_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_offsetYaxis_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_offsetYaxis_6, + 2, /* Elements count */ + &asn_SPC_offsetYaxis_specs_6 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regional_12[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_ComputedLane, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_12[] = { + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_12 = { + sizeof(struct ComputedLane__regional), + offsetof(struct ComputedLane__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_12 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_12, + sizeof(asn_DEF_regional_tags_12) + /sizeof(asn_DEF_regional_tags_12[0]) - 1, /* 1 */ + asn_DEF_regional_tags_12, /* Same as above */ + sizeof(asn_DEF_regional_tags_12) + /sizeof(asn_DEF_regional_tags_12[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_12, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_12, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_12, + 1, /* Single element */ + &asn_SPC_regional_specs_12 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ComputedLane_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ComputedLane, referenceLaneId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "referenceLaneId" + }, + { ATF_NOFLAGS, 0, offsetof(struct ComputedLane, offsetXaxis), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_offsetXaxis_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offsetXaxis" + }, + { ATF_NOFLAGS, 0, offsetof(struct ComputedLane, offsetYaxis), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_offsetYaxis_6, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offsetYaxis" + }, + { ATF_POINTER, 4, offsetof(struct ComputedLane, rotateXY), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Angle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rotateXY" + }, + { ATF_POINTER, 3, offsetof(struct ComputedLane, scaleXaxis), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Scale_B12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "scaleXaxis" + }, + { ATF_POINTER, 2, offsetof(struct ComputedLane, scaleYaxis), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Scale_B12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "scaleYaxis" + }, + { ATF_POINTER, 1, offsetof(struct ComputedLane, regional), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + 0, + &asn_DEF_regional_12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_12, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_12, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_ComputedLane_oms_1[] = { 3, 4, 5, 6 }; +static const ber_tlv_tag_t asn_DEF_ComputedLane_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ComputedLane_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* referenceLaneId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* offsetXaxis */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* offsetYaxis */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* rotateXY */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* scaleXaxis */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* scaleYaxis */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ComputedLane_specs_1 = { + sizeof(struct ComputedLane), + offsetof(struct ComputedLane, _asn_ctx), + asn_MAP_ComputedLane_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_ComputedLane_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ComputedLane = { + "ComputedLane", + "ComputedLane", + &asn_OP_SEQUENCE, + asn_DEF_ComputedLane_tags_1, + sizeof(asn_DEF_ComputedLane_tags_1) + /sizeof(asn_DEF_ComputedLane_tags_1[0]), /* 1 */ + asn_DEF_ComputedLane_tags_1, /* Same as above */ + sizeof(asn_DEF_ComputedLane_tags_1) + /sizeof(asn_DEF_ComputedLane_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ComputedLane_1, + 7, /* Elements count */ + &asn_SPC_ComputedLane_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ComputedLane.h b/src/tmx/Asn_J2735/src/r2024/ComputedLane.h deleted file mode 100644 index 464f518c7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ComputedLane.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ComputedLane_H_ -#define _ComputedLane_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LaneID.h" -#include "Common_Angle.h" -#include "Scale-B12.h" -#include "DrivenLineOffsetSm.h" -#include "DrivenLineOffsetLg.h" -#include "constr_CHOICE.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ComputedLane__offsetXaxis_PR { - ComputedLane__offsetXaxis_PR_NOTHING, /* No components present */ - ComputedLane__offsetXaxis_PR_small, - ComputedLane__offsetXaxis_PR_large -} ComputedLane__offsetXaxis_PR; -typedef enum ComputedLane__offsetYaxis_PR { - ComputedLane__offsetYaxis_PR_NOTHING, /* No components present */ - ComputedLane__offsetYaxis_PR_small, - ComputedLane__offsetYaxis_PR_large -} ComputedLane__offsetYaxis_PR; - -/* Forward declarations */ -struct Reg_ComputedLane; - -/* ComputedLane */ -typedef struct ComputedLane { - LaneID_t referenceLaneId; - struct ComputedLane__offsetXaxis { - ComputedLane__offsetXaxis_PR present; - union ComputedLane__offsetXaxis_u { - DrivenLineOffsetSm_t small; - DrivenLineOffsetLg_t large; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } offsetXaxis; - struct ComputedLane__offsetYaxis { - ComputedLane__offsetYaxis_PR present; - union ComputedLane__offsetYaxis_u { - DrivenLineOffsetSm_t small; - DrivenLineOffsetLg_t large; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } offsetYaxis; - Common_Angle_t *rotateXY; /* OPTIONAL */ - Scale_B12_t *scaleXaxis; /* OPTIONAL */ - Scale_B12_t *scaleYaxis; /* OPTIONAL */ - struct ComputedLane__regional { - A_SEQUENCE_OF(struct Reg_ComputedLane) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ComputedLane_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ComputedLane; -extern asn_SEQUENCE_specifics_t asn_SPC_ComputedLane_specs_1; -extern asn_TYPE_member_t asn_MBR_ComputedLane_1[7]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _ComputedLane_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Confidence.c b/src/tmx/Asn_J2735/src/r2024/Confidence.c new file mode 100644 index 000000000..197724183 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Confidence.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Confidence.h" + +int +Confidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 200L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Confidence_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..200) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Confidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 200 } /* (0..200) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Confidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Confidence = { + "Confidence", + "Confidence", + &asn_OP_NativeInteger, + asn_DEF_Confidence_tags_1, + sizeof(asn_DEF_Confidence_tags_1) + /sizeof(asn_DEF_Confidence_tags_1[0]), /* 1 */ + asn_DEF_Confidence_tags_1, /* Same as above */ + sizeof(asn_DEF_Confidence_tags_1) + /sizeof(asn_DEF_Confidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Confidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Confidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Confidence_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Confidence.h b/src/tmx/Asn_J2735/src/r2024/Confidence.h deleted file mode 100644 index 47fb7df12..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Confidence.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Confidence_H_ -#define _Confidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Confidence */ -typedef long Confidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Confidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Confidence; -asn_struct_free_f Confidence_free; -asn_struct_print_f Confidence_print; -asn_constr_check_f Confidence_constraint; -ber_type_decoder_f Confidence_decode_ber; -der_type_encoder_f Confidence_encode_der; -xer_type_decoder_f Confidence_decode_xer; -xer_type_encoder_f Confidence_encode_xer; -oer_type_decoder_f Confidence_decode_oer; -oer_type_encoder_f Confidence_encode_oer; -per_type_decoder_f Confidence_decode_uper; -per_type_encoder_f Confidence_encode_uper; -per_type_decoder_f Confidence_decode_aper; -per_type_encoder_f Confidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Confidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ConfidenceSet.c b/src/tmx/Asn_J2735/src/r2024/ConfidenceSet.c new file mode 100644 index 000000000..c9f589844 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ConfidenceSet.c @@ -0,0 +1,176 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ConfidenceSet.h" + +asn_TYPE_member_t asn_MBR_ConfidenceSet_1[] = { + { ATF_POINTER, 7, offsetof(struct ConfidenceSet, accelConfidence), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AccelSteerYawRateConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accelConfidence" + }, + { ATF_POINTER, 6, offsetof(struct ConfidenceSet, speedConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedandHeadingandThrottleConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedConfidence" + }, + { ATF_POINTER, 5, offsetof(struct ConfidenceSet, timeConfidence), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeConfidence" + }, + { ATF_POINTER, 4, offsetof(struct ConfidenceSet, posConfidence), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionConfidenceSet, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "posConfidence" + }, + { ATF_POINTER, 3, offsetof(struct ConfidenceSet, steerConfidence), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SteeringWheelAngleConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "steerConfidence" + }, + { ATF_POINTER, 2, offsetof(struct ConfidenceSet, headingConfidence), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HeadingConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "headingConfidence" + }, + { ATF_POINTER, 1, offsetof(struct ConfidenceSet, throttleConfidence), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ThrottleConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "throttleConfidence" + }, +}; +static const int asn_MAP_ConfidenceSet_oms_1[] = { 0, 1, 2, 3, 4, 5, 6 }; +static const ber_tlv_tag_t asn_DEF_ConfidenceSet_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ConfidenceSet_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* accelConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* speedConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* timeConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* posConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* steerConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* headingConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* throttleConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ConfidenceSet_specs_1 = { + sizeof(struct ConfidenceSet), + offsetof(struct ConfidenceSet, _asn_ctx), + asn_MAP_ConfidenceSet_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_ConfidenceSet_oms_1, /* Optional members */ + 7, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ConfidenceSet = { + "ConfidenceSet", + "ConfidenceSet", + &asn_OP_SEQUENCE, + asn_DEF_ConfidenceSet_tags_1, + sizeof(asn_DEF_ConfidenceSet_tags_1) + /sizeof(asn_DEF_ConfidenceSet_tags_1[0]), /* 1 */ + asn_DEF_ConfidenceSet_tags_1, /* Same as above */ + sizeof(asn_DEF_ConfidenceSet_tags_1) + /sizeof(asn_DEF_ConfidenceSet_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ConfidenceSet_1, + 7, /* Elements count */ + &asn_SPC_ConfidenceSet_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ConfidenceSet.h b/src/tmx/Asn_J2735/src/r2024/ConfidenceSet.h deleted file mode 100644 index ca5e56a0a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ConfidenceSet.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ConfidenceSet_H_ -#define _ConfidenceSet_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TimeConfidence.h" -#include "SteeringWheelAngleConfidence.h" -#include "HeadingConfidence.h" -#include "ThrottleConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct AccelSteerYawRateConfidence; -struct SpeedandHeadingandThrottleConfidence; -struct PositionConfidenceSet; - -/* ConfidenceSet */ -typedef struct ConfidenceSet { - struct AccelSteerYawRateConfidence *accelConfidence; /* OPTIONAL */ - struct SpeedandHeadingandThrottleConfidence *speedConfidence; /* OPTIONAL */ - TimeConfidence_t *timeConfidence; /* OPTIONAL */ - struct PositionConfidenceSet *posConfidence; /* OPTIONAL */ - SteeringWheelAngleConfidence_t *steerConfidence; /* OPTIONAL */ - HeadingConfidence_t *headingConfidence; /* OPTIONAL */ - ThrottleConfidence_t *throttleConfidence; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ConfidenceSet_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ConfidenceSet; -extern asn_SEQUENCE_specifics_t asn_SPC_ConfidenceSet_specs_1; -extern asn_TYPE_member_t asn_MBR_ConfidenceSet_1[7]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "AccelSteerYawRateConfidence.h" -#include "SpeedandHeadingandThrottleConfidence.h" -#include "PositionConfidenceSet.h" - -#endif /* _ConfidenceSet_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ConfigBoundary.c b/src/tmx/Asn_J2735/src/r2024/ConfigBoundary.c new file mode 100644 index 000000000..4a104e1e7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ConfigBoundary.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ConfigBoundary.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ConfigBoundary_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ConfigBoundary_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ConfigBoundary_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ConfigBoundary, choice.temporalBoundary), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ConfigTemporalBoundary, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "temporalBoundary" + }, + { ATF_NOFLAGS, 0, offsetof(struct ConfigBoundary, choice.geoAndDistBoundary), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ValidRegion, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "geoAndDistBoundary" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ConfigBoundary_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* temporalBoundary */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* geoAndDistBoundary */ +}; +asn_CHOICE_specifics_t asn_SPC_ConfigBoundary_specs_1 = { + sizeof(struct ConfigBoundary), + offsetof(struct ConfigBoundary, _asn_ctx), + offsetof(struct ConfigBoundary, present), + sizeof(((struct ConfigBoundary *)0)->present), + asn_MAP_ConfigBoundary_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ConfigBoundary = { + "ConfigBoundary", + "ConfigBoundary", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ConfigBoundary_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ConfigBoundary_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_ConfigBoundary_1, + 2, /* Elements count */ + &asn_SPC_ConfigBoundary_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ConfigBoundary.h b/src/tmx/Asn_J2735/src/r2024/ConfigBoundary.h deleted file mode 100644 index b443e97ad..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ConfigBoundary.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ConfigBoundary_H_ -#define _ConfigBoundary_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ConfigTemporalBoundary.h" -#include "ValidRegion.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ConfigBoundary_PR { - ConfigBoundary_PR_NOTHING, /* No components present */ - ConfigBoundary_PR_temporalBoundary, - ConfigBoundary_PR_geoAndDistBoundary - /* Extensions may appear below */ - -} ConfigBoundary_PR; - -/* ConfigBoundary */ -typedef struct ConfigBoundary { - ConfigBoundary_PR present; - union ConfigBoundary_u { - ConfigTemporalBoundary_t temporalBoundary; - ValidRegion_t geoAndDistBoundary; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ConfigBoundary_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ConfigBoundary; -extern asn_CHOICE_specifics_t asn_SPC_ConfigBoundary_specs_1; -extern asn_TYPE_member_t asn_MBR_ConfigBoundary_1[2]; -extern asn_per_constraints_t asn_PER_type_ConfigBoundary_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _ConfigBoundary_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ConfigDescriptor.c b/src/tmx/Asn_J2735/src/r2024/ConfigDescriptor.c new file mode 100644 index 000000000..59df32f09 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ConfigDescriptor.c @@ -0,0 +1,159 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ConfigDescriptor.h" + +static int +memb_percentOfResp_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 10L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_percentOfResp_constr_5 CC_NOTUSED = { + { 1, 1 } /* (1..10) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_percentOfResp_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 1, 10 } /* (1..10) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ConfigDescriptor_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ConfigDescriptor, identifier), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ConfigId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "identifier" + }, + { ATF_POINTER, 3, offsetof(struct ConfigDescriptor, vehClass), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgVehicleClass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehClass" + }, + { ATF_POINTER, 2, offsetof(struct ConfigDescriptor, roadAuthorityID), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RoadAuthorityID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadAuthorityID" + }, + { ATF_POINTER, 1, offsetof(struct ConfigDescriptor, percentOfResp), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_percentOfResp_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_percentOfResp_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_percentOfResp_constraint_1 + }, + 0, 0, /* No default value */ + "percentOfResp" + }, +}; +static const int asn_MAP_ConfigDescriptor_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_ConfigDescriptor_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ConfigDescriptor_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* identifier */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* vehClass */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* roadAuthorityID */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* percentOfResp */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ConfigDescriptor_specs_1 = { + sizeof(struct ConfigDescriptor), + offsetof(struct ConfigDescriptor, _asn_ctx), + asn_MAP_ConfigDescriptor_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_ConfigDescriptor_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ConfigDescriptor = { + "ConfigDescriptor", + "ConfigDescriptor", + &asn_OP_SEQUENCE, + asn_DEF_ConfigDescriptor_tags_1, + sizeof(asn_DEF_ConfigDescriptor_tags_1) + /sizeof(asn_DEF_ConfigDescriptor_tags_1[0]), /* 1 */ + asn_DEF_ConfigDescriptor_tags_1, /* Same as above */ + sizeof(asn_DEF_ConfigDescriptor_tags_1) + /sizeof(asn_DEF_ConfigDescriptor_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ConfigDescriptor_1, + 4, /* Elements count */ + &asn_SPC_ConfigDescriptor_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ConfigDescriptor.h b/src/tmx/Asn_J2735/src/r2024/ConfigDescriptor.h deleted file mode 100644 index e4f1eab77..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ConfigDescriptor.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ConfigDescriptor_H_ -#define _ConfigDescriptor_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ConfigId.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct CfgVehicleClass; -struct RoadAuthorityID; - -/* ConfigDescriptor */ -typedef struct ConfigDescriptor { - ConfigId_t identifier; - struct CfgVehicleClass *vehClass; /* OPTIONAL */ - struct RoadAuthorityID *roadAuthorityID; /* OPTIONAL */ - long *percentOfResp; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ConfigDescriptor_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ConfigDescriptor; -extern asn_SEQUENCE_specifics_t asn_SPC_ConfigDescriptor_specs_1; -extern asn_TYPE_member_t asn_MBR_ConfigDescriptor_1[4]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "CfgVehicleClass.h" -#include "RoadAuthorityID.h" - -#endif /* _ConfigDescriptor_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ConfigId.c b/src/tmx/Asn_J2735/src/r2024/ConfigId.c new file mode 100644 index 000000000..624adb0a3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ConfigId.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ConfigId.h" + +int +ConfigId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ConfigId_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ConfigId_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ConfigId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ConfigId = { + "ConfigId", + "ConfigId", + &asn_OP_NativeInteger, + asn_DEF_ConfigId_tags_1, + sizeof(asn_DEF_ConfigId_tags_1) + /sizeof(asn_DEF_ConfigId_tags_1[0]), /* 1 */ + asn_DEF_ConfigId_tags_1, /* Same as above */ + sizeof(asn_DEF_ConfigId_tags_1) + /sizeof(asn_DEF_ConfigId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ConfigId_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ConfigId_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ConfigId_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ConfigId.h b/src/tmx/Asn_J2735/src/r2024/ConfigId.h deleted file mode 100644 index d5ceee525..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ConfigId.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ConfigId_H_ -#define _ConfigId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ConfigId */ -typedef long ConfigId_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ConfigId_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ConfigId; -asn_struct_free_f ConfigId_free; -asn_struct_print_f ConfigId_print; -asn_constr_check_f ConfigId_constraint; -ber_type_decoder_f ConfigId_decode_ber; -der_type_encoder_f ConfigId_encode_der; -xer_type_decoder_f ConfigId_decode_xer; -xer_type_encoder_f ConfigId_encode_xer; -oer_type_decoder_f ConfigId_decode_oer; -oer_type_encoder_f ConfigId_encode_oer; -per_type_decoder_f ConfigId_decode_uper; -per_type_encoder_f ConfigId_encode_uper; -per_type_decoder_f ConfigId_decode_aper; -per_type_encoder_f ConfigId_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ConfigId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ConfigInfo.c b/src/tmx/Asn_J2735/src/r2024/ConfigInfo.c new file mode 100644 index 000000000..af83a057f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ConfigInfo.c @@ -0,0 +1,277 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ConfigInfo.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static int +memb_configID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 64L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_configVersion_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 64L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_configurationFeeType_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_configurationFeeType_constr_6 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_configID_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_configID_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 0, 64 } /* (0..64,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_configVersion_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_configVersion_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 0, 64 } /* (0..64,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_configurationFeeType_value2enum_6[] = { + { 0, 8, "excluded" }, + { 1, 20, "replacesOtherCharges" }, + { 2, 19, "addedToOtherCharges" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_configurationFeeType_enum2value_6[] = { + 2, /* addedToOtherCharges(2) */ + 0, /* excluded(0) */ + 1 /* replacesOtherCharges(1) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_configurationFeeType_specs_6 = { + asn_MAP_configurationFeeType_value2enum_6, /* "tag" => N; sorted by tag */ + asn_MAP_configurationFeeType_enum2value_6, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_configurationFeeType_tags_6[] = { + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_configurationFeeType_6 = { + "configurationFeeType", + "configurationFeeType", + &asn_OP_NativeEnumerated, + asn_DEF_configurationFeeType_tags_6, + sizeof(asn_DEF_configurationFeeType_tags_6) + /sizeof(asn_DEF_configurationFeeType_tags_6[0]) - 1, /* 1 */ + asn_DEF_configurationFeeType_tags_6, /* Same as above */ + sizeof(asn_DEF_configurationFeeType_tags_6) + /sizeof(asn_DEF_configurationFeeType_tags_6[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_configurationFeeType_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_configurationFeeType_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_configurationFeeType_specs_6 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ConfigInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ConfigInfo, configID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_configID_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_configID_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_configID_constraint_1 + }, + 0, 0, /* No default value */ + "configID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ConfigInfo, configVersion), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_configVersion_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_configVersion_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_configVersion_constraint_1 + }, + 0, 0, /* No default value */ + "configVersion" + }, + { ATF_NOFLAGS, 0, offsetof(struct ConfigInfo, startDate), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startDate" + }, + { ATF_NOFLAGS, 0, offsetof(struct ConfigInfo, expirationDate), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "expirationDate" + }, + { ATF_NOFLAGS, 0, offsetof(struct ConfigInfo, configurationFeeType), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_configurationFeeType_6, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "configurationFeeType" + }, +}; +static const ber_tlv_tag_t asn_DEF_ConfigInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ConfigInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* configID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* configVersion */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* startDate */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* expirationDate */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* configurationFeeType */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ConfigInfo_specs_1 = { + sizeof(struct ConfigInfo), + offsetof(struct ConfigInfo, _asn_ctx), + asn_MAP_ConfigInfo_tag2el_1, + 5, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ConfigInfo = { + "ConfigInfo", + "ConfigInfo", + &asn_OP_SEQUENCE, + asn_DEF_ConfigInfo_tags_1, + sizeof(asn_DEF_ConfigInfo_tags_1) + /sizeof(asn_DEF_ConfigInfo_tags_1[0]), /* 1 */ + asn_DEF_ConfigInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_ConfigInfo_tags_1) + /sizeof(asn_DEF_ConfigInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ConfigInfo_1, + 5, /* Elements count */ + &asn_SPC_ConfigInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ConfigInfo.h b/src/tmx/Asn_J2735/src/r2024/ConfigInfo.h deleted file mode 100644 index 26f3cc5be..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ConfigInfo.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ConfigInfo_H_ -#define _ConfigInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "DDateTime.h" -#include "NativeEnumerated.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ConfigInfo__configurationFeeType { - ConfigInfo__configurationFeeType_excluded = 0, - ConfigInfo__configurationFeeType_replacesOtherCharges = 1, - ConfigInfo__configurationFeeType_addedToOtherCharges = 2 - /* - * Enumeration is extensible - */ -} e_ConfigInfo__configurationFeeType; - -/* ConfigInfo */ -typedef struct ConfigInfo { - long configID; - long configVersion; - DDateTime_t startDate; - DDateTime_t expirationDate; - long configurationFeeType; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ConfigInfo_t; - -/* Implementation */ -/* extern asn_TYPE_descriptor_t asn_DEF_configurationFeeType_6; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_ConfigInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_ConfigInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_ConfigInfo_1[5]; - -#ifdef __cplusplus -} -#endif - -#endif /* _ConfigInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ConfigTemporalBoundary.c b/src/tmx/Asn_J2735/src/r2024/ConfigTemporalBoundary.c new file mode 100644 index 000000000..54576bd0c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ConfigTemporalBoundary.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ConfigTemporalBoundary.h" + +asn_TYPE_member_t asn_MBR_ConfigTemporalBoundary_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ConfigTemporalBoundary, beginTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "beginTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct ConfigTemporalBoundary, endTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "endTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct ConfigTemporalBoundary, recurring), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CfgEventRecurrence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "recurring" + }, +}; +static const ber_tlv_tag_t asn_DEF_ConfigTemporalBoundary_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ConfigTemporalBoundary_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* beginTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* endTime */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* recurring */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ConfigTemporalBoundary_specs_1 = { + sizeof(struct ConfigTemporalBoundary), + offsetof(struct ConfigTemporalBoundary, _asn_ctx), + asn_MAP_ConfigTemporalBoundary_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ConfigTemporalBoundary = { + "ConfigTemporalBoundary", + "ConfigTemporalBoundary", + &asn_OP_SEQUENCE, + asn_DEF_ConfigTemporalBoundary_tags_1, + sizeof(asn_DEF_ConfigTemporalBoundary_tags_1) + /sizeof(asn_DEF_ConfigTemporalBoundary_tags_1[0]), /* 1 */ + asn_DEF_ConfigTemporalBoundary_tags_1, /* Same as above */ + sizeof(asn_DEF_ConfigTemporalBoundary_tags_1) + /sizeof(asn_DEF_ConfigTemporalBoundary_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ConfigTemporalBoundary_1, + 3, /* Elements count */ + &asn_SPC_ConfigTemporalBoundary_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ConfigTemporalBoundary.h b/src/tmx/Asn_J2735/src/r2024/ConfigTemporalBoundary.h deleted file mode 100644 index 6d578a300..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ConfigTemporalBoundary.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ConfigTemporalBoundary_H_ -#define _ConfigTemporalBoundary_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DDateTime.h" -#include "CfgEventRecurrence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ConfigTemporalBoundary */ -typedef struct ConfigTemporalBoundary { - DDateTime_t beginTime; - DDateTime_t endTime; - CfgEventRecurrence_t recurring; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ConfigTemporalBoundary_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ConfigTemporalBoundary; -extern asn_SEQUENCE_specifics_t asn_SPC_ConfigTemporalBoundary_specs_1; -extern asn_TYPE_member_t asn_MBR_ConfigTemporalBoundary_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _ConfigTemporalBoundary_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ConfigTriggers.c b/src/tmx/Asn_J2735/src/r2024/ConfigTriggers.c new file mode 100644 index 000000000..c28e1c75d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ConfigTriggers.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ConfigTriggers.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ConfigTriggers_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ConfigTriggers_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ConfigTriggers_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ConfigTriggers, choice.instantaneousTriggers), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_CfgInstantaneousEventTriggers, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "instantaneousTriggers" + }, + { ATF_NOFLAGS, 0, offsetof(struct ConfigTriggers, choice.avgAndSumTriggers), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_CfgAveragedAndSummaryTriggers, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "avgAndSumTriggers" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ConfigTriggers_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* instantaneousTriggers */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* avgAndSumTriggers */ +}; +asn_CHOICE_specifics_t asn_SPC_ConfigTriggers_specs_1 = { + sizeof(struct ConfigTriggers), + offsetof(struct ConfigTriggers, _asn_ctx), + offsetof(struct ConfigTriggers, present), + sizeof(((struct ConfigTriggers *)0)->present), + asn_MAP_ConfigTriggers_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ConfigTriggers = { + "ConfigTriggers", + "ConfigTriggers", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ConfigTriggers_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ConfigTriggers_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_ConfigTriggers_1, + 2, /* Elements count */ + &asn_SPC_ConfigTriggers_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ConfigTriggers.h b/src/tmx/Asn_J2735/src/r2024/ConfigTriggers.h deleted file mode 100644 index 0bcc1f627..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ConfigTriggers.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ConfigTriggers_H_ -#define _ConfigTriggers_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "CfgInstantaneousEventTriggers.h" -#include "CfgAveragedAndSummaryTriggers.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ConfigTriggers_PR { - ConfigTriggers_PR_NOTHING, /* No components present */ - ConfigTriggers_PR_instantaneousTriggers, - ConfigTriggers_PR_avgAndSumTriggers - /* Extensions may appear below */ - -} ConfigTriggers_PR; - -/* ConfigTriggers */ -typedef struct ConfigTriggers { - ConfigTriggers_PR present; - union ConfigTriggers_u { - CfgInstantaneousEventTriggers_t instantaneousTriggers; - CfgAveragedAndSummaryTriggers_t avgAndSumTriggers; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ConfigTriggers_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ConfigTriggers; -extern asn_CHOICE_specifics_t asn_SPC_ConfigTriggers_specs_1; -extern asn_TYPE_member_t asn_MBR_ConfigTriggers_1[2]; -extern asn_per_constraints_t asn_PER_type_ConfigTriggers_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _ConfigTriggers_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ConnectingLane.c b/src/tmx/Asn_J2735/src/r2024/ConnectingLane.c new file mode 100644 index 000000000..7510cd54f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ConnectingLane.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ConnectingLane.h" + +asn_TYPE_member_t asn_MBR_ConnectingLane_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ConnectingLane, lane), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lane" + }, + { ATF_POINTER, 1, offsetof(struct ConnectingLane, maneuver), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AllowedManeuvers, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maneuver" + }, +}; +static const int asn_MAP_ConnectingLane_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_ConnectingLane_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ConnectingLane_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lane */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* maneuver */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ConnectingLane_specs_1 = { + sizeof(struct ConnectingLane), + offsetof(struct ConnectingLane, _asn_ctx), + asn_MAP_ConnectingLane_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_ConnectingLane_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ConnectingLane = { + "ConnectingLane", + "ConnectingLane", + &asn_OP_SEQUENCE, + asn_DEF_ConnectingLane_tags_1, + sizeof(asn_DEF_ConnectingLane_tags_1) + /sizeof(asn_DEF_ConnectingLane_tags_1[0]), /* 1 */ + asn_DEF_ConnectingLane_tags_1, /* Same as above */ + sizeof(asn_DEF_ConnectingLane_tags_1) + /sizeof(asn_DEF_ConnectingLane_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ConnectingLane_1, + 2, /* Elements count */ + &asn_SPC_ConnectingLane_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ConnectingLane.h b/src/tmx/Asn_J2735/src/r2024/ConnectingLane.h deleted file mode 100644 index 07b7accd4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ConnectingLane.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ConnectingLane_H_ -#define _ConnectingLane_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LaneID.h" -#include "AllowedManeuvers.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ConnectingLane */ -typedef struct ConnectingLane { - LaneID_t lane; - AllowedManeuvers_t *maneuver; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ConnectingLane_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ConnectingLane; -extern asn_SEQUENCE_specifics_t asn_SPC_ConnectingLane_specs_1; -extern asn_TYPE_member_t asn_MBR_ConnectingLane_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _ConnectingLane_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Connection.c b/src/tmx/Asn_J2735/src/r2024/Connection.c new file mode 100644 index 000000000..5a73632d0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Connection.c @@ -0,0 +1,140 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Connection.h" + +asn_TYPE_member_t asn_MBR_Connection_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Connection, connectingLane), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ConnectingLane, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "connectingLane" + }, + { ATF_POINTER, 4, offsetof(struct Connection, remoteIntersection), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IntersectionReferenceID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "remoteIntersection" + }, + { ATF_POINTER, 3, offsetof(struct Connection, signalGroup), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SignalGroupID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "signalGroup" + }, + { ATF_POINTER, 2, offsetof(struct Connection, userClass), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RestrictionClassID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "userClass" + }, + { ATF_POINTER, 1, offsetof(struct Connection, connectionID), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneConnectionID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "connectionID" + }, +}; +static const int asn_MAP_Connection_oms_1[] = { 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_Connection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Connection_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* connectingLane */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* remoteIntersection */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* signalGroup */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* userClass */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* connectionID */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Connection_specs_1 = { + sizeof(struct Connection), + offsetof(struct Connection, _asn_ctx), + asn_MAP_Connection_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_Connection_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Connection = { + "Connection", + "Connection", + &asn_OP_SEQUENCE, + asn_DEF_Connection_tags_1, + sizeof(asn_DEF_Connection_tags_1) + /sizeof(asn_DEF_Connection_tags_1[0]), /* 1 */ + asn_DEF_Connection_tags_1, /* Same as above */ + sizeof(asn_DEF_Connection_tags_1) + /sizeof(asn_DEF_Connection_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Connection_1, + 5, /* Elements count */ + &asn_SPC_Connection_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Connection.h b/src/tmx/Asn_J2735/src/r2024/Connection.h deleted file mode 100644 index fe538740b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Connection.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Connection_H_ -#define _Connection_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ConnectingLane.h" -#include "SignalGroupID.h" -#include "RestrictionClassID.h" -#include "LaneConnectionID.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IntersectionReferenceID; - -/* Connection */ -typedef struct Connection { - ConnectingLane_t connectingLane; - struct IntersectionReferenceID *remoteIntersection; /* OPTIONAL */ - SignalGroupID_t *signalGroup; /* OPTIONAL */ - RestrictionClassID_t *userClass; /* OPTIONAL */ - LaneConnectionID_t *connectionID; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Connection_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Connection; -extern asn_SEQUENCE_specifics_t asn_SPC_Connection_specs_1; -extern asn_TYPE_member_t asn_MBR_Connection_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IntersectionReferenceID.h" - -#endif /* _Connection_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist-addGrpC.c b/src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist-addGrpC.c new file mode 100644 index 000000000..cf509785a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist-addGrpC.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ConnectionManeuverAssist-addGrpC.h" + +asn_TYPE_member_t asn_MBR_ConnectionManeuverAssist_addGrpC_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ConnectionManeuverAssist_addGrpC, vehicleToLanePositions), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleToLanePositionList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleToLanePositions" + }, + { ATF_POINTER, 1, offsetof(struct ConnectionManeuverAssist_addGrpC, rsuDistanceFromAnchor), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_NodeOffsetPointXY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rsuDistanceFromAnchor" + }, +}; +static const int asn_MAP_ConnectionManeuverAssist_addGrpC_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_ConnectionManeuverAssist_addGrpC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ConnectionManeuverAssist_addGrpC_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicleToLanePositions */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rsuDistanceFromAnchor */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ConnectionManeuverAssist_addGrpC_specs_1 = { + sizeof(struct ConnectionManeuverAssist_addGrpC), + offsetof(struct ConnectionManeuverAssist_addGrpC, _asn_ctx), + asn_MAP_ConnectionManeuverAssist_addGrpC_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_ConnectionManeuverAssist_addGrpC_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ConnectionManeuverAssist_addGrpC = { + "ConnectionManeuverAssist-addGrpC", + "ConnectionManeuverAssist-addGrpC", + &asn_OP_SEQUENCE, + asn_DEF_ConnectionManeuverAssist_addGrpC_tags_1, + sizeof(asn_DEF_ConnectionManeuverAssist_addGrpC_tags_1) + /sizeof(asn_DEF_ConnectionManeuverAssist_addGrpC_tags_1[0]), /* 1 */ + asn_DEF_ConnectionManeuverAssist_addGrpC_tags_1, /* Same as above */ + sizeof(asn_DEF_ConnectionManeuverAssist_addGrpC_tags_1) + /sizeof(asn_DEF_ConnectionManeuverAssist_addGrpC_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ConnectionManeuverAssist_addGrpC_1, + 2, /* Elements count */ + &asn_SPC_ConnectionManeuverAssist_addGrpC_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist-addGrpC.h b/src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist-addGrpC.h deleted file mode 100644 index abcb45973..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist-addGrpC.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ConnectionManeuverAssist_addGrpC_H_ -#define _ConnectionManeuverAssist_addGrpC_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "VehicleToLanePositionList.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct NodeOffsetPointXY; - -/* ConnectionManeuverAssist-addGrpC */ -typedef struct ConnectionManeuverAssist_addGrpC { - VehicleToLanePositionList_t vehicleToLanePositions; - struct NodeOffsetPointXY *rsuDistanceFromAnchor; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ConnectionManeuverAssist_addGrpC_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ConnectionManeuverAssist_addGrpC; -extern asn_SEQUENCE_specifics_t asn_SPC_ConnectionManeuverAssist_addGrpC_specs_1; -extern asn_TYPE_member_t asn_MBR_ConnectionManeuverAssist_addGrpC_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "NodeOffsetPointXY.h" - -#endif /* _ConnectionManeuverAssist_addGrpC_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist.c b/src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist.c new file mode 100644 index 000000000..0dad5acaa --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist.c @@ -0,0 +1,261 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ConnectionManeuverAssist.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_7[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_ConnectionManeuverAssist, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_7[] = { + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_7 = { + sizeof(struct ConnectionManeuverAssist__regional), + offsetof(struct ConnectionManeuverAssist__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_7 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_7, + sizeof(asn_DEF_regional_tags_7) + /sizeof(asn_DEF_regional_tags_7[0]) - 1, /* 1 */ + asn_DEF_regional_tags_7, /* Same as above */ + sizeof(asn_DEF_regional_tags_7) + /sizeof(asn_DEF_regional_tags_7[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_7, + 1, /* Single element */ + &asn_SPC_regional_specs_7 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ConnectionManeuverAssist_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ConnectionManeuverAssist, connectionID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneConnectionID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "connectionID" + }, + { ATF_POINTER, 5, offsetof(struct ConnectionManeuverAssist, queueLength), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ZoneLength, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "queueLength" + }, + { ATF_POINTER, 4, offsetof(struct ConnectionManeuverAssist, availableStorageLength), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ZoneLength, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "availableStorageLength" + }, + { ATF_POINTER, 3, offsetof(struct ConnectionManeuverAssist, waitOnStop), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WaitOnStopline, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "waitOnStop" + }, + { ATF_POINTER, 2, offsetof(struct ConnectionManeuverAssist, pedBicycleDetect), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PedestrianBicycleDetect, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pedBicycleDetect" + }, + { ATF_POINTER, 1, offsetof(struct ConnectionManeuverAssist, regional), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + 0, + &asn_DEF_regional_7, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_ConnectionManeuverAssist_oms_1[] = { 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_ConnectionManeuverAssist_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ConnectionManeuverAssist_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* connectionID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* queueLength */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* availableStorageLength */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* waitOnStop */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* pedBicycleDetect */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ConnectionManeuverAssist_specs_1 = { + sizeof(struct ConnectionManeuverAssist), + offsetof(struct ConnectionManeuverAssist, _asn_ctx), + asn_MAP_ConnectionManeuverAssist_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_ConnectionManeuverAssist_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ConnectionManeuverAssist = { + "ConnectionManeuverAssist", + "ConnectionManeuverAssist", + &asn_OP_SEQUENCE, + asn_DEF_ConnectionManeuverAssist_tags_1, + sizeof(asn_DEF_ConnectionManeuverAssist_tags_1) + /sizeof(asn_DEF_ConnectionManeuverAssist_tags_1[0]), /* 1 */ + asn_DEF_ConnectionManeuverAssist_tags_1, /* Same as above */ + sizeof(asn_DEF_ConnectionManeuverAssist_tags_1) + /sizeof(asn_DEF_ConnectionManeuverAssist_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ConnectionManeuverAssist_1, + 6, /* Elements count */ + &asn_SPC_ConnectionManeuverAssist_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist.h b/src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist.h deleted file mode 100644 index ae7bdccc4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ConnectionManeuverAssist.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ConnectionManeuverAssist_H_ -#define _ConnectionManeuverAssist_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LaneConnectionID.h" -#include "ZoneLength.h" -#include "WaitOnStopline.h" -#include "PedestrianBicycleDetect.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_ConnectionManeuverAssist; - -/* ConnectionManeuverAssist */ -typedef struct ConnectionManeuverAssist { - LaneConnectionID_t connectionID; - ZoneLength_t *queueLength; /* OPTIONAL */ - ZoneLength_t *availableStorageLength; /* OPTIONAL */ - WaitOnStopline_t *waitOnStop; /* OPTIONAL */ - PedestrianBicycleDetect_t *pedBicycleDetect; /* OPTIONAL */ - struct ConnectionManeuverAssist__regional { - A_SEQUENCE_OF(struct Reg_ConnectionManeuverAssist) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ConnectionManeuverAssist_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ConnectionManeuverAssist; -extern asn_SEQUENCE_specifics_t asn_SPC_ConnectionManeuverAssist_specs_1; -extern asn_TYPE_member_t asn_MBR_ConnectionManeuverAssist_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _ConnectionManeuverAssist_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ConnectsToList.c b/src/tmx/Asn_J2735/src/r2024/ConnectsToList.c new file mode 100644 index 000000000..531eec592 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ConnectsToList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ConnectsToList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ConnectsToList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ConnectsToList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ConnectsToList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Connection, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ConnectsToList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ConnectsToList_specs_1 = { + sizeof(struct ConnectsToList), + offsetof(struct ConnectsToList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ConnectsToList = { + "ConnectsToList", + "ConnectsToList", + &asn_OP_SEQUENCE_OF, + asn_DEF_ConnectsToList_tags_1, + sizeof(asn_DEF_ConnectsToList_tags_1) + /sizeof(asn_DEF_ConnectsToList_tags_1[0]), /* 1 */ + asn_DEF_ConnectsToList_tags_1, /* Same as above */ + sizeof(asn_DEF_ConnectsToList_tags_1) + /sizeof(asn_DEF_ConnectsToList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ConnectsToList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ConnectsToList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_ConnectsToList_1, + 1, /* Single element */ + &asn_SPC_ConnectsToList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ConnectsToList.h b/src/tmx/Asn_J2735/src/r2024/ConnectsToList.h deleted file mode 100644 index f4b92ca6c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ConnectsToList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ConnectsToList_H_ -#define _ConnectsToList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Connection; - -/* ConnectsToList */ -typedef struct ConnectsToList { - A_SEQUENCE_OF(struct Connection) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ConnectsToList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ConnectsToList; -extern asn_SET_OF_specifics_t asn_SPC_ConnectsToList_specs_1; -extern asn_TYPE_member_t asn_MBR_ConnectsToList_1[1]; -extern asn_per_constraints_t asn_PER_type_ConnectsToList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Connection.h" - -#endif /* _ConnectsToList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ConsecutiveTrafficLight.c b/src/tmx/Asn_J2735/src/r2024/ConsecutiveTrafficLight.c new file mode 100644 index 000000000..bb328f4c2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ConsecutiveTrafficLight.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ConsecutiveTrafficLight.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ConsecutiveTrafficLight_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ConsecutiveTrafficLight_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_ConsecutiveTrafficLight_value2enum_1[] = { + { 0, 4, "none" }, + { 1, 5, "first" }, + { 2, 6, "second" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ConsecutiveTrafficLight_enum2value_1[] = { + 1, /* first(1) */ + 0, /* none(0) */ + 2 /* second(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_ConsecutiveTrafficLight_specs_1 = { + asn_MAP_ConsecutiveTrafficLight_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ConsecutiveTrafficLight_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ConsecutiveTrafficLight_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ConsecutiveTrafficLight = { + "ConsecutiveTrafficLight", + "ConsecutiveTrafficLight", + &asn_OP_NativeEnumerated, + asn_DEF_ConsecutiveTrafficLight_tags_1, + sizeof(asn_DEF_ConsecutiveTrafficLight_tags_1) + /sizeof(asn_DEF_ConsecutiveTrafficLight_tags_1[0]), /* 1 */ + asn_DEF_ConsecutiveTrafficLight_tags_1, /* Same as above */ + sizeof(asn_DEF_ConsecutiveTrafficLight_tags_1) + /sizeof(asn_DEF_ConsecutiveTrafficLight_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ConsecutiveTrafficLight_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ConsecutiveTrafficLight_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ConsecutiveTrafficLight_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ConsecutiveTrafficLight.h b/src/tmx/Asn_J2735/src/r2024/ConsecutiveTrafficLight.h deleted file mode 100644 index d50a17581..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ConsecutiveTrafficLight.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ConsecutiveTrafficLight_H_ -#define _ConsecutiveTrafficLight_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ConsecutiveTrafficLight { - ConsecutiveTrafficLight_none = 0, - ConsecutiveTrafficLight_first = 1, - ConsecutiveTrafficLight_second = 2 - /* - * Enumeration is extensible - */ -} e_ConsecutiveTrafficLight; - -/* ConsecutiveTrafficLight */ -typedef long ConsecutiveTrafficLight_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ConsecutiveTrafficLight_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ConsecutiveTrafficLight; -extern const asn_INTEGER_specifics_t asn_SPC_ConsecutiveTrafficLight_specs_1; -asn_struct_free_f ConsecutiveTrafficLight_free; -asn_struct_print_f ConsecutiveTrafficLight_print; -asn_constr_check_f ConsecutiveTrafficLight_constraint; -ber_type_decoder_f ConsecutiveTrafficLight_decode_ber; -der_type_encoder_f ConsecutiveTrafficLight_encode_der; -xer_type_decoder_f ConsecutiveTrafficLight_decode_xer; -xer_type_encoder_f ConsecutiveTrafficLight_encode_xer; -oer_type_decoder_f ConsecutiveTrafficLight_decode_oer; -oer_type_encoder_f ConsecutiveTrafficLight_encode_oer; -per_type_decoder_f ConsecutiveTrafficLight_decode_uper; -per_type_encoder_f ConsecutiveTrafficLight_encode_uper; -per_type_decoder_f ConsecutiveTrafficLight_decode_aper; -per_type_encoder_f ConsecutiveTrafficLight_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ConsecutiveTrafficLight_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ContentContainer.c b/src/tmx/Asn_J2735/src/r2024/ContentContainer.c new file mode 100644 index 000000000..c99431718 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ContentContainer.c @@ -0,0 +1,165 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ContentContainer.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ContentContainer_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ContentContainer_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ContentContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ContentContainer, choice.rszContainer), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ReducedSpeedZoneContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rszContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct ContentContainer, choice.laneClosureContainer), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneClosureContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneClosureContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct ContentContainer, choice.curveContainer), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CurveContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "curveContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct ContentContainer, choice.dynamicInfoContainer), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DynamicInfoContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dynamicInfoContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct ContentContainer, choice.incidentsContainer), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IncidentsContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "incidentsContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct ContentContainer, choice.situationalContainer), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SituationalContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "situationalContainer" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ContentContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rszContainer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* laneClosureContainer */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* curveContainer */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* dynamicInfoContainer */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* incidentsContainer */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* situationalContainer */ +}; +asn_CHOICE_specifics_t asn_SPC_ContentContainer_specs_1 = { + sizeof(struct ContentContainer), + offsetof(struct ContentContainer, _asn_ctx), + offsetof(struct ContentContainer, present), + sizeof(((struct ContentContainer *)0)->present), + asn_MAP_ContentContainer_tag2el_1, + 6, /* Count of tags in the map */ + 0, 0, + 6 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ContentContainer = { + "ContentContainer", + "ContentContainer", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ContentContainer_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ContentContainer_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_ContentContainer_1, + 6, /* Elements count */ + &asn_SPC_ContentContainer_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ContentContainer.h b/src/tmx/Asn_J2735/src/r2024/ContentContainer.h deleted file mode 100644 index 0cde6fde8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ContentContainer.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ContentContainer_H_ -#define _ContentContainer_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ReducedSpeedZoneContainer.h" -#include "LaneClosureContainer.h" -#include "CurveContainer.h" -#include "DynamicInfoContainer.h" -#include "IncidentsContainer.h" -#include "SituationalContainer.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ContentContainer_PR { - ContentContainer_PR_NOTHING, /* No components present */ - ContentContainer_PR_rszContainer, - ContentContainer_PR_laneClosureContainer, - ContentContainer_PR_curveContainer, - ContentContainer_PR_dynamicInfoContainer, - ContentContainer_PR_incidentsContainer, - ContentContainer_PR_situationalContainer - /* Extensions may appear below */ - -} ContentContainer_PR; - -/* ContentContainer */ -typedef struct ContentContainer { - ContentContainer_PR present; - union ContentContainer_u { - ReducedSpeedZoneContainer_t rszContainer; - LaneClosureContainer_t laneClosureContainer; - CurveContainer_t curveContainer; - DynamicInfoContainer_t dynamicInfoContainer; - IncidentsContainer_t incidentsContainer; - SituationalContainer_t situationalContainer; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ContentContainer_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ContentContainer; -extern asn_CHOICE_specifics_t asn_SPC_ContentContainer_specs_1; -extern asn_TYPE_member_t asn_MBR_ContentContainer_1[6]; -extern asn_per_constraints_t asn_PER_type_ContentContainer_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _ContentContainer_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ContractAuthenticator.c b/src/tmx/Asn_J2735/src/r2024/ContractAuthenticator.c new file mode 100644 index 000000000..3e21c104a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ContractAuthenticator.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ContractAuthenticator.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_ContractAuthenticator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ContractAuthenticator = { + "ContractAuthenticator", + "ContractAuthenticator", + &asn_OP_OCTET_STRING, + asn_DEF_ContractAuthenticator_tags_1, + sizeof(asn_DEF_ContractAuthenticator_tags_1) + /sizeof(asn_DEF_ContractAuthenticator_tags_1[0]), /* 1 */ + asn_DEF_ContractAuthenticator_tags_1, /* Same as above */ + sizeof(asn_DEF_ContractAuthenticator_tags_1) + /sizeof(asn_DEF_ContractAuthenticator_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OCTET_STRING_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ContractAuthenticator.h b/src/tmx/Asn_J2735/src/r2024/ContractAuthenticator.h deleted file mode 100644 index b5bd089f6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ContractAuthenticator.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ContractAuthenticator_H_ -#define _ContractAuthenticator_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ContractAuthenticator */ -typedef OCTET_STRING_t ContractAuthenticator_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ContractAuthenticator; -asn_struct_free_f ContractAuthenticator_free; -asn_struct_print_f ContractAuthenticator_print; -asn_constr_check_f ContractAuthenticator_constraint; -ber_type_decoder_f ContractAuthenticator_decode_ber; -der_type_encoder_f ContractAuthenticator_encode_der; -xer_type_decoder_f ContractAuthenticator_decode_xer; -xer_type_encoder_f ContractAuthenticator_encode_xer; -oer_type_decoder_f ContractAuthenticator_decode_oer; -oer_type_encoder_f ContractAuthenticator_encode_oer; -per_type_decoder_f ContractAuthenticator_decode_uper; -per_type_encoder_f ContractAuthenticator_encode_uper; -per_type_decoder_f ContractAuthenticator_decode_aper; -per_type_encoder_f ContractAuthenticator_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ContractAuthenticator_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ContractSerialNumber.c b/src/tmx/Asn_J2735/src/r2024/ContractSerialNumber.c new file mode 100644 index 000000000..dcff973e3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ContractSerialNumber.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ContractSerialNumber.h" + +int +ContractSerialNumber_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using Int4Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ContractSerialNumber_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..4294967295) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ContractSerialNumber_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ContractSerialNumber_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ContractSerialNumber = { + "ContractSerialNumber", + "ContractSerialNumber", + &asn_OP_NativeInteger, + asn_DEF_ContractSerialNumber_tags_1, + sizeof(asn_DEF_ContractSerialNumber_tags_1) + /sizeof(asn_DEF_ContractSerialNumber_tags_1[0]), /* 1 */ + asn_DEF_ContractSerialNumber_tags_1, /* Same as above */ + sizeof(asn_DEF_ContractSerialNumber_tags_1) + /sizeof(asn_DEF_ContractSerialNumber_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ContractSerialNumber_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ContractSerialNumber_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ContractSerialNumber_constraint + }, + 0, 0, /* No members */ + &asn_SPC_Int4Unsigned_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ContractSerialNumber.h b/src/tmx/Asn_J2735/src/r2024/ContractSerialNumber.h deleted file mode 100644 index c993f8838..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ContractSerialNumber.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ContractSerialNumber_H_ -#define _ContractSerialNumber_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int4Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ContractSerialNumber */ -typedef Int4Unsigned_t ContractSerialNumber_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ContractSerialNumber_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ContractSerialNumber; -asn_struct_free_f ContractSerialNumber_free; -asn_struct_print_f ContractSerialNumber_print; -asn_constr_check_f ContractSerialNumber_constraint; -ber_type_decoder_f ContractSerialNumber_decode_ber; -der_type_encoder_f ContractSerialNumber_encode_der; -xer_type_decoder_f ContractSerialNumber_decode_xer; -xer_type_encoder_f ContractSerialNumber_encode_xer; -oer_type_decoder_f ContractSerialNumber_decode_oer; -oer_type_encoder_f ContractSerialNumber_encode_oer; -per_type_decoder_f ContractSerialNumber_decode_uper; -per_type_encoder_f ContractSerialNumber_encode_uper; -per_type_decoder_f ContractSerialNumber_decode_aper; -per_type_encoder_f ContractSerialNumber_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ContractSerialNumber_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ContractValidity.c b/src/tmx/Asn_J2735/src/r2024/ContractValidity.c new file mode 100644 index 000000000..afe0e00fb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ContractValidity.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ContractValidity.h" + +static int +memb_contractRestrictions_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 4UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_contractRestrictions_constr_2 CC_NOTUSED = { + { 0, 0 }, + 4 /* (SIZE(4..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_contractRestrictions_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_ContractValidity_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ContractValidity, contractRestrictions), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_contractRestrictions_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_contractRestrictions_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_contractRestrictions_constraint_1 + }, + 0, 0, /* No default value */ + "contractRestrictions" + }, + { ATF_NOFLAGS, 0, offsetof(struct ContractValidity, contractExpiryDate), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DateCompact, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "contractExpiryDate" + }, +}; +static const ber_tlv_tag_t asn_DEF_ContractValidity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ContractValidity_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* contractRestrictions */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* contractExpiryDate */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ContractValidity_specs_1 = { + sizeof(struct ContractValidity), + offsetof(struct ContractValidity, _asn_ctx), + asn_MAP_ContractValidity_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ContractValidity = { + "ContractValidity", + "ContractValidity", + &asn_OP_SEQUENCE, + asn_DEF_ContractValidity_tags_1, + sizeof(asn_DEF_ContractValidity_tags_1) + /sizeof(asn_DEF_ContractValidity_tags_1[0]), /* 1 */ + asn_DEF_ContractValidity_tags_1, /* Same as above */ + sizeof(asn_DEF_ContractValidity_tags_1) + /sizeof(asn_DEF_ContractValidity_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ContractValidity_1, + 2, /* Elements count */ + &asn_SPC_ContractValidity_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ContractValidity.h b/src/tmx/Asn_J2735/src/r2024/ContractValidity.h deleted file mode 100644 index a903e86b9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ContractValidity.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ContractValidity_H_ -#define _ContractValidity_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" -#include "DateCompact.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ContractValidity */ -typedef struct ContractValidity { - OCTET_STRING_t contractRestrictions; - DateCompact_t contractExpiryDate; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ContractValidity_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ContractValidity; - -#ifdef __cplusplus -} -#endif - -#endif /* _ContractValidity_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage.c b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage.c new file mode 100644 index 000000000..19c4c83d8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage.c @@ -0,0 +1,189 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CooperativeControlMessage.h" + +static int +memb_partII_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 8UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_partII_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_partII_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_partII_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_partII_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_partII_3[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CCMpartIIExtension, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_partII_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_partII_specs_3 = { + sizeof(struct CooperativeControlMessage__partII), + offsetof(struct CooperativeControlMessage__partII, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_partII_3 = { + "partII", + "partII", + &asn_OP_SEQUENCE_OF, + asn_DEF_partII_tags_3, + sizeof(asn_DEF_partII_tags_3) + /sizeof(asn_DEF_partII_tags_3[0]) - 1, /* 1 */ + asn_DEF_partII_tags_3, /* Same as above */ + sizeof(asn_DEF_partII_tags_3) + /sizeof(asn_DEF_partII_tags_3[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_partII_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_partII_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_partII_3, + 1, /* Single element */ + &asn_SPC_partII_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CooperativeControlMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CooperativeControlMessage, coreData), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BSMcoreData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "coreData" + }, + { ATF_POINTER, 1, offsetof(struct CooperativeControlMessage, partII), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_partII_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_partII_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_partII_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_partII_constraint_1 + }, + 0, 0, /* No default value */ + "partII" + }, +}; +static const int asn_MAP_CooperativeControlMessage_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_CooperativeControlMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CooperativeControlMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* coreData */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* partII */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CooperativeControlMessage_specs_1 = { + sizeof(struct CooperativeControlMessage), + offsetof(struct CooperativeControlMessage, _asn_ctx), + asn_MAP_CooperativeControlMessage_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_CooperativeControlMessage_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CooperativeControlMessage = { + "CooperativeControlMessage", + "CooperativeControlMessage", + &asn_OP_SEQUENCE, + asn_DEF_CooperativeControlMessage_tags_1, + sizeof(asn_DEF_CooperativeControlMessage_tags_1) + /sizeof(asn_DEF_CooperativeControlMessage_tags_1[0]), /* 1 */ + asn_DEF_CooperativeControlMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_CooperativeControlMessage_tags_1) + /sizeof(asn_DEF_CooperativeControlMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CooperativeControlMessage_1, + 2, /* Elements count */ + &asn_SPC_CooperativeControlMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage.h b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage.h deleted file mode 100644 index 8bd34b7f8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CooperativeControlMessage_H_ -#define _CooperativeControlMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BSMcoreData.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct CCMpartIIExtension; - -/* CooperativeControlMessage */ -typedef struct CooperativeControlMessage { - BSMcoreData_t coreData; - struct CooperativeControlMessage__partII { - A_SEQUENCE_OF(struct CCMpartIIExtension) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *partII; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CooperativeControlMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CooperativeControlMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_CooperativeControlMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_CooperativeControlMessage_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "PartIIcontent.h" - -#endif /* _CooperativeControlMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_ManeuverID.c b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_ManeuverID.c new file mode 100644 index 000000000..6d92624f5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_ManeuverID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CooperativeControlMessage_ManeuverID.h" + +int +CooperativeControlMessage_ManeuverID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CooperativeControlMessage_ManeuverID_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CooperativeControlMessage_ManeuverID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_CooperativeControlMessage_ManeuverID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CooperativeControlMessage_ManeuverID = { + "ManeuverID", + "ManeuverID", + &asn_OP_NativeInteger, + asn_DEF_CooperativeControlMessage_ManeuverID_tags_1, + sizeof(asn_DEF_CooperativeControlMessage_ManeuverID_tags_1) + /sizeof(asn_DEF_CooperativeControlMessage_ManeuverID_tags_1[0]), /* 1 */ + asn_DEF_CooperativeControlMessage_ManeuverID_tags_1, /* Same as above */ + sizeof(asn_DEF_CooperativeControlMessage_ManeuverID_tags_1) + /sizeof(asn_DEF_CooperativeControlMessage_ManeuverID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CooperativeControlMessage_ManeuverID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CooperativeControlMessage_ManeuverID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CooperativeControlMessage_ManeuverID_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_ManeuverID.h b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_ManeuverID.h deleted file mode 100644 index 5d3d4d473..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_ManeuverID.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CooperativeControlMessage_ManeuverID_H_ -#define _CooperativeControlMessage_ManeuverID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CooperativeControlMessage_ManeuverID { - CooperativeControlMessage_ManeuverID_unavailable = 0, - CooperativeControlMessage_ManeuverID_stayAtRestManCtl = 1, - CooperativeControlMessage_ManeuverID_stayAtRestAutoLonCtl = 2, - CooperativeControlMessage_ManeuverID_autoSpdCtlFollowRefTrafAccel = 4, - CooperativeControlMessage_ManeuverID_transManToAutoSpdCtl = 5, - CooperativeControlMessage_ManeuverID_stringForm = 6, - CooperativeControlMessage_ManeuverID_autoJoinString = 7, - CooperativeControlMessage_ManeuverID_autoCtl = 8, - CooperativeControlMessage_ManeuverID_increaseGapAutoCtl = 9, - CooperativeControlMessage_ManeuverID_leftLnChgEndString = 10, - CooperativeControlMessage_ManeuverID_rightLnChgEndString = 11, - CooperativeControlMessage_ManeuverID_virtualGapIncDiffLane = 12, - CooperativeControlMessage_ManeuverID_virtualGapRedDiffLane = 13, - CooperativeControlMessage_ManeuverID_emgcyIncInterVehDistToStop = 14, - CooperativeControlMessage_ManeuverID_vehMrgToStringFrmOnramp = 15, - CooperativeControlMessage_ManeuverID_leftLnChgJoinString = 16, - CooperativeControlMessage_ManeuverID_rightLnChgJoinString = 17, - CooperativeControlMessage_ManeuverID_collisionAvoidLnChgOnly = 19, - CooperativeControlMessage_ManeuverID_collisionAvoidLnChgWthSpdRed = 20, - CooperativeControlMessage_ManeuverID_collisionAvoidEmgcyStp = 21, - CooperativeControlMessage_ManeuverID_autoDecelFollowSpdProfile = 28, - CooperativeControlMessage_ManeuverID_stoppingClosedloopVehFollowCtl = 31, - CooperativeControlMessage_ManeuverID_stoppngOpenloopDecelCmd = 32, - CooperativeControlMessage_ManeuverID_brakeToStopManCtl = 33, - CooperativeControlMessage_ManeuverID_incGapContString = 34, - CooperativeControlMessage_ManeuverID_incGapRedSpdToStp = 35, - CooperativeControlMessage_ManeuverID_cruiseCtl = 36, - CooperativeControlMessage_ManeuverID_adapCruiseCtl = 41, - CooperativeControlMessage_ManeuverID_coopAdapCruiseCtl = 42, - CooperativeControlMessage_ManeuverID_manCtl = 46, - CooperativeControlMessage_ManeuverID_coordAutoBrkForStringWthSvcBrkEngBrk = 47, - CooperativeControlMessage_ManeuverID_emgcyBrkForStringOnePlusVehWthSvcBrk = 48 -} e_CooperativeControlMessage_ManeuverID; - -/* CooperativeControlMessage_ManeuverID */ -typedef long CooperativeControlMessage_ManeuverID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_CooperativeControlMessage_ManeuverID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_CooperativeControlMessage_ManeuverID; -asn_struct_free_f CooperativeControlMessage_ManeuverID_free; -asn_struct_print_f CooperativeControlMessage_ManeuverID_print; -asn_constr_check_f CooperativeControlMessage_ManeuverID_constraint; -ber_type_decoder_f CooperativeControlMessage_ManeuverID_decode_ber; -der_type_encoder_f CooperativeControlMessage_ManeuverID_encode_der; -xer_type_decoder_f CooperativeControlMessage_ManeuverID_decode_xer; -xer_type_encoder_f CooperativeControlMessage_ManeuverID_encode_xer; -oer_type_decoder_f CooperativeControlMessage_ManeuverID_decode_oer; -oer_type_encoder_f CooperativeControlMessage_ManeuverID_encode_oer; -per_type_decoder_f CooperativeControlMessage_ManeuverID_decode_uper; -per_type_encoder_f CooperativeControlMessage_ManeuverID_encode_uper; -per_type_decoder_f CooperativeControlMessage_ManeuverID_decode_aper; -per_type_encoder_f CooperativeControlMessage_ManeuverID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CooperativeControlMessage_ManeuverID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PartII-Id.c b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PartII-Id.c new file mode 100644 index 000000000..4d7663d85 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PartII-Id.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CooperativeControlMessage_PartII-Id.h" + +int +CooperativeControlMessage_PartII_Id_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 63L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CooperativeControlMessage_PartII_Id_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..63) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CooperativeControlMessage_PartII_Id_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_CooperativeControlMessage_PartII_Id_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CooperativeControlMessage_PartII_Id = { + "PartII-Id", + "PartII-Id", + &asn_OP_NativeInteger, + asn_DEF_CooperativeControlMessage_PartII_Id_tags_1, + sizeof(asn_DEF_CooperativeControlMessage_PartII_Id_tags_1) + /sizeof(asn_DEF_CooperativeControlMessage_PartII_Id_tags_1[0]), /* 1 */ + asn_DEF_CooperativeControlMessage_PartII_Id_tags_1, /* Same as above */ + sizeof(asn_DEF_CooperativeControlMessage_PartII_Id_tags_1) + /sizeof(asn_DEF_CooperativeControlMessage_PartII_Id_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CooperativeControlMessage_PartII_Id_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CooperativeControlMessage_PartII_Id_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CooperativeControlMessage_PartII_Id_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PartII-Id.h b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PartII-Id.h deleted file mode 100644 index 1a9a87b06..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PartII-Id.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CooperativeControlMessage_PartII_Id_H_ -#define _CooperativeControlMessage_PartII_Id_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CooperativeControlMessage_PartII-Id */ -typedef long CooperativeControlMessage_PartII_Id_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_CooperativeControlMessage_PartII_Id_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_CooperativeControlMessage_PartII_Id; -asn_struct_free_f CooperativeControlMessage_PartII_Id_free; -asn_struct_print_f CooperativeControlMessage_PartII_Id_print; -asn_constr_check_f CooperativeControlMessage_PartII_Id_constraint; -ber_type_decoder_f CooperativeControlMessage_PartII_Id_decode_ber; -der_type_encoder_f CooperativeControlMessage_PartII_Id_encode_der; -xer_type_decoder_f CooperativeControlMessage_PartII_Id_decode_xer; -xer_type_encoder_f CooperativeControlMessage_PartII_Id_encode_xer; -oer_type_decoder_f CooperativeControlMessage_PartII_Id_decode_oer; -oer_type_encoder_f CooperativeControlMessage_PartII_Id_encode_oer; -per_type_decoder_f CooperativeControlMessage_PartII_Id_decode_uper; -per_type_encoder_f CooperativeControlMessage_PartII_Id_encode_uper; -per_type_decoder_f CooperativeControlMessage_PartII_Id_decode_aper; -per_type_encoder_f CooperativeControlMessage_PartII_Id_encode_aper; -#define CooperativeControlMessage_PartII_Id_CooperativeControlMessage_vehicleSafetyExt ((CooperativeControlMessage_PartII_Id_t)0) -#define CooperativeControlMessage_PartII_Id_lightVehicleCCMExt ((CooperativeControlMessage_PartII_Id_t)1) -#define CooperativeControlMessage_PartII_Id_heavyTruckCCMExt ((CooperativeControlMessage_PartII_Id_t)2) - -#ifdef __cplusplus -} -#endif - -#endif /* _CooperativeControlMessage_PartII_Id_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PitchRate.c b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PitchRate.c new file mode 100644 index 000000000..ce86a8e20 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PitchRate.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CooperativeControlMessage_PitchRate.h" + +int +CooperativeControlMessage_PitchRate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -3000L && value <= 3001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CooperativeControlMessage_PitchRate_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-3000..3001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CooperativeControlMessage_PitchRate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 13, 13, -3000, 3001 } /* (-3000..3001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_CooperativeControlMessage_PitchRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CooperativeControlMessage_PitchRate = { + "PitchRate", + "PitchRate", + &asn_OP_NativeInteger, + asn_DEF_CooperativeControlMessage_PitchRate_tags_1, + sizeof(asn_DEF_CooperativeControlMessage_PitchRate_tags_1) + /sizeof(asn_DEF_CooperativeControlMessage_PitchRate_tags_1[0]), /* 1 */ + asn_DEF_CooperativeControlMessage_PitchRate_tags_1, /* Same as above */ + sizeof(asn_DEF_CooperativeControlMessage_PitchRate_tags_1) + /sizeof(asn_DEF_CooperativeControlMessage_PitchRate_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CooperativeControlMessage_PitchRate_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CooperativeControlMessage_PitchRate_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CooperativeControlMessage_PitchRate_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PitchRate.h b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PitchRate.h deleted file mode 100644 index c8a8886bd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_PitchRate.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CooperativeControlMessage_PitchRate_H_ -#define _CooperativeControlMessage_PitchRate_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CooperativeControlMessage_PitchRate */ -typedef long CooperativeControlMessage_PitchRate_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_CooperativeControlMessage_PitchRate_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_CooperativeControlMessage_PitchRate; -asn_struct_free_f CooperativeControlMessage_PitchRate_free; -asn_struct_print_f CooperativeControlMessage_PitchRate_print; -asn_constr_check_f CooperativeControlMessage_PitchRate_constraint; -ber_type_decoder_f CooperativeControlMessage_PitchRate_decode_ber; -der_type_encoder_f CooperativeControlMessage_PitchRate_encode_der; -xer_type_decoder_f CooperativeControlMessage_PitchRate_decode_xer; -xer_type_encoder_f CooperativeControlMessage_PitchRate_encode_xer; -oer_type_decoder_f CooperativeControlMessage_PitchRate_decode_oer; -oer_type_encoder_f CooperativeControlMessage_PitchRate_encode_oer; -per_type_decoder_f CooperativeControlMessage_PitchRate_decode_uper; -per_type_encoder_f CooperativeControlMessage_PitchRate_encode_uper; -per_type_decoder_f CooperativeControlMessage_PitchRate_decode_aper; -per_type_encoder_f CooperativeControlMessage_PitchRate_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CooperativeControlMessage_PitchRate_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_RollRate.c b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_RollRate.c new file mode 100644 index 000000000..7715a057e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_RollRate.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CooperativeControlMessage_RollRate.h" + +int +CooperativeControlMessage_RollRate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -3000L && value <= 3001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CooperativeControlMessage_RollRate_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-3000..3001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CooperativeControlMessage_RollRate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 13, 13, -3000, 3001 } /* (-3000..3001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_CooperativeControlMessage_RollRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CooperativeControlMessage_RollRate = { + "RollRate", + "RollRate", + &asn_OP_NativeInteger, + asn_DEF_CooperativeControlMessage_RollRate_tags_1, + sizeof(asn_DEF_CooperativeControlMessage_RollRate_tags_1) + /sizeof(asn_DEF_CooperativeControlMessage_RollRate_tags_1[0]), /* 1 */ + asn_DEF_CooperativeControlMessage_RollRate_tags_1, /* Same as above */ + sizeof(asn_DEF_CooperativeControlMessage_RollRate_tags_1) + /sizeof(asn_DEF_CooperativeControlMessage_RollRate_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CooperativeControlMessage_RollRate_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CooperativeControlMessage_RollRate_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CooperativeControlMessage_RollRate_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_RollRate.h b/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_RollRate.h deleted file mode 100644 index 08d215a49..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CooperativeControlMessage_RollRate.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CooperativeControlMessage_RollRate_H_ -#define _CooperativeControlMessage_RollRate_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CooperativeControlMessage_RollRate */ -typedef long CooperativeControlMessage_RollRate_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_CooperativeControlMessage_RollRate_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_CooperativeControlMessage_RollRate; -asn_struct_free_f CooperativeControlMessage_RollRate_free; -asn_struct_print_f CooperativeControlMessage_RollRate_print; -asn_constr_check_f CooperativeControlMessage_RollRate_constraint; -ber_type_decoder_f CooperativeControlMessage_RollRate_decode_ber; -der_type_encoder_f CooperativeControlMessage_RollRate_encode_der; -xer_type_decoder_f CooperativeControlMessage_RollRate_decode_xer; -xer_type_encoder_f CooperativeControlMessage_RollRate_encode_xer; -oer_type_decoder_f CooperativeControlMessage_RollRate_decode_oer; -oer_type_encoder_f CooperativeControlMessage_RollRate_encode_oer; -per_type_decoder_f CooperativeControlMessage_RollRate_decode_uper; -per_type_encoder_f CooperativeControlMessage_RollRate_encode_uper; -per_type_decoder_f CooperativeControlMessage_RollRate_decode_aper; -per_type_encoder_f CooperativeControlMessage_RollRate_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CooperativeControlMessage_RollRate_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CopValue.c b/src/tmx/Asn_J2735/src/r2024/CopValue.c new file mode 100644 index 000000000..abfb04b14 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CopValue.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CopValue.h" + +int +CopValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CopValue_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CopValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_CopValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CopValue = { + "CopValue", + "CopValue", + &asn_OP_NativeInteger, + asn_DEF_CopValue_tags_1, + sizeof(asn_DEF_CopValue_tags_1) + /sizeof(asn_DEF_CopValue_tags_1[0]), /* 1 */ + asn_DEF_CopValue_tags_1, /* Same as above */ + sizeof(asn_DEF_CopValue_tags_1) + /sizeof(asn_DEF_CopValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CopValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CopValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CopValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CopValue.h b/src/tmx/Asn_J2735/src/r2024/CopValue.h deleted file mode 100644 index b1f026722..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CopValue.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CopValue_H_ -#define _CopValue_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CopValue { - CopValue_noEntry = 0, - CopValue_co2class1 = 1, - CopValue_co2class2 = 2, - CopValue_co2class3 = 3, - CopValue_co2class4 = 4, - CopValue_co2class5 = 5, - CopValue_co2class6 = 6, - CopValue_co2class7 = 7 -} e_CopValue; - -/* CopValue */ -typedef long CopValue_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_CopValue_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_CopValue; -asn_struct_free_f CopValue_free; -asn_struct_print_f CopValue_print; -asn_constr_check_f CopValue_constraint; -ber_type_decoder_f CopValue_decode_ber; -der_type_encoder_f CopValue_encode_der; -xer_type_decoder_f CopValue_decode_xer; -xer_type_encoder_f CopValue_encode_xer; -oer_type_decoder_f CopValue_decode_oer; -oer_type_encoder_f CopValue_encode_oer; -per_type_decoder_f CopValue_decode_uper; -per_type_encoder_f CopValue_encode_uper; -per_type_decoder_f CopValue_decode_aper; -per_type_encoder_f CopValue_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CopValue_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Count.c b/src/tmx/Asn_J2735/src/r2024/Count.c new file mode 100644 index 000000000..441ff6429 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Count.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Count.h" + +int +Count_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 32L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Count_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..32) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Count_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 32 } /* (0..32) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Count_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Count = { + "Count", + "Count", + &asn_OP_NativeInteger, + asn_DEF_Count_tags_1, + sizeof(asn_DEF_Count_tags_1) + /sizeof(asn_DEF_Count_tags_1[0]), /* 1 */ + asn_DEF_Count_tags_1, /* Same as above */ + sizeof(asn_DEF_Count_tags_1) + /sizeof(asn_DEF_Count_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Count_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Count_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Count_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Count.h b/src/tmx/Asn_J2735/src/r2024/Count.h deleted file mode 100644 index 5269b5a24..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Count.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Count_H_ -#define _Count_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Count */ -typedef long Count_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Count; -asn_struct_free_f Count_free; -asn_struct_print_f Count_print; -asn_constr_check_f Count_constraint; -ber_type_decoder_f Count_decode_ber; -der_type_encoder_f Count_encode_der; -xer_type_decoder_f Count_decode_xer; -xer_type_encoder_f Count_encode_xer; -oer_type_decoder_f Count_decode_oer; -oer_type_encoder_f Count_encode_oer; -per_type_decoder_f Count_decode_uper; -per_type_encoder_f Count_encode_uper; -per_type_decoder_f Count_decode_aper; -per_type_encoder_f Count_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Count_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CountryCode.c b/src/tmx/Asn_J2735/src/r2024/CountryCode.c new file mode 100644 index 000000000..a7c32280f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CountryCode.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CountryCode.h" + +int +CountryCode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 10UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_CountryCode_constr_1 CC_NOTUSED = { + { 0, 0 }, + 10 /* (SIZE(10..10)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_CountryCode_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 10, 10 } /* (SIZE(10..10)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_CountryCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_CountryCode = { + "CountryCode", + "CountryCode", + &asn_OP_BIT_STRING, + asn_DEF_CountryCode_tags_1, + sizeof(asn_DEF_CountryCode_tags_1) + /sizeof(asn_DEF_CountryCode_tags_1[0]), /* 1 */ + asn_DEF_CountryCode_tags_1, /* Same as above */ + sizeof(asn_DEF_CountryCode_tags_1) + /sizeof(asn_DEF_CountryCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_CountryCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_CountryCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CountryCode_constraint + }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CountryCode.h b/src/tmx/Asn_J2735/src/r2024/CountryCode.h deleted file mode 100644 index 6cd6dbc32..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CountryCode.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CountryCode_H_ -#define _CountryCode_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* CountryCode */ -typedef BIT_STRING_t CountryCode_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_CountryCode_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_CountryCode; -asn_struct_free_f CountryCode_free; -asn_struct_print_f CountryCode_print; -asn_constr_check_f CountryCode_constraint; -ber_type_decoder_f CountryCode_decode_ber; -der_type_encoder_f CountryCode_encode_der; -xer_type_decoder_f CountryCode_decode_xer; -xer_type_encoder_f CountryCode_encode_xer; -oer_type_decoder_f CountryCode_decode_oer; -oer_type_encoder_f CountryCode_encode_oer; -per_type_decoder_f CountryCode_decode_uper; -per_type_encoder_f CountryCode_encode_uper; -per_type_decoder_f CountryCode_decode_aper; -per_type_encoder_f CountryCode_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _CountryCode_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CrossLinking.c b/src/tmx/Asn_J2735/src/r2024/CrossLinking.c new file mode 100644 index 000000000..7a4c58002 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CrossLinking.c @@ -0,0 +1,413 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CrossLinking.h" + +static int +memb_audioLinks_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_visualLink_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_rsmLink_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_audioLinks_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_audioLinks_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 1, 4 } /* (SIZE(1..4,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_visualLink_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_visualLink_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 1, 4 } /* (SIZE(1..4,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_rsmLink_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_rsmLink_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 1, 4 } /* (SIZE(1..4,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_audioLinks_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_audioLinks_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 1, 4 } /* (SIZE(1..4,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_visualLink_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_visualLink_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 1, 4 } /* (SIZE(1..4,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_rsmLink_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_rsmLink_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 1, 4 } /* (SIZE(1..4,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_audioLinks_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_AudioLink, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_audioLinks_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_audioLinks_specs_2 = { + sizeof(struct CrossLinking__audioLinks), + offsetof(struct CrossLinking__audioLinks, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_audioLinks_2 = { + "audioLinks", + "audioLinks", + &asn_OP_SEQUENCE_OF, + asn_DEF_audioLinks_tags_2, + sizeof(asn_DEF_audioLinks_tags_2) + /sizeof(asn_DEF_audioLinks_tags_2[0]) - 1, /* 1 */ + asn_DEF_audioLinks_tags_2, /* Same as above */ + sizeof(asn_DEF_audioLinks_tags_2) + /sizeof(asn_DEF_audioLinks_tags_2[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_audioLinks_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_audioLinks_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_audioLinks_2, + 1, /* Single element */ + &asn_SPC_audioLinks_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_visualLink_4[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_VisualLink, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_visualLink_tags_4[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_visualLink_specs_4 = { + sizeof(struct CrossLinking__visualLink), + offsetof(struct CrossLinking__visualLink, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_visualLink_4 = { + "visualLink", + "visualLink", + &asn_OP_SEQUENCE_OF, + asn_DEF_visualLink_tags_4, + sizeof(asn_DEF_visualLink_tags_4) + /sizeof(asn_DEF_visualLink_tags_4[0]) - 1, /* 1 */ + asn_DEF_visualLink_tags_4, /* Same as above */ + sizeof(asn_DEF_visualLink_tags_4) + /sizeof(asn_DEF_visualLink_tags_4[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_visualLink_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_visualLink_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_visualLink_4, + 1, /* Single element */ + &asn_SPC_visualLink_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_rsmLink_6[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_EventIdentifier, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_rsmLink_tags_6[] = { + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_rsmLink_specs_6 = { + sizeof(struct CrossLinking__rsmLink), + offsetof(struct CrossLinking__rsmLink, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_rsmLink_6 = { + "rsmLink", + "rsmLink", + &asn_OP_SEQUENCE_OF, + asn_DEF_rsmLink_tags_6, + sizeof(asn_DEF_rsmLink_tags_6) + /sizeof(asn_DEF_rsmLink_tags_6[0]) - 1, /* 1 */ + asn_DEF_rsmLink_tags_6, /* Same as above */ + sizeof(asn_DEF_rsmLink_tags_6) + /sizeof(asn_DEF_rsmLink_tags_6[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_rsmLink_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_rsmLink_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_rsmLink_6, + 1, /* Single element */ + &asn_SPC_rsmLink_specs_6 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CrossLinking_1[] = { + { ATF_POINTER, 3, offsetof(struct CrossLinking, audioLinks), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_audioLinks_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_audioLinks_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_audioLinks_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_audioLinks_constraint_1 + }, + 0, 0, /* No default value */ + "audioLinks" + }, + { ATF_POINTER, 2, offsetof(struct CrossLinking, visualLink), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_visualLink_4, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_visualLink_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_visualLink_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_visualLink_constraint_1 + }, + 0, 0, /* No default value */ + "visualLink" + }, + { ATF_POINTER, 1, offsetof(struct CrossLinking, rsmLink), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + 0, + &asn_DEF_rsmLink_6, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_rsmLink_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_rsmLink_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_rsmLink_constraint_1 + }, + 0, 0, /* No default value */ + "rsmLink" + }, +}; +static const int asn_MAP_CrossLinking_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_CrossLinking_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CrossLinking_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* audioLinks */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* visualLink */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* rsmLink */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CrossLinking_specs_1 = { + sizeof(struct CrossLinking), + offsetof(struct CrossLinking, _asn_ctx), + asn_MAP_CrossLinking_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_CrossLinking_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CrossLinking = { + "CrossLinking", + "CrossLinking", + &asn_OP_SEQUENCE, + asn_DEF_CrossLinking_tags_1, + sizeof(asn_DEF_CrossLinking_tags_1) + /sizeof(asn_DEF_CrossLinking_tags_1[0]), /* 1 */ + asn_DEF_CrossLinking_tags_1, /* Same as above */ + sizeof(asn_DEF_CrossLinking_tags_1) + /sizeof(asn_DEF_CrossLinking_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CrossLinking_1, + 3, /* Elements count */ + &asn_SPC_CrossLinking_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CrossLinking.h b/src/tmx/Asn_J2735/src/r2024/CrossLinking.h deleted file mode 100644 index 62caa67b4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CrossLinking.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CrossLinking_H_ -#define _CrossLinking_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct AudioLink; -struct VisualLink; -struct EventIdentifier; - -/* CrossLinking */ -typedef struct CrossLinking { - struct CrossLinking__audioLinks { - A_SEQUENCE_OF(struct AudioLink) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *audioLinks; - struct CrossLinking__visualLink { - A_SEQUENCE_OF(struct VisualLink) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *visualLink; - struct CrossLinking__rsmLink { - A_SEQUENCE_OF(struct EventIdentifier) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *rsmLink; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CrossLinking_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CrossLinking; -extern asn_SEQUENCE_specifics_t asn_SPC_CrossLinking_specs_1; -extern asn_TYPE_member_t asn_MBR_CrossLinking_1[3]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "AudioLink.h" -#include "VisualLink.h" -#include "EventIdentifier.h" - -#endif /* _CrossLinking_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CurrentStateData.c b/src/tmx/Asn_J2735/src/r2024/CurrentStateData.c new file mode 100644 index 000000000..2ac1d4bf0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CurrentStateData.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CurrentStateData.h" + +asn_TYPE_member_t asn_MBR_CurrentStateData_1[] = { + { ATF_POINTER, 2, offsetof(struct CurrentStateData, executantVehPos), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "executantVehPos" + }, + { ATF_POINTER, 1, offsetof(struct CurrentStateData, executantVehPosConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionConfidenceSet, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "executantVehPosConfidence" + }, + { ATF_NOFLAGS, 0, offsetof(struct CurrentStateData, speed), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Speed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed" + }, + { ATF_NOFLAGS, 0, offsetof(struct CurrentStateData, heading), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Heading, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heading" + }, + { ATF_POINTER, 1, offsetof(struct CurrentStateData, accel4way), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AccelerationSet4Way, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accel4way" + }, + { ATF_NOFLAGS, 0, offsetof(struct CurrentStateData, size), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleSize, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "size" + }, +}; +static const int asn_MAP_CurrentStateData_oms_1[] = { 0, 1, 4 }; +static const ber_tlv_tag_t asn_DEF_CurrentStateData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CurrentStateData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* executantVehPos */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* executantVehPosConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* speed */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* heading */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* accel4way */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* size */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CurrentStateData_specs_1 = { + sizeof(struct CurrentStateData), + offsetof(struct CurrentStateData, _asn_ctx), + asn_MAP_CurrentStateData_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_CurrentStateData_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CurrentStateData = { + "CurrentStateData", + "CurrentStateData", + &asn_OP_SEQUENCE, + asn_DEF_CurrentStateData_tags_1, + sizeof(asn_DEF_CurrentStateData_tags_1) + /sizeof(asn_DEF_CurrentStateData_tags_1[0]), /* 1 */ + asn_DEF_CurrentStateData_tags_1, /* Same as above */ + sizeof(asn_DEF_CurrentStateData_tags_1) + /sizeof(asn_DEF_CurrentStateData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CurrentStateData_1, + 6, /* Elements count */ + &asn_SPC_CurrentStateData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CurrentStateData.h b/src/tmx/Asn_J2735/src/r2024/CurrentStateData.h deleted file mode 100644 index 96f44d33f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CurrentStateData.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CurrentStateData_H_ -#define _CurrentStateData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Speed.h" -#include "Heading.h" -#include "VehicleSize.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct PositionOffsetXYZ; -struct PositionConfidenceSet; -struct AccelerationSet4Way; - -/* CurrentStateData */ -typedef struct CurrentStateData { - struct PositionOffsetXYZ *executantVehPos; /* OPTIONAL */ - struct PositionConfidenceSet *executantVehPosConfidence; /* OPTIONAL */ - Speed_t speed; - Heading_t heading; - struct AccelerationSet4Way *accel4way; /* OPTIONAL */ - VehicleSize_t size; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CurrentStateData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CurrentStateData; -extern asn_SEQUENCE_specifics_t asn_SPC_CurrentStateData_specs_1; -extern asn_TYPE_member_t asn_MBR_CurrentStateData_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ.h" -#include "PositionConfidenceSet.h" -#include "AccelerationSet4Way.h" - -#endif /* _CurrentStateData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/CurveContainer.c b/src/tmx/Asn_J2735/src/r2024/CurveContainer.c new file mode 100644 index 000000000..080a18668 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/CurveContainer.c @@ -0,0 +1,140 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "CurveContainer.h" + +asn_TYPE_member_t asn_MBR_CurveContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CurveContainer, advisorySpeed), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedAdvice, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "advisorySpeed" + }, + { ATF_POINTER, 4, offsetof(struct CurveContainer, surfaceCondition), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FrictionInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "surfaceCondition" + }, + { ATF_POINTER, 3, offsetof(struct CurveContainer, minRadius), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Radius, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "minRadius" + }, + { ATF_POINTER, 2, offsetof(struct CurveContainer, bankAngle), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BankAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "bankAngle" + }, + { ATF_POINTER, 1, offsetof(struct CurveContainer, curveRegion), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "curveRegion" + }, +}; +static const int asn_MAP_CurveContainer_oms_1[] = { 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_CurveContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CurveContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* advisorySpeed */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* surfaceCondition */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* minRadius */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* bankAngle */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* curveRegion */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CurveContainer_specs_1 = { + sizeof(struct CurveContainer), + offsetof(struct CurveContainer, _asn_ctx), + asn_MAP_CurveContainer_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_CurveContainer_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CurveContainer = { + "CurveContainer", + "CurveContainer", + &asn_OP_SEQUENCE, + asn_DEF_CurveContainer_tags_1, + sizeof(asn_DEF_CurveContainer_tags_1) + /sizeof(asn_DEF_CurveContainer_tags_1[0]), /* 1 */ + asn_DEF_CurveContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_CurveContainer_tags_1) + /sizeof(asn_DEF_CurveContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CurveContainer_1, + 5, /* Elements count */ + &asn_SPC_CurveContainer_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/CurveContainer.h b/src/tmx/Asn_J2735/src/r2024/CurveContainer.h deleted file mode 100644 index 64c947b03..000000000 --- a/src/tmx/Asn_J2735/src/r2024/CurveContainer.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _CurveContainer_H_ -#define _CurveContainer_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SpeedAdvice.h" -#include "Radius.h" -#include "BankAngle.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct FrictionInformation; -struct RegionInfo; - -/* CurveContainer */ -typedef struct CurveContainer { - SpeedAdvice_t advisorySpeed; - struct FrictionInformation *surfaceCondition; /* OPTIONAL */ - Radius_t *minRadius; /* OPTIONAL */ - BankAngle_t *bankAngle; /* OPTIONAL */ - struct RegionInfo *curveRegion; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CurveContainer_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CurveContainer; -extern asn_SEQUENCE_specifics_t asn_SPC_CurveContainer_specs_1; -extern asn_TYPE_member_t asn_MBR_CurveContainer_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "FrictionInformation.h" -#include "RegionInfo.h" - -#endif /* _CurveContainer_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DDate.c b/src/tmx/Asn_J2735/src/r2024/DDate.c new file mode 100644 index 000000000..f5c7a3ce8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DDate.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DDate.h" + +asn_TYPE_member_t asn_MBR_DDate_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DDate, year), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "year" + }, + { ATF_NOFLAGS, 0, offsetof(struct DDate, month), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DMonth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "month" + }, + { ATF_NOFLAGS, 0, offsetof(struct DDate, day), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDay, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "day" + }, +}; +static const ber_tlv_tag_t asn_DEF_DDate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DDate_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* year */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* month */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* day */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DDate_specs_1 = { + sizeof(struct DDate), + offsetof(struct DDate, _asn_ctx), + asn_MAP_DDate_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DDate = { + "DDate", + "DDate", + &asn_OP_SEQUENCE, + asn_DEF_DDate_tags_1, + sizeof(asn_DEF_DDate_tags_1) + /sizeof(asn_DEF_DDate_tags_1[0]), /* 1 */ + asn_DEF_DDate_tags_1, /* Same as above */ + sizeof(asn_DEF_DDate_tags_1) + /sizeof(asn_DEF_DDate_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DDate_1, + 3, /* Elements count */ + &asn_SPC_DDate_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DDate.h b/src/tmx/Asn_J2735/src/r2024/DDate.h deleted file mode 100644 index a22d8a8fd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DDate.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DDate_H_ -#define _DDate_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DYear.h" -#include "DMonth.h" -#include "DDay.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DDate */ -typedef struct DDate { - DYear_t year; - DMonth_t month; - DDay_t day; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DDate_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DDate; -extern asn_SEQUENCE_specifics_t asn_SPC_DDate_specs_1; -extern asn_TYPE_member_t asn_MBR_DDate_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _DDate_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DDateTime.c b/src/tmx/Asn_J2735/src/r2024/DDateTime.c new file mode 100644 index 000000000..8a02a8831 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DDateTime.c @@ -0,0 +1,176 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DDateTime.h" + +asn_TYPE_member_t asn_MBR_DDateTime_1[] = { + { ATF_POINTER, 7, offsetof(struct DDateTime, year), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "year" + }, + { ATF_POINTER, 6, offsetof(struct DDateTime, month), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DMonth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "month" + }, + { ATF_POINTER, 5, offsetof(struct DDateTime, day), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDay, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "day" + }, + { ATF_POINTER, 4, offsetof(struct DDateTime, hour), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DHour, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hour" + }, + { ATF_POINTER, 3, offsetof(struct DDateTime, minute), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DMinute, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "minute" + }, + { ATF_POINTER, 2, offsetof(struct DDateTime, second), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "second" + }, + { ATF_POINTER, 1, offsetof(struct DDateTime, offset), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DOffset, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offset" + }, +}; +static const int asn_MAP_DDateTime_oms_1[] = { 0, 1, 2, 3, 4, 5, 6 }; +static const ber_tlv_tag_t asn_DEF_DDateTime_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DDateTime_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* year */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* month */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* day */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* hour */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* minute */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* second */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* offset */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DDateTime_specs_1 = { + sizeof(struct DDateTime), + offsetof(struct DDateTime, _asn_ctx), + asn_MAP_DDateTime_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_DDateTime_oms_1, /* Optional members */ + 7, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DDateTime = { + "DDateTime", + "DDateTime", + &asn_OP_SEQUENCE, + asn_DEF_DDateTime_tags_1, + sizeof(asn_DEF_DDateTime_tags_1) + /sizeof(asn_DEF_DDateTime_tags_1[0]), /* 1 */ + asn_DEF_DDateTime_tags_1, /* Same as above */ + sizeof(asn_DEF_DDateTime_tags_1) + /sizeof(asn_DEF_DDateTime_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DDateTime_1, + 7, /* Elements count */ + &asn_SPC_DDateTime_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DDateTime.h b/src/tmx/Asn_J2735/src/r2024/DDateTime.h deleted file mode 100644 index 0652ab41d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DDateTime.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DDateTime_H_ -#define _DDateTime_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DYear.h" -#include "DMonth.h" -#include "DDay.h" -#include "DHour.h" -#include "DMinute.h" -#include "DSecond.h" -#include "DOffset.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DDateTime */ -typedef struct DDateTime { - DYear_t *year; /* OPTIONAL */ - DMonth_t *month; /* OPTIONAL */ - DDay_t *day; /* OPTIONAL */ - DHour_t *hour; /* OPTIONAL */ - DMinute_t *minute; /* OPTIONAL */ - DSecond_t *second; /* OPTIONAL */ - DOffset_t *offset; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DDateTime_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DDateTime; -extern asn_SEQUENCE_specifics_t asn_SPC_DDateTime_specs_1; -extern asn_TYPE_member_t asn_MBR_DDateTime_1[7]; - -#ifdef __cplusplus -} -#endif - -#endif /* _DDateTime_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DDay.c b/src/tmx/Asn_J2735/src/r2024/DDay.c new file mode 100644 index 000000000..e3ae97007 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DDay.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DDay.h" + +int +DDay_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 31L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DDay_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..31) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DDay_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 31 } /* (0..31) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DDay_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DDay = { + "DDay", + "DDay", + &asn_OP_NativeInteger, + asn_DEF_DDay_tags_1, + sizeof(asn_DEF_DDay_tags_1) + /sizeof(asn_DEF_DDay_tags_1[0]), /* 1 */ + asn_DEF_DDay_tags_1, /* Same as above */ + sizeof(asn_DEF_DDay_tags_1) + /sizeof(asn_DEF_DDay_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DDay_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DDay_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DDay_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DDay.h b/src/tmx/Asn_J2735/src/r2024/DDay.h deleted file mode 100644 index ee3cc08ef..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DDay.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DDay_H_ -#define _DDay_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DDay */ -typedef long DDay_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DDay_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DDay; -asn_struct_free_f DDay_free; -asn_struct_print_f DDay_print; -asn_constr_check_f DDay_constraint; -ber_type_decoder_f DDay_decode_ber; -der_type_encoder_f DDay_encode_der; -xer_type_decoder_f DDay_decode_xer; -xer_type_encoder_f DDay_encode_xer; -oer_type_decoder_f DDay_decode_oer; -oer_type_encoder_f DDay_encode_oer; -per_type_decoder_f DDay_decode_uper; -per_type_encoder_f DDay_encode_uper; -per_type_decoder_f DDay_decode_aper; -per_type_encoder_f DDay_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DDay_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DFullTime.c b/src/tmx/Asn_J2735/src/r2024/DFullTime.c new file mode 100644 index 000000000..1982e842b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DFullTime.c @@ -0,0 +1,138 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DFullTime.h" + +static asn_TYPE_member_t asn_MBR_DFullTime_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DFullTime, year), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "year" + }, + { ATF_NOFLAGS, 0, offsetof(struct DFullTime, month), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DMonth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "month" + }, + { ATF_NOFLAGS, 0, offsetof(struct DFullTime, day), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDay, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "day" + }, + { ATF_NOFLAGS, 0, offsetof(struct DFullTime, hour), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DHour, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hour" + }, + { ATF_NOFLAGS, 0, offsetof(struct DFullTime, minute), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DMinute, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "minute" + }, +}; +static const ber_tlv_tag_t asn_DEF_DFullTime_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DFullTime_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* year */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* month */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* day */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* hour */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* minute */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_DFullTime_specs_1 = { + sizeof(struct DFullTime), + offsetof(struct DFullTime, _asn_ctx), + asn_MAP_DFullTime_tag2el_1, + 5, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DFullTime = { + "DFullTime", + "DFullTime", + &asn_OP_SEQUENCE, + asn_DEF_DFullTime_tags_1, + sizeof(asn_DEF_DFullTime_tags_1) + /sizeof(asn_DEF_DFullTime_tags_1[0]), /* 1 */ + asn_DEF_DFullTime_tags_1, /* Same as above */ + sizeof(asn_DEF_DFullTime_tags_1) + /sizeof(asn_DEF_DFullTime_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DFullTime_1, + 5, /* Elements count */ + &asn_SPC_DFullTime_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DFullTime.h b/src/tmx/Asn_J2735/src/r2024/DFullTime.h deleted file mode 100644 index fe57e5703..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DFullTime.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DFullTime_H_ -#define _DFullTime_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DYear.h" -#include "DMonth.h" -#include "DDay.h" -#include "DHour.h" -#include "DMinute.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DFullTime */ -typedef struct DFullTime { - DYear_t year; - DMonth_t month; - DDay_t day; - DHour_t hour; - DMinute_t minute; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DFullTime_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DFullTime; - -#ifdef __cplusplus -} -#endif - -#endif /* _DFullTime_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DHour.c b/src/tmx/Asn_J2735/src/r2024/DHour.c new file mode 100644 index 000000000..eefc7aa23 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DHour.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DHour.h" + +int +DHour_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 31L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DHour_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..31) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DHour_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 31 } /* (0..31) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DHour_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DHour = { + "DHour", + "DHour", + &asn_OP_NativeInteger, + asn_DEF_DHour_tags_1, + sizeof(asn_DEF_DHour_tags_1) + /sizeof(asn_DEF_DHour_tags_1[0]), /* 1 */ + asn_DEF_DHour_tags_1, /* Same as above */ + sizeof(asn_DEF_DHour_tags_1) + /sizeof(asn_DEF_DHour_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DHour_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DHour_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DHour_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DHour.h b/src/tmx/Asn_J2735/src/r2024/DHour.h deleted file mode 100644 index 5e0b9e2ea..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DHour.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DHour_H_ -#define _DHour_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DHour */ -typedef long DHour_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DHour_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DHour; -asn_struct_free_f DHour_free; -asn_struct_print_f DHour_print; -asn_constr_check_f DHour_constraint; -ber_type_decoder_f DHour_decode_ber; -der_type_encoder_f DHour_encode_der; -xer_type_decoder_f DHour_decode_xer; -xer_type_encoder_f DHour_encode_xer; -oer_type_decoder_f DHour_decode_oer; -oer_type_encoder_f DHour_encode_oer; -per_type_decoder_f DHour_decode_uper; -per_type_encoder_f DHour_encode_uper; -per_type_decoder_f DHour_decode_aper; -per_type_encoder_f DHour_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DHour_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DMinute.c b/src/tmx/Asn_J2735/src/r2024/DMinute.c new file mode 100644 index 000000000..975d4ebb2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DMinute.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DMinute.h" + +int +DMinute_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 60L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DMinute_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..60) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DMinute_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 60 } /* (0..60) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DMinute_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DMinute = { + "DMinute", + "DMinute", + &asn_OP_NativeInteger, + asn_DEF_DMinute_tags_1, + sizeof(asn_DEF_DMinute_tags_1) + /sizeof(asn_DEF_DMinute_tags_1[0]), /* 1 */ + asn_DEF_DMinute_tags_1, /* Same as above */ + sizeof(asn_DEF_DMinute_tags_1) + /sizeof(asn_DEF_DMinute_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DMinute_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DMinute_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DMinute_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DMinute.h b/src/tmx/Asn_J2735/src/r2024/DMinute.h deleted file mode 100644 index c30b413c3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DMinute.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DMinute_H_ -#define _DMinute_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DMinute */ -typedef long DMinute_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DMinute_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DMinute; -asn_struct_free_f DMinute_free; -asn_struct_print_f DMinute_print; -asn_constr_check_f DMinute_constraint; -ber_type_decoder_f DMinute_decode_ber; -der_type_encoder_f DMinute_encode_der; -xer_type_decoder_f DMinute_decode_xer; -xer_type_encoder_f DMinute_encode_xer; -oer_type_decoder_f DMinute_decode_oer; -oer_type_encoder_f DMinute_encode_oer; -per_type_decoder_f DMinute_decode_uper; -per_type_encoder_f DMinute_encode_uper; -per_type_decoder_f DMinute_decode_aper; -per_type_encoder_f DMinute_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DMinute_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DMonth.c b/src/tmx/Asn_J2735/src/r2024/DMonth.c new file mode 100644 index 000000000..8d793510c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DMonth.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DMonth.h" + +int +DMonth_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 12L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DMonth_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..12) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DMonth_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 12 } /* (0..12) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DMonth_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DMonth = { + "DMonth", + "DMonth", + &asn_OP_NativeInteger, + asn_DEF_DMonth_tags_1, + sizeof(asn_DEF_DMonth_tags_1) + /sizeof(asn_DEF_DMonth_tags_1[0]), /* 1 */ + asn_DEF_DMonth_tags_1, /* Same as above */ + sizeof(asn_DEF_DMonth_tags_1) + /sizeof(asn_DEF_DMonth_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DMonth_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DMonth_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DMonth_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DMonth.h b/src/tmx/Asn_J2735/src/r2024/DMonth.h deleted file mode 100644 index 9fb65b9b6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DMonth.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DMonth_H_ -#define _DMonth_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DMonth */ -typedef long DMonth_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DMonth_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DMonth; -asn_struct_free_f DMonth_free; -asn_struct_print_f DMonth_print; -asn_constr_check_f DMonth_constraint; -ber_type_decoder_f DMonth_decode_ber; -der_type_encoder_f DMonth_encode_der; -xer_type_decoder_f DMonth_decode_xer; -xer_type_encoder_f DMonth_encode_xer; -oer_type_decoder_f DMonth_decode_oer; -oer_type_encoder_f DMonth_encode_oer; -per_type_decoder_f DMonth_decode_uper; -per_type_encoder_f DMonth_encode_uper; -per_type_decoder_f DMonth_decode_aper; -per_type_encoder_f DMonth_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DMonth_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DMonthDay.c b/src/tmx/Asn_J2735/src/r2024/DMonthDay.c new file mode 100644 index 000000000..924d342a2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DMonthDay.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DMonthDay.h" + +static asn_TYPE_member_t asn_MBR_DMonthDay_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DMonthDay, month), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DMonth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "month" + }, + { ATF_NOFLAGS, 0, offsetof(struct DMonthDay, day), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDay, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "day" + }, +}; +static const ber_tlv_tag_t asn_DEF_DMonthDay_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DMonthDay_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* month */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* day */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_DMonthDay_specs_1 = { + sizeof(struct DMonthDay), + offsetof(struct DMonthDay, _asn_ctx), + asn_MAP_DMonthDay_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DMonthDay = { + "DMonthDay", + "DMonthDay", + &asn_OP_SEQUENCE, + asn_DEF_DMonthDay_tags_1, + sizeof(asn_DEF_DMonthDay_tags_1) + /sizeof(asn_DEF_DMonthDay_tags_1[0]), /* 1 */ + asn_DEF_DMonthDay_tags_1, /* Same as above */ + sizeof(asn_DEF_DMonthDay_tags_1) + /sizeof(asn_DEF_DMonthDay_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DMonthDay_1, + 2, /* Elements count */ + &asn_SPC_DMonthDay_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DMonthDay.h b/src/tmx/Asn_J2735/src/r2024/DMonthDay.h deleted file mode 100644 index 4c60da7df..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DMonthDay.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DMonthDay_H_ -#define _DMonthDay_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DMonth.h" -#include "DDay.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DMonthDay */ -typedef struct DMonthDay { - DMonth_t month; - DDay_t day; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DMonthDay_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DMonthDay; - -#ifdef __cplusplus -} -#endif - -#endif /* _DMonthDay_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DOffset.c b/src/tmx/Asn_J2735/src/r2024/DOffset.c new file mode 100644 index 000000000..2ac40e8cd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DOffset.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DOffset.h" + +int +DOffset_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -840L && value <= 840L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DOffset_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-840..840) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DOffset_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, -840, 840 } /* (-840..840) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DOffset_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DOffset = { + "DOffset", + "DOffset", + &asn_OP_NativeInteger, + asn_DEF_DOffset_tags_1, + sizeof(asn_DEF_DOffset_tags_1) + /sizeof(asn_DEF_DOffset_tags_1[0]), /* 1 */ + asn_DEF_DOffset_tags_1, /* Same as above */ + sizeof(asn_DEF_DOffset_tags_1) + /sizeof(asn_DEF_DOffset_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DOffset_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DOffset_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DOffset_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DOffset.h b/src/tmx/Asn_J2735/src/r2024/DOffset.h deleted file mode 100644 index b7125a8ed..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DOffset.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DOffset_H_ -#define _DOffset_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DOffset */ -typedef long DOffset_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DOffset_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DOffset; -asn_struct_free_f DOffset_free; -asn_struct_print_f DOffset_print; -asn_constr_check_f DOffset_constraint; -ber_type_decoder_f DOffset_decode_ber; -der_type_encoder_f DOffset_encode_der; -xer_type_decoder_f DOffset_decode_xer; -xer_type_encoder_f DOffset_encode_xer; -oer_type_decoder_f DOffset_decode_oer; -oer_type_encoder_f DOffset_encode_oer; -per_type_decoder_f DOffset_decode_uper; -per_type_encoder_f DOffset_encode_uper; -per_type_decoder_f DOffset_decode_aper; -per_type_encoder_f DOffset_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DOffset_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DSRCmsgID.c b/src/tmx/Asn_J2735/src/r2024/DSRCmsgID.c new file mode 100644 index 000000000..9ef3096ec --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DSRCmsgID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MessageFrame" + * found in "J2735-MessageFrame-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DSRCmsgID.h" + +int +DSRCmsgID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DSRCmsgID_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DSRCmsgID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 32767 } /* (0..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DSRCmsgID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DSRCmsgID = { + "DSRCmsgID", + "DSRCmsgID", + &asn_OP_NativeInteger, + asn_DEF_DSRCmsgID_tags_1, + sizeof(asn_DEF_DSRCmsgID_tags_1) + /sizeof(asn_DEF_DSRCmsgID_tags_1[0]), /* 1 */ + asn_DEF_DSRCmsgID_tags_1, /* Same as above */ + sizeof(asn_DEF_DSRCmsgID_tags_1) + /sizeof(asn_DEF_DSRCmsgID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DSRCmsgID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DSRCmsgID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DSRCmsgID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DSRCmsgID.h b/src/tmx/Asn_J2735/src/r2024/DSRCmsgID.h deleted file mode 100644 index f7a882f4a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DSRCmsgID.h +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MessageFrame" - * found in "J2735-MessageFrame-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DSRCmsgID_H_ -#define _DSRCmsgID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DSRCmsgID */ -typedef long DSRCmsgID_t; - -/* Implementation */ -#define DSRCmsgID_reservedMessageId_D ((DSRCmsgID_t)0) -#define DSRCmsgID_alaCarteMessage_D ((DSRCmsgID_t)1) -#define DSRCmsgID_basicSafetyMessage_D ((DSRCmsgID_t)2) -#define DSRCmsgID_basicSafetyMessageVerbose_D ((DSRCmsgID_t)3) -#define DSRCmsgID_commonSafetyRequest_D ((DSRCmsgID_t)4) -#define DSRCmsgID_emergencyVehicleAlert_D ((DSRCmsgID_t)5) -#define DSRCmsgID_intersectionCollision_D ((DSRCmsgID_t)6) -#define DSRCmsgID_mapData_D ((DSRCmsgID_t)7) -#define DSRCmsgID_nmeaCorrections_D ((DSRCmsgID_t)8) -#define DSRCmsgID_probeDataManagement_D ((DSRCmsgID_t)9) -#define DSRCmsgID_probeVehicleData_D ((DSRCmsgID_t)10) -#define DSRCmsgID_roadSideAlert_D ((DSRCmsgID_t)11) -#define DSRCmsgID_rtcmCorrections_D ((DSRCmsgID_t)12) -#define DSRCmsgID_signalPhaseAndTimingMessage_D ((DSRCmsgID_t)13) -#define DSRCmsgID_signalRequestMessage_D ((DSRCmsgID_t)14) -#define DSRCmsgID_signalStatusMessage_D ((DSRCmsgID_t)15) -#define DSRCmsgID_travelerInformation_D ((DSRCmsgID_t)16) -#define DSRCmsgID_uperFrame_D ((DSRCmsgID_t)17) -extern asn_per_constraints_t asn_PER_type_DSRCmsgID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DSRCmsgID; -asn_struct_free_f DSRCmsgID_free; -asn_struct_print_f DSRCmsgID_print; -asn_constr_check_f DSRCmsgID_constraint; -ber_type_decoder_f DSRCmsgID_decode_ber; -der_type_encoder_f DSRCmsgID_encode_der; -xer_type_decoder_f DSRCmsgID_decode_xer; -xer_type_encoder_f DSRCmsgID_encode_xer; -oer_type_decoder_f DSRCmsgID_decode_oer; -oer_type_encoder_f DSRCmsgID_encode_oer; -per_type_decoder_f DSRCmsgID_decode_uper; -per_type_encoder_f DSRCmsgID_encode_uper; -per_type_decoder_f DSRCmsgID_decode_aper; -per_type_encoder_f DSRCmsgID_encode_aper; -#define DSRCmsgID_mapData ((DSRCmsgID_t)18) -#define DSRCmsgID_signalPhaseAndTimingMessage ((DSRCmsgID_t)19) -#define DSRCmsgID_basicSafetyMessage ((DSRCmsgID_t)20) -#define DSRCmsgID_commonSafetyRequest ((DSRCmsgID_t)21) -#define DSRCmsgID_emergencyVehicleAlert ((DSRCmsgID_t)22) -#define DSRCmsgID_intersectionCollision ((DSRCmsgID_t)23) -#define DSRCmsgID_nmeaCorrections ((DSRCmsgID_t)24) -#define DSRCmsgID_probeDataManagement ((DSRCmsgID_t)25) -#define DSRCmsgID_probeVehicleData ((DSRCmsgID_t)26) -#define DSRCmsgID_roadSideAlert ((DSRCmsgID_t)27) -#define DSRCmsgID_rtcmCorrections ((DSRCmsgID_t)28) -#define DSRCmsgID_signalRequestMessage ((DSRCmsgID_t)29) -#define DSRCmsgID_signalStatusMessage ((DSRCmsgID_t)30) -#define DSRCmsgID_travelerInformation ((DSRCmsgID_t)31) -#define DSRCmsgID_personalSafetyMessage ((DSRCmsgID_t)32) -#define DSRCmsgID_roadSafetyMessage ((DSRCmsgID_t)33) -#define DSRCmsgID_roadWeatherMessage ((DSRCmsgID_t)34) -#define DSRCmsgID_probeDataConfigMessage ((DSRCmsgID_t)35) -#define DSRCmsgID_probeDataReportMessage ((DSRCmsgID_t)36) -#define DSRCmsgID_tollAdvertisementMessage ((DSRCmsgID_t)37) -#define DSRCmsgID_tollUsageMessage ((DSRCmsgID_t)38) -#define DSRCmsgID_tollUsageAckMessage ((DSRCmsgID_t)39) -#define DSRCmsgID_cooperativeControlMessage ((DSRCmsgID_t)40) -#define DSRCmsgID_sensorDataSharingMessage ((DSRCmsgID_t)41) -#define DSRCmsgID_maneuverSharingAndCoordinatingMessage ((DSRCmsgID_t)42) -#define DSRCmsgID_roadGeometryAndAttributes ((DSRCmsgID_t)43) -#define DSRCmsgID_personalSafetyMessage2 ((DSRCmsgID_t)44) -#define DSRCmsgID_trafficSignalPhaseAndTiming ((DSRCmsgID_t)45) -#define DSRCmsgID_signalControlAndPrioritizationRequest ((DSRCmsgID_t)46) -#define DSRCmsgID_signalControlAndPrioritizationStatus ((DSRCmsgID_t)47) -#define DSRCmsgID_roadUserChargingConfigMessage ((DSRCmsgID_t)48) -#define DSRCmsgID_roadUserChargingReportMessage ((DSRCmsgID_t)49) -#define DSRCmsgID_trafficLightStatusMessage ((DSRCmsgID_t)50) -#define DSRCmsgID_testMessage00 ((DSRCmsgID_t)240) -#define DSRCmsgID_testMessage01 ((DSRCmsgID_t)241) -#define DSRCmsgID_testMessage02 ((DSRCmsgID_t)242) -#define DSRCmsgID_testMessage03 ((DSRCmsgID_t)243) -#define DSRCmsgID_testMessage04 ((DSRCmsgID_t)244) -#define DSRCmsgID_testMessage05 ((DSRCmsgID_t)245) -#define DSRCmsgID_testMessage06 ((DSRCmsgID_t)246) -#define DSRCmsgID_testMessage07 ((DSRCmsgID_t)247) -#define DSRCmsgID_testMessage08 ((DSRCmsgID_t)248) -#define DSRCmsgID_testMessage09 ((DSRCmsgID_t)249) -#define DSRCmsgID_testMessage10 ((DSRCmsgID_t)250) -#define DSRCmsgID_testMessage11 ((DSRCmsgID_t)251) -#define DSRCmsgID_testMessage12 ((DSRCmsgID_t)252) -#define DSRCmsgID_testMessage13 ((DSRCmsgID_t)253) -#define DSRCmsgID_testMessage14 ((DSRCmsgID_t)254) -#define DSRCmsgID_testMessage15 ((DSRCmsgID_t)255) - -#ifdef __cplusplus -} -#endif - -#endif /* _DSRCmsgID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DSecond.c b/src/tmx/Asn_J2735/src/r2024/DSecond.c new file mode 100644 index 000000000..d7e2cf91f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DSecond.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DSecond.h" + +int +DSecond_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DSecond_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DSecond_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DSecond_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DSecond = { + "DSecond", + "DSecond", + &asn_OP_NativeInteger, + asn_DEF_DSecond_tags_1, + sizeof(asn_DEF_DSecond_tags_1) + /sizeof(asn_DEF_DSecond_tags_1[0]), /* 1 */ + asn_DEF_DSecond_tags_1, /* Same as above */ + sizeof(asn_DEF_DSecond_tags_1) + /sizeof(asn_DEF_DSecond_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DSecond_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DSecond_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DSecond_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DSecond.h b/src/tmx/Asn_J2735/src/r2024/DSecond.h deleted file mode 100644 index d8b89a650..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DSecond.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DSecond_H_ -#define _DSecond_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DSecond */ -typedef long DSecond_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DSecond_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DSecond; -asn_struct_free_f DSecond_free; -asn_struct_print_f DSecond_print; -asn_constr_check_f DSecond_constraint; -ber_type_decoder_f DSecond_decode_ber; -der_type_encoder_f DSecond_encode_der; -xer_type_decoder_f DSecond_decode_xer; -xer_type_encoder_f DSecond_encode_xer; -oer_type_decoder_f DSecond_decode_oer; -oer_type_encoder_f DSecond_encode_oer; -per_type_decoder_f DSecond_decode_uper; -per_type_encoder_f DSecond_encode_uper; -per_type_decoder_f DSecond_decode_aper; -per_type_encoder_f DSecond_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DSecond_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DTime.c b/src/tmx/Asn_J2735/src/r2024/DTime.c new file mode 100644 index 000000000..e3f42b5d9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DTime.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DTime.h" + +asn_TYPE_member_t asn_MBR_DTime_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DTime, hour), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DHour, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hour" + }, + { ATF_NOFLAGS, 0, offsetof(struct DTime, minute), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DMinute, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "minute" + }, + { ATF_NOFLAGS, 0, offsetof(struct DTime, second), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "second" + }, + { ATF_POINTER, 1, offsetof(struct DTime, offset), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DOffset, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offset" + }, +}; +static const int asn_MAP_DTime_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_DTime_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DTime_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hour */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* minute */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* second */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* offset */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DTime_specs_1 = { + sizeof(struct DTime), + offsetof(struct DTime, _asn_ctx), + asn_MAP_DTime_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_DTime_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DTime = { + "DTime", + "DTime", + &asn_OP_SEQUENCE, + asn_DEF_DTime_tags_1, + sizeof(asn_DEF_DTime_tags_1) + /sizeof(asn_DEF_DTime_tags_1[0]), /* 1 */ + asn_DEF_DTime_tags_1, /* Same as above */ + sizeof(asn_DEF_DTime_tags_1) + /sizeof(asn_DEF_DTime_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DTime_1, + 4, /* Elements count */ + &asn_SPC_DTime_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DTime.h b/src/tmx/Asn_J2735/src/r2024/DTime.h deleted file mode 100644 index 912856212..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DTime.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DTime_H_ -#define _DTime_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DHour.h" -#include "DMinute.h" -#include "DSecond.h" -#include "DOffset.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DTime */ -typedef struct DTime { - DHour_t hour; - DMinute_t minute; - DSecond_t second; - DOffset_t *offset; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DTime_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DTime; -extern asn_SEQUENCE_specifics_t asn_SPC_DTime_specs_1; -extern asn_TYPE_member_t asn_MBR_DTime_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _DTime_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DYear.c b/src/tmx/Asn_J2735/src/r2024/DYear.c new file mode 100644 index 000000000..d46f4393f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DYear.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DYear.h" + +int +DYear_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 4095L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DYear_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..4095) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DYear_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 4095 } /* (0..4095) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DYear_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DYear = { + "DYear", + "DYear", + &asn_OP_NativeInteger, + asn_DEF_DYear_tags_1, + sizeof(asn_DEF_DYear_tags_1) + /sizeof(asn_DEF_DYear_tags_1[0]), /* 1 */ + asn_DEF_DYear_tags_1, /* Same as above */ + sizeof(asn_DEF_DYear_tags_1) + /sizeof(asn_DEF_DYear_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DYear_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DYear_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DYear_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DYear.h b/src/tmx/Asn_J2735/src/r2024/DYear.h deleted file mode 100644 index 6795c483c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DYear.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DYear_H_ -#define _DYear_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DYear */ -typedef long DYear_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DYear_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DYear; -asn_struct_free_f DYear_free; -asn_struct_print_f DYear_print; -asn_constr_check_f DYear_constraint; -ber_type_decoder_f DYear_decode_ber; -der_type_encoder_f DYear_encode_der; -xer_type_decoder_f DYear_decode_xer; -xer_type_encoder_f DYear_encode_xer; -oer_type_decoder_f DYear_decode_oer; -oer_type_encoder_f DYear_encode_oer; -per_type_decoder_f DYear_decode_uper; -per_type_encoder_f DYear_encode_uper; -per_type_decoder_f DYear_decode_aper; -per_type_encoder_f DYear_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DYear_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DYearMonth.c b/src/tmx/Asn_J2735/src/r2024/DYearMonth.c new file mode 100644 index 000000000..700906dd0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DYearMonth.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DYearMonth.h" + +static asn_TYPE_member_t asn_MBR_DYearMonth_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DYearMonth, year), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "year" + }, + { ATF_NOFLAGS, 0, offsetof(struct DYearMonth, month), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DMonth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "month" + }, +}; +static const ber_tlv_tag_t asn_DEF_DYearMonth_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DYearMonth_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* year */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* month */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_DYearMonth_specs_1 = { + sizeof(struct DYearMonth), + offsetof(struct DYearMonth, _asn_ctx), + asn_MAP_DYearMonth_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DYearMonth = { + "DYearMonth", + "DYearMonth", + &asn_OP_SEQUENCE, + asn_DEF_DYearMonth_tags_1, + sizeof(asn_DEF_DYearMonth_tags_1) + /sizeof(asn_DEF_DYearMonth_tags_1[0]), /* 1 */ + asn_DEF_DYearMonth_tags_1, /* Same as above */ + sizeof(asn_DEF_DYearMonth_tags_1) + /sizeof(asn_DEF_DYearMonth_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DYearMonth_1, + 2, /* Elements count */ + &asn_SPC_DYearMonth_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DYearMonth.h b/src/tmx/Asn_J2735/src/r2024/DYearMonth.h deleted file mode 100644 index ae01fe046..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DYearMonth.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DYearMonth_H_ -#define _DYearMonth_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DYear.h" -#include "DMonth.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DYearMonth */ -typedef struct DYearMonth { - DYear_t year; - DMonth_t month; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DYearMonth_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DYearMonth; - -#ifdef __cplusplus -} -#endif - -#endif /* _DYearMonth_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DataParameters.c b/src/tmx/Asn_J2735/src/r2024/DataParameters.c new file mode 100644 index 000000000..1c416af3d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DataParameters.c @@ -0,0 +1,330 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DataParameters.h" + +static int check_permitted_alphabet_2(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +static int check_permitted_alphabet_3(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +static int check_permitted_alphabet_4(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +static int check_permitted_alphabet_5(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +static int +memb_processMethod_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 255UL) + && !check_permitted_alphabet_2(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_processAgency_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 255UL) + && !check_permitted_alphabet_3(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_lastCheckedDate_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 255UL) + && !check_permitted_alphabet_4(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_geoidUsed_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 255UL) + && !check_permitted_alphabet_5(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_processMethod_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..255)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_processMethod_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_processAgency_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..255)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_processAgency_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_lastCheckedDate_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..255)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_lastCheckedDate_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_geoidUsed_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..255)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_geoidUsed_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_DataParameters_1[] = { + { ATF_POINTER, 4, offsetof(struct DataParameters, processMethod), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_processMethod_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_processMethod_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_processMethod_constraint_1 + }, + 0, 0, /* No default value */ + "processMethod" + }, + { ATF_POINTER, 3, offsetof(struct DataParameters, processAgency), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_processAgency_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_processAgency_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_processAgency_constraint_1 + }, + 0, 0, /* No default value */ + "processAgency" + }, + { ATF_POINTER, 2, offsetof(struct DataParameters, lastCheckedDate), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_lastCheckedDate_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_lastCheckedDate_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_lastCheckedDate_constraint_1 + }, + 0, 0, /* No default value */ + "lastCheckedDate" + }, + { ATF_POINTER, 1, offsetof(struct DataParameters, geoidUsed), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_geoidUsed_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_geoidUsed_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_geoidUsed_constraint_1 + }, + 0, 0, /* No default value */ + "geoidUsed" + }, +}; +static const int asn_MAP_DataParameters_oms_1[] = { 0, 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_DataParameters_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DataParameters_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* processMethod */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* processAgency */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* lastCheckedDate */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* geoidUsed */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DataParameters_specs_1 = { + sizeof(struct DataParameters), + offsetof(struct DataParameters, _asn_ctx), + asn_MAP_DataParameters_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_DataParameters_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DataParameters = { + "DataParameters", + "DataParameters", + &asn_OP_SEQUENCE, + asn_DEF_DataParameters_tags_1, + sizeof(asn_DEF_DataParameters_tags_1) + /sizeof(asn_DEF_DataParameters_tags_1[0]), /* 1 */ + asn_DEF_DataParameters_tags_1, /* Same as above */ + sizeof(asn_DEF_DataParameters_tags_1) + /sizeof(asn_DEF_DataParameters_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DataParameters_1, + 4, /* Elements count */ + &asn_SPC_DataParameters_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DataParameters.h b/src/tmx/Asn_J2735/src/r2024/DataParameters.h deleted file mode 100644 index 94c7e66ab..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DataParameters.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DataParameters_H_ -#define _DataParameters_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IA5String.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DataParameters */ -typedef struct DataParameters { - IA5String_t *processMethod; /* OPTIONAL */ - IA5String_t *processAgency; /* OPTIONAL */ - IA5String_t *lastCheckedDate; /* OPTIONAL */ - IA5String_t *geoidUsed; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DataParameters_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DataParameters; -extern asn_SEQUENCE_specifics_t asn_SPC_DataParameters_specs_1; -extern asn_TYPE_member_t asn_MBR_DataParameters_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _DataParameters_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DataSourceInfo.c b/src/tmx/Asn_J2735/src/r2024/DataSourceInfo.c new file mode 100644 index 000000000..bffa2cb75 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DataSourceInfo.c @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DataSourceInfo.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DataSourceInfo_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DataSourceInfo_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_DataSourceInfo_value2enum_1[] = { + { 0, 8, "measured" }, + { 1, 7, "derived" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_DataSourceInfo_enum2value_1[] = { + 1, /* derived(1) */ + 0 /* measured(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_DataSourceInfo_specs_1 = { + asn_MAP_DataSourceInfo_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_DataSourceInfo_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_DataSourceInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DataSourceInfo = { + "DataSourceInfo", + "DataSourceInfo", + &asn_OP_NativeEnumerated, + asn_DEF_DataSourceInfo_tags_1, + sizeof(asn_DEF_DataSourceInfo_tags_1) + /sizeof(asn_DEF_DataSourceInfo_tags_1[0]), /* 1 */ + asn_DEF_DataSourceInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_DataSourceInfo_tags_1) + /sizeof(asn_DEF_DataSourceInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DataSourceInfo_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DataSourceInfo_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_DataSourceInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DataSourceInfo.h b/src/tmx/Asn_J2735/src/r2024/DataSourceInfo.h deleted file mode 100644 index e4ad7b205..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DataSourceInfo.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DataSourceInfo_H_ -#define _DataSourceInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum DataSourceInfo { - DataSourceInfo_measured = 0, - DataSourceInfo_derived = 1 - /* - * Enumeration is extensible - */ -} e_DataSourceInfo; - -/* DataSourceInfo */ -typedef long DataSourceInfo_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DataSourceInfo_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DataSourceInfo; -extern const asn_INTEGER_specifics_t asn_SPC_DataSourceInfo_specs_1; -asn_struct_free_f DataSourceInfo_free; -asn_struct_print_f DataSourceInfo_print; -asn_constr_check_f DataSourceInfo_constraint; -ber_type_decoder_f DataSourceInfo_decode_ber; -der_type_encoder_f DataSourceInfo_encode_der; -xer_type_decoder_f DataSourceInfo_decode_xer; -xer_type_encoder_f DataSourceInfo_encode_xer; -oer_type_decoder_f DataSourceInfo_decode_oer; -oer_type_encoder_f DataSourceInfo_encode_oer; -per_type_decoder_f DataSourceInfo_decode_uper; -per_type_encoder_f DataSourceInfo_encode_uper; -per_type_decoder_f DataSourceInfo_decode_aper; -per_type_encoder_f DataSourceInfo_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DataSourceInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DateAndTime.c b/src/tmx/Asn_J2735/src/r2024/DateAndTime.c new file mode 100644 index 000000000..2f6369b34 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DateAndTime.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DateAndTime.h" + +asn_TYPE_member_t asn_MBR_DateAndTime_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DateAndTime, timeDate), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DateCompact, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeDate" + }, + { ATF_NOFLAGS, 0, offsetof(struct DateAndTime, timeCompact), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeCompact, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeCompact" + }, +}; +static const ber_tlv_tag_t asn_DEF_DateAndTime_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DateAndTime_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeDate */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* timeCompact */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DateAndTime_specs_1 = { + sizeof(struct DateAndTime), + offsetof(struct DateAndTime, _asn_ctx), + asn_MAP_DateAndTime_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DateAndTime = { + "DateAndTime", + "DateAndTime", + &asn_OP_SEQUENCE, + asn_DEF_DateAndTime_tags_1, + sizeof(asn_DEF_DateAndTime_tags_1) + /sizeof(asn_DEF_DateAndTime_tags_1[0]), /* 1 */ + asn_DEF_DateAndTime_tags_1, /* Same as above */ + sizeof(asn_DEF_DateAndTime_tags_1) + /sizeof(asn_DEF_DateAndTime_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DateAndTime_1, + 2, /* Elements count */ + &asn_SPC_DateAndTime_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DateAndTime.h b/src/tmx/Asn_J2735/src/r2024/DateAndTime.h deleted file mode 100644 index 68e3c1fc7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DateAndTime.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DateAndTime_H_ -#define _DateAndTime_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DateCompact.h" -#include "TimeCompact.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DateAndTime */ -typedef struct DateAndTime { - DateCompact_t timeDate; - TimeCompact_t timeCompact; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DateAndTime_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DateAndTime; -extern asn_SEQUENCE_specifics_t asn_SPC_DateAndTime_specs_1; -extern asn_TYPE_member_t asn_MBR_DateAndTime_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _DateAndTime_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DateCompact.c b/src/tmx/Asn_J2735/src/r2024/DateCompact.c new file mode 100644 index 000000000..281c568a4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DateCompact.c @@ -0,0 +1,213 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DateCompact.h" + +static int +memb_year_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1990L && value <= 2117L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_month_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 12L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_day_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 31L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_year_constr_2 CC_NOTUSED = { + { 2, 1 } /* (1990..2117) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_year_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1990, 2117 } /* (1990..2117) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_month_constr_3 CC_NOTUSED = { + { 1, 1 } /* (1..12) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_month_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 1, 12 } /* (1..12) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_day_constr_4 CC_NOTUSED = { + { 1, 1 } /* (1..31) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_day_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 1, 31 } /* (1..31) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_DateCompact_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DateCompact, year), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_year_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_year_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_year_constraint_1 + }, + 0, 0, /* No default value */ + "year" + }, + { ATF_NOFLAGS, 0, offsetof(struct DateCompact, month), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_month_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_month_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_month_constraint_1 + }, + 0, 0, /* No default value */ + "month" + }, + { ATF_NOFLAGS, 0, offsetof(struct DateCompact, day), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_day_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_day_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_day_constraint_1 + }, + 0, 0, /* No default value */ + "day" + }, +}; +static const ber_tlv_tag_t asn_DEF_DateCompact_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DateCompact_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* year */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* month */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* day */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DateCompact_specs_1 = { + sizeof(struct DateCompact), + offsetof(struct DateCompact, _asn_ctx), + asn_MAP_DateCompact_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DateCompact = { + "DateCompact", + "DateCompact", + &asn_OP_SEQUENCE, + asn_DEF_DateCompact_tags_1, + sizeof(asn_DEF_DateCompact_tags_1) + /sizeof(asn_DEF_DateCompact_tags_1[0]), /* 1 */ + asn_DEF_DateCompact_tags_1, /* Same as above */ + sizeof(asn_DEF_DateCompact_tags_1) + /sizeof(asn_DEF_DateCompact_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DateCompact_1, + 3, /* Elements count */ + &asn_SPC_DateCompact_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DateCompact.h b/src/tmx/Asn_J2735/src/r2024/DateCompact.h deleted file mode 100644 index 79abf7a56..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DateCompact.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DateCompact_H_ -#define _DateCompact_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DateCompact */ -typedef struct DateCompact { - long year; - long month; - long day; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DateCompact_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DateCompact; -extern asn_SEQUENCE_specifics_t asn_SPC_DateCompact_specs_1; -extern asn_TYPE_member_t asn_MBR_DateCompact_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _DateCompact_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Day.c b/src/tmx/Asn_J2735/src/r2024/Day.c new file mode 100644 index 000000000..973578f12 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Day.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Day.h" + +int +Day_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Day_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Day_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Day_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Day = { + "Day", + "Day", + &asn_OP_NativeInteger, + asn_DEF_Day_tags_1, + sizeof(asn_DEF_Day_tags_1) + /sizeof(asn_DEF_Day_tags_1[0]), /* 1 */ + asn_DEF_Day_tags_1, /* Same as above */ + sizeof(asn_DEF_Day_tags_1) + /sizeof(asn_DEF_Day_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Day_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Day_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Day_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Day.h b/src/tmx/Asn_J2735/src/r2024/Day.h deleted file mode 100644 index a0d8d3410..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Day.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Day_H_ -#define _Day_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Day */ -typedef long Day_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Day_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Day; -asn_struct_free_f Day_free; -asn_struct_print_f Day_print; -asn_constr_check_f Day_constraint; -ber_type_decoder_f Day_decode_ber; -der_type_encoder_f Day_encode_der; -xer_type_decoder_f Day_decode_xer; -xer_type_encoder_f Day_encode_xer; -oer_type_decoder_f Day_decode_oer; -oer_type_encoder_f Day_encode_oer; -per_type_decoder_f Day_decode_uper; -per_type_encoder_f Day_encode_uper; -per_type_decoder_f Day_decode_aper; -per_type_encoder_f Day_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Day_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DayOfWeek.c b/src/tmx/Asn_J2735/src/r2024/DayOfWeek.c new file mode 100644 index 000000000..05f836c69 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DayOfWeek.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DayOfWeek.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DayOfWeek_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DayOfWeek_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_DayOfWeek_value2enum_1[] = { + { 0, 7, "unknown" }, + { 1, 6, "monday" }, + { 2, 7, "tuesday" }, + { 3, 9, "wednesday" }, + { 4, 8, "thursday" }, + { 5, 6, "friday" }, + { 6, 8, "saturday" }, + { 7, 6, "sunday" } +}; +static const unsigned int asn_MAP_DayOfWeek_enum2value_1[] = { + 5, /* friday(5) */ + 1, /* monday(1) */ + 6, /* saturday(6) */ + 7, /* sunday(7) */ + 4, /* thursday(4) */ + 2, /* tuesday(2) */ + 0, /* unknown(0) */ + 3 /* wednesday(3) */ +}; +const asn_INTEGER_specifics_t asn_SPC_DayOfWeek_specs_1 = { + asn_MAP_DayOfWeek_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_DayOfWeek_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_DayOfWeek_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DayOfWeek = { + "DayOfWeek", + "DayOfWeek", + &asn_OP_NativeEnumerated, + asn_DEF_DayOfWeek_tags_1, + sizeof(asn_DEF_DayOfWeek_tags_1) + /sizeof(asn_DEF_DayOfWeek_tags_1[0]), /* 1 */ + asn_DEF_DayOfWeek_tags_1, /* Same as above */ + sizeof(asn_DEF_DayOfWeek_tags_1) + /sizeof(asn_DEF_DayOfWeek_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DayOfWeek_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DayOfWeek_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_DayOfWeek_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DayOfWeek.h b/src/tmx/Asn_J2735/src/r2024/DayOfWeek.h deleted file mode 100644 index c14c6dc73..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DayOfWeek.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DayOfWeek_H_ -#define _DayOfWeek_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum DayOfWeek { - DayOfWeek_unknown = 0, - DayOfWeek_monday = 1, - DayOfWeek_tuesday = 2, - DayOfWeek_wednesday = 3, - DayOfWeek_thursday = 4, - DayOfWeek_friday = 5, - DayOfWeek_saturday = 6, - DayOfWeek_sunday = 7 -} e_DayOfWeek; - -/* DayOfWeek */ -typedef long DayOfWeek_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DayOfWeek_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DayOfWeek; -extern const asn_INTEGER_specifics_t asn_SPC_DayOfWeek_specs_1; -asn_struct_free_f DayOfWeek_free; -asn_struct_print_f DayOfWeek_print; -asn_constr_check_f DayOfWeek_constraint; -ber_type_decoder_f DayOfWeek_decode_ber; -der_type_encoder_f DayOfWeek_encode_der; -xer_type_decoder_f DayOfWeek_decode_xer; -xer_type_encoder_f DayOfWeek_encode_xer; -oer_type_decoder_f DayOfWeek_decode_oer; -oer_type_encoder_f DayOfWeek_encode_oer; -per_type_decoder_f DayOfWeek_decode_uper; -per_type_encoder_f DayOfWeek_encode_uper; -per_type_decoder_f DayOfWeek_decode_aper; -per_type_encoder_f DayOfWeek_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DayOfWeek_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DegreesLat.c b/src/tmx/Asn_J2735/src/r2024/DegreesLat.c new file mode 100644 index 000000000..107842c79 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DegreesLat.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DegreesLat.h" + +int +DegreesLat_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -90L && value <= 90L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DegreesLat_constr_1 CC_NOTUSED = { + { 1, 0 } /* (-90..90) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DegreesLat_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -90, 90 } /* (-90..90) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DegreesLat_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DegreesLat = { + "DegreesLat", + "DegreesLat", + &asn_OP_NativeInteger, + asn_DEF_DegreesLat_tags_1, + sizeof(asn_DEF_DegreesLat_tags_1) + /sizeof(asn_DEF_DegreesLat_tags_1[0]), /* 1 */ + asn_DEF_DegreesLat_tags_1, /* Same as above */ + sizeof(asn_DEF_DegreesLat_tags_1) + /sizeof(asn_DEF_DegreesLat_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DegreesLat_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DegreesLat_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DegreesLat_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DegreesLat.h b/src/tmx/Asn_J2735/src/r2024/DegreesLat.h deleted file mode 100644 index 0b951d60d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DegreesLat.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DegreesLat_H_ -#define _DegreesLat_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DegreesLat */ -typedef long DegreesLat_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DegreesLat_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DegreesLat; -asn_struct_free_f DegreesLat_free; -asn_struct_print_f DegreesLat_print; -asn_constr_check_f DegreesLat_constraint; -ber_type_decoder_f DegreesLat_decode_ber; -der_type_encoder_f DegreesLat_encode_der; -xer_type_decoder_f DegreesLat_decode_xer; -xer_type_encoder_f DegreesLat_encode_xer; -oer_type_decoder_f DegreesLat_decode_oer; -oer_type_encoder_f DegreesLat_encode_oer; -per_type_decoder_f DegreesLat_decode_uper; -per_type_encoder_f DegreesLat_encode_uper; -per_type_decoder_f DegreesLat_decode_aper; -per_type_encoder_f DegreesLat_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DegreesLat_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DegreesLong.c b/src/tmx/Asn_J2735/src/r2024/DegreesLong.c new file mode 100644 index 000000000..64cf4d195 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DegreesLong.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DegreesLong.h" + +int +DegreesLong_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -180L && value <= 180L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DegreesLong_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-180..180) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DegreesLong_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, -180, 180 } /* (-180..180) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DegreesLong_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DegreesLong = { + "DegreesLong", + "DegreesLong", + &asn_OP_NativeInteger, + asn_DEF_DegreesLong_tags_1, + sizeof(asn_DEF_DegreesLong_tags_1) + /sizeof(asn_DEF_DegreesLong_tags_1[0]), /* 1 */ + asn_DEF_DegreesLong_tags_1, /* Same as above */ + sizeof(asn_DEF_DegreesLong_tags_1) + /sizeof(asn_DEF_DegreesLong_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DegreesLong_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DegreesLong_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DegreesLong_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DegreesLong.h b/src/tmx/Asn_J2735/src/r2024/DegreesLong.h deleted file mode 100644 index 7a170d203..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DegreesLong.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DegreesLong_H_ -#define _DegreesLong_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DegreesLong */ -typedef long DegreesLong_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DegreesLong_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DegreesLong; -asn_struct_free_f DegreesLong_free; -asn_struct_print_f DegreesLong_print; -asn_constr_check_f DegreesLong_constraint; -ber_type_decoder_f DegreesLong_decode_ber; -der_type_encoder_f DegreesLong_encode_der; -xer_type_decoder_f DegreesLong_decode_xer; -xer_type_encoder_f DegreesLong_encode_xer; -oer_type_decoder_f DegreesLong_decode_oer; -oer_type_encoder_f DegreesLong_encode_oer; -per_type_decoder_f DegreesLong_decode_uper; -per_type_encoder_f DegreesLong_encode_uper; -per_type_decoder_f DegreesLong_decode_aper; -per_type_encoder_f DegreesLong_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DegreesLong_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DelayStatusCancellation.c b/src/tmx/Asn_J2735/src/r2024/DelayStatusCancellation.c new file mode 100644 index 000000000..3c9c140e4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DelayStatusCancellation.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DelayStatusCancellation.h" + +int +DelayStatusCancellation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DelayStatusCancellation_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DelayStatusCancellation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DelayStatusCancellation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DelayStatusCancellation = { + "DelayStatusCancellation", + "DelayStatusCancellation", + &asn_OP_NativeInteger, + asn_DEF_DelayStatusCancellation_tags_1, + sizeof(asn_DEF_DelayStatusCancellation_tags_1) + /sizeof(asn_DEF_DelayStatusCancellation_tags_1[0]), /* 1 */ + asn_DEF_DelayStatusCancellation_tags_1, /* Same as above */ + sizeof(asn_DEF_DelayStatusCancellation_tags_1) + /sizeof(asn_DEF_DelayStatusCancellation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DelayStatusCancellation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DelayStatusCancellation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DelayStatusCancellation_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DelayStatusCancellation.h b/src/tmx/Asn_J2735/src/r2024/DelayStatusCancellation.h deleted file mode 100644 index f19c6bbd4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DelayStatusCancellation.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DelayStatusCancellation_H_ -#define _DelayStatusCancellation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum DelayStatusCancellation { - DelayStatusCancellation_delays = 1537, - DelayStatusCancellation_short_delays = 1538, - DelayStatusCancellation_long_delays = 1539, - DelayStatusCancellation_very_long_delays = 1540, - DelayStatusCancellation_delays_of_uncertain_duration = 1541, - DelayStatusCancellation_delayed_until_further_notice = 1542, - DelayStatusCancellation_busy = 1543, - DelayStatusCancellation_very_busy = 1544, - DelayStatusCancellation_crowded = 1545, - DelayStatusCancellation_overcrowded = 1546, - DelayStatusCancellation_cancellations = 1547, - DelayStatusCancellation_route_canceled_and_no_replacement = 1548, - DelayStatusCancellation_service_canceled = 1549, - DelayStatusCancellation_service_suspended = 1550, - DelayStatusCancellation_service_withdrawn = 1551, - DelayStatusCancellation_service_fully_booked = 1552, - DelayStatusCancellation_all_services_fully_booked = 1553, - DelayStatusCancellation_next_departure = 1554, - DelayStatusCancellation_next_arrival = 1555, - DelayStatusCancellation_very_frequent_service = 1556, - DelayStatusCancellation_frequent_service = 1557, - DelayStatusCancellation_fairly_frequent_service = 1558, - DelayStatusCancellation_regular_service = 1559, - DelayStatusCancellation_irregular_service = 1560, - DelayStatusCancellation_not_operating = 1561, - DelayStatusCancellation_system_busy = 1562, - DelayStatusCancellation_system_very_busy = 1563, - DelayStatusCancellation_system_crowded = 1564, - DelayStatusCancellation_system_overcrowded = 1565, - DelayStatusCancellation_deleted_travel_time = 1566, - DelayStatusCancellation_headway = 1567, - DelayStatusCancellation_extra_services_in_operation = 1568, - DelayStatusCancellation_delays_clearing = 1660, - DelayStatusCancellation_delays_cleared = 1661, - DelayStatusCancellation_normal_services_resumed = 1662, - DelayStatusCancellation_operating = 1663 -} e_DelayStatusCancellation; - -/* DelayStatusCancellation */ -typedef long DelayStatusCancellation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DelayStatusCancellation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DelayStatusCancellation; -asn_struct_free_f DelayStatusCancellation_free; -asn_struct_print_f DelayStatusCancellation_print; -asn_constr_check_f DelayStatusCancellation_constraint; -ber_type_decoder_f DelayStatusCancellation_decode_ber; -der_type_encoder_f DelayStatusCancellation_encode_der; -xer_type_decoder_f DelayStatusCancellation_decode_xer; -xer_type_encoder_f DelayStatusCancellation_encode_xer; -oer_type_decoder_f DelayStatusCancellation_decode_oer; -oer_type_encoder_f DelayStatusCancellation_encode_oer; -per_type_decoder_f DelayStatusCancellation_decode_uper; -per_type_encoder_f DelayStatusCancellation_encode_uper; -per_type_decoder_f DelayStatusCancellation_decode_aper; -per_type_encoder_f DelayStatusCancellation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DelayStatusCancellation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DeltaAngle.c b/src/tmx/Asn_J2735/src/r2024/DeltaAngle.c new file mode 100644 index 000000000..49002f187 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DeltaAngle.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DeltaAngle.h" + +int +DeltaAngle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -150L && value <= 150L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DeltaAngle_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-150..150) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DeltaAngle_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, -150, 150 } /* (-150..150) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DeltaAngle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DeltaAngle = { + "DeltaAngle", + "DeltaAngle", + &asn_OP_NativeInteger, + asn_DEF_DeltaAngle_tags_1, + sizeof(asn_DEF_DeltaAngle_tags_1) + /sizeof(asn_DEF_DeltaAngle_tags_1[0]), /* 1 */ + asn_DEF_DeltaAngle_tags_1, /* Same as above */ + sizeof(asn_DEF_DeltaAngle_tags_1) + /sizeof(asn_DEF_DeltaAngle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DeltaAngle_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DeltaAngle_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DeltaAngle_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DeltaAngle.h b/src/tmx/Asn_J2735/src/r2024/DeltaAngle.h deleted file mode 100644 index e2d11096f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DeltaAngle.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DeltaAngle_H_ -#define _DeltaAngle_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DeltaAngle */ -typedef long DeltaAngle_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DeltaAngle_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DeltaAngle; -asn_struct_free_f DeltaAngle_free; -asn_struct_print_f DeltaAngle_print; -asn_constr_check_f DeltaAngle_constraint; -ber_type_decoder_f DeltaAngle_decode_ber; -der_type_encoder_f DeltaAngle_encode_der; -xer_type_decoder_f DeltaAngle_decode_xer; -xer_type_encoder_f DeltaAngle_encode_xer; -oer_type_decoder_f DeltaAngle_decode_oer; -oer_type_encoder_f DeltaAngle_encode_oer; -per_type_decoder_f DeltaAngle_decode_uper; -per_type_encoder_f DeltaAngle_encode_uper; -per_type_decoder_f DeltaAngle_decode_aper; -per_type_encoder_f DeltaAngle_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DeltaAngle_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DeltaTime.c b/src/tmx/Asn_J2735/src/r2024/DeltaTime.c new file mode 100644 index 000000000..9ca7b2427 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DeltaTime.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalRequestMessage" + * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DeltaTime.h" + +int +DeltaTime_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -122L && value <= 121L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DeltaTime_constr_1 CC_NOTUSED = { + { 1, 0 } /* (-122..121) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DeltaTime_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -122, 121 } /* (-122..121) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DeltaTime_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DeltaTime = { + "DeltaTime", + "DeltaTime", + &asn_OP_NativeInteger, + asn_DEF_DeltaTime_tags_1, + sizeof(asn_DEF_DeltaTime_tags_1) + /sizeof(asn_DEF_DeltaTime_tags_1[0]), /* 1 */ + asn_DEF_DeltaTime_tags_1, /* Same as above */ + sizeof(asn_DEF_DeltaTime_tags_1) + /sizeof(asn_DEF_DeltaTime_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DeltaTime_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DeltaTime_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DeltaTime_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DeltaTime.h b/src/tmx/Asn_J2735/src/r2024/DeltaTime.h deleted file mode 100644 index 16c5e5c40..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DeltaTime.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalRequestMessage" - * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DeltaTime_H_ -#define _DeltaTime_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DeltaTime */ -typedef long DeltaTime_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DeltaTime_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DeltaTime; -asn_struct_free_f DeltaTime_free; -asn_struct_print_f DeltaTime_print; -asn_constr_check_f DeltaTime_constraint; -ber_type_decoder_f DeltaTime_decode_ber; -der_type_encoder_f DeltaTime_encode_der; -xer_type_decoder_f DeltaTime_decode_xer; -xer_type_encoder_f DeltaTime_encode_xer; -oer_type_decoder_f DeltaTime_decode_oer; -oer_type_encoder_f DeltaTime_encode_oer; -per_type_decoder_f DeltaTime_decode_uper; -per_type_encoder_f DeltaTime_encode_uper; -per_type_decoder_f DeltaTime_decode_aper; -per_type_encoder_f DeltaTime_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DeltaTime_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DescriptionOfRoadSurface.c b/src/tmx/Asn_J2735/src/r2024/DescriptionOfRoadSurface.c new file mode 100644 index 000000000..4eb0b69f2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DescriptionOfRoadSurface.c @@ -0,0 +1,201 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DescriptionOfRoadSurface.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DescriptionOfRoadSurface_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DescriptionOfRoadSurface_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_DescriptionOfRoadSurface_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DescriptionOfRoadSurface, choice.portlandCement), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PortlandCement, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "portlandCement" + }, + { ATF_NOFLAGS, 0, offsetof(struct DescriptionOfRoadSurface, choice.asphaltOrTar), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AsphaltOrTar, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "asphaltOrTar" + }, + { ATF_NOFLAGS, 0, offsetof(struct DescriptionOfRoadSurface, choice.gravel), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Gravel, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "gravel" + }, + { ATF_NOFLAGS, 0, offsetof(struct DescriptionOfRoadSurface, choice.grass), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Grass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "grass" + }, + { ATF_NOFLAGS, 0, offsetof(struct DescriptionOfRoadSurface, choice.cinders), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Cinders, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "cinders" + }, + { ATF_NOFLAGS, 0, offsetof(struct DescriptionOfRoadSurface, choice.rock), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Rock, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rock" + }, + { ATF_NOFLAGS, 0, offsetof(struct DescriptionOfRoadSurface, choice.ice), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Ice, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ice" + }, + { ATF_NOFLAGS, 0, offsetof(struct DescriptionOfRoadSurface, choice.snow), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Snow, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "snow" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_DescriptionOfRoadSurface_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* portlandCement */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* asphaltOrTar */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* gravel */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* grass */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* cinders */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* rock */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* ice */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* snow */ +}; +asn_CHOICE_specifics_t asn_SPC_DescriptionOfRoadSurface_specs_1 = { + sizeof(struct DescriptionOfRoadSurface), + offsetof(struct DescriptionOfRoadSurface, _asn_ctx), + offsetof(struct DescriptionOfRoadSurface, present), + sizeof(((struct DescriptionOfRoadSurface *)0)->present), + asn_MAP_DescriptionOfRoadSurface_tag2el_1, + 8, /* Count of tags in the map */ + 0, 0, + 8 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_DescriptionOfRoadSurface = { + "DescriptionOfRoadSurface", + "DescriptionOfRoadSurface", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DescriptionOfRoadSurface_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DescriptionOfRoadSurface_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_DescriptionOfRoadSurface_1, + 8, /* Elements count */ + &asn_SPC_DescriptionOfRoadSurface_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DescriptionOfRoadSurface.h b/src/tmx/Asn_J2735/src/r2024/DescriptionOfRoadSurface.h deleted file mode 100644 index c7295496b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DescriptionOfRoadSurface.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DescriptionOfRoadSurface_H_ -#define _DescriptionOfRoadSurface_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "PortlandCement.h" -#include "AsphaltOrTar.h" -#include "Gravel.h" -#include "Grass.h" -#include "Cinders.h" -#include "Rock.h" -#include "Ice.h" -#include "Snow.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum DescriptionOfRoadSurface_PR { - DescriptionOfRoadSurface_PR_NOTHING, /* No components present */ - DescriptionOfRoadSurface_PR_portlandCement, - DescriptionOfRoadSurface_PR_asphaltOrTar, - DescriptionOfRoadSurface_PR_gravel, - DescriptionOfRoadSurface_PR_grass, - DescriptionOfRoadSurface_PR_cinders, - DescriptionOfRoadSurface_PR_rock, - DescriptionOfRoadSurface_PR_ice, - DescriptionOfRoadSurface_PR_snow - /* Extensions may appear below */ - -} DescriptionOfRoadSurface_PR; - -/* DescriptionOfRoadSurface */ -typedef struct DescriptionOfRoadSurface { - DescriptionOfRoadSurface_PR present; - union DescriptionOfRoadSurface_u { - PortlandCement_t portlandCement; - AsphaltOrTar_t asphaltOrTar; - Gravel_t gravel; - Grass_t grass; - Cinders_t cinders; - Rock_t rock; - Ice_t ice; - Snow_t snow; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DescriptionOfRoadSurface_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DescriptionOfRoadSurface; -extern asn_CHOICE_specifics_t asn_SPC_DescriptionOfRoadSurface_specs_1; -extern asn_TYPE_member_t asn_MBR_DescriptionOfRoadSurface_1[8]; -extern asn_per_constraints_t asn_PER_type_DescriptionOfRoadSurface_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _DescriptionOfRoadSurface_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DescriptiveCharacteristics.c b/src/tmx/Asn_J2735/src/r2024/DescriptiveCharacteristics.c new file mode 100644 index 000000000..dd7892b0e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DescriptiveCharacteristics.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DescriptiveCharacteristics.h" + +int +DescriptiveCharacteristics_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DescriptiveCharacteristics_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DescriptiveCharacteristics_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DescriptiveCharacteristics_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DescriptiveCharacteristics = { + "DescriptiveCharacteristics", + "DescriptiveCharacteristics", + &asn_OP_NativeInteger, + asn_DEF_DescriptiveCharacteristics_tags_1, + sizeof(asn_DEF_DescriptiveCharacteristics_tags_1) + /sizeof(asn_DEF_DescriptiveCharacteristics_tags_1[0]), /* 1 */ + asn_DEF_DescriptiveCharacteristics_tags_1, /* Same as above */ + sizeof(asn_DEF_DescriptiveCharacteristics_tags_1) + /sizeof(asn_DEF_DescriptiveCharacteristics_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DescriptiveCharacteristics_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DescriptiveCharacteristics_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DescriptiveCharacteristics_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DescriptiveCharacteristics.h b/src/tmx/Asn_J2735/src/r2024/DescriptiveCharacteristics.h deleted file mode 100644 index e3876626c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DescriptiveCharacteristics.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DescriptiveCharacteristics_H_ -#define _DescriptiveCharacteristics_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum DescriptiveCharacteristics { - DescriptiveCharacteristics_noEntry = 0 -} e_DescriptiveCharacteristics; - -/* DescriptiveCharacteristics */ -typedef long DescriptiveCharacteristics_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DescriptiveCharacteristics_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DescriptiveCharacteristics; -asn_struct_free_f DescriptiveCharacteristics_free; -asn_struct_print_f DescriptiveCharacteristics_print; -asn_constr_check_f DescriptiveCharacteristics_constraint; -ber_type_decoder_f DescriptiveCharacteristics_decode_ber; -der_type_encoder_f DescriptiveCharacteristics_encode_der; -xer_type_decoder_f DescriptiveCharacteristics_decode_xer; -xer_type_encoder_f DescriptiveCharacteristics_encode_xer; -oer_type_decoder_f DescriptiveCharacteristics_decode_oer; -oer_type_encoder_f DescriptiveCharacteristics_encode_oer; -per_type_decoder_f DescriptiveCharacteristics_decode_uper; -per_type_encoder_f DescriptiveCharacteristics_encode_uper; -per_type_decoder_f DescriptiveCharacteristics_decode_aper; -per_type_encoder_f DescriptiveCharacteristics_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DescriptiveCharacteristics_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DescriptiveName.c b/src/tmx/Asn_J2735/src/r2024/DescriptiveName.c new file mode 100644 index 000000000..a6f4e6f61 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DescriptiveName.c @@ -0,0 +1,91 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DescriptiveName.h" + +static int check_permitted_alphabet_1(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +int +DescriptiveName_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 63UL) + && !check_permitted_alphabet_1(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using IA5String, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DescriptiveName_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..63)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DescriptiveName_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 6, 6, 1, 63 } /* (SIZE(1..63)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DescriptiveName_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DescriptiveName = { + "DescriptiveName", + "DescriptiveName", + &asn_OP_IA5String, + asn_DEF_DescriptiveName_tags_1, + sizeof(asn_DEF_DescriptiveName_tags_1) + /sizeof(asn_DEF_DescriptiveName_tags_1[0]), /* 1 */ + asn_DEF_DescriptiveName_tags_1, /* Same as above */ + sizeof(asn_DEF_DescriptiveName_tags_1) + /sizeof(asn_DEF_DescriptiveName_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DescriptiveName_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DescriptiveName_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DescriptiveName_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DescriptiveName.h b/src/tmx/Asn_J2735/src/r2024/DescriptiveName.h deleted file mode 100644 index 316b8308f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DescriptiveName.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DescriptiveName_H_ -#define _DescriptiveName_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IA5String.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DescriptiveName */ -typedef IA5String_t DescriptiveName_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DescriptiveName_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DescriptiveName; -asn_struct_free_f DescriptiveName_free; -asn_struct_print_f DescriptiveName_print; -asn_constr_check_f DescriptiveName_constraint; -ber_type_decoder_f DescriptiveName_decode_ber; -der_type_encoder_f DescriptiveName_encode_der; -xer_type_decoder_f DescriptiveName_decode_xer; -xer_type_encoder_f DescriptiveName_encode_xer; -oer_type_decoder_f DescriptiveName_decode_oer; -oer_type_encoder_f DescriptiveName_encode_oer; -per_type_decoder_f DescriptiveName_decode_uper; -per_type_encoder_f DescriptiveName_encode_uper; -per_type_decoder_f DescriptiveName_decode_aper; -per_type_encoder_f DescriptiveName_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DescriptiveName_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedChargeObject.c b/src/tmx/Asn_J2735/src/r2024/DetectedChargeObject.c new file mode 100644 index 000000000..64038a04a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DetectedChargeObject.c @@ -0,0 +1,230 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DetectedChargeObject.h" + +static asn_TYPE_member_t asn_MBR_DetectedChargeObject_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DetectedChargeObject, chargeObjectId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ChargeObjectId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargeObjectId" + }, + { ATF_POINTER, 9, offsetof(struct DetectedChargeObject, subObjectNumber), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int4Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "subObjectNumber" + }, + { ATF_POINTER, 8, offsetof(struct DetectedChargeObject, timeWhenUsed), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GeneralizedTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeWhenUsed" + }, + { ATF_POINTER, 7, offsetof(struct DetectedChargeObject, mileageWhenUsed), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Distance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mileageWhenUsed" + }, + { ATF_POINTER, 6, offsetof(struct DetectedChargeObject, currentTariffClass), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TariffClassDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "currentTariffClass" + }, + { ATF_POINTER, 5, offsetof(struct DetectedChargeObject, vehicleDescription), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleDescription" + }, + { ATF_POINTER, 4, offsetof(struct DetectedChargeObject, obeStatus), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "obeStatus" + }, + { ATF_POINTER, 3, offsetof(struct DetectedChargeObject, feeExclVat), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "feeExclVat" + }, + { ATF_POINTER, 2, offsetof(struct DetectedChargeObject, sumVat), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sumVat" + }, + { ATF_POINTER, 1, offsetof(struct DetectedChargeObject, chargeObjDetectionMode), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DetectionMode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargeObjDetectionMode" + }, +}; +static const int asn_MAP_DetectedChargeObject_oms_1[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; +static const ber_tlv_tag_t asn_DEF_DetectedChargeObject_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DetectedChargeObject_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* chargeObjectId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* subObjectNumber */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* timeWhenUsed */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* mileageWhenUsed */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* currentTariffClass */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* vehicleDescription */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* obeStatus */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* feeExclVat */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* sumVat */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* chargeObjDetectionMode */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_DetectedChargeObject_specs_1 = { + sizeof(struct DetectedChargeObject), + offsetof(struct DetectedChargeObject, _asn_ctx), + asn_MAP_DetectedChargeObject_tag2el_1, + 10, /* Count of tags in the map */ + asn_MAP_DetectedChargeObject_oms_1, /* Optional members */ + 9, 0, /* Root/Additions */ + 10, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DetectedChargeObject = { + "DetectedChargeObject", + "DetectedChargeObject", + &asn_OP_SEQUENCE, + asn_DEF_DetectedChargeObject_tags_1, + sizeof(asn_DEF_DetectedChargeObject_tags_1) + /sizeof(asn_DEF_DetectedChargeObject_tags_1[0]), /* 1 */ + asn_DEF_DetectedChargeObject_tags_1, /* Same as above */ + sizeof(asn_DEF_DetectedChargeObject_tags_1) + /sizeof(asn_DEF_DetectedChargeObject_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DetectedChargeObject_1, + 10, /* Elements count */ + &asn_SPC_DetectedChargeObject_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedChargeObject.h b/src/tmx/Asn_J2735/src/r2024/DetectedChargeObject.h deleted file mode 100644 index a2f1ca95c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DetectedChargeObject.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DetectedChargeObject_H_ -#define _DetectedChargeObject_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ChargeObjectId.h" -#include "Int4Unsigned.h" -#include "GeneralizedTime.h" -#include "Int1Unsigned.h" -#include "DetectionMode.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Distance; -struct TariffClassDescription; -struct VehicleDescription; -struct PaymentFee; - -/* DetectedChargeObject */ -typedef struct DetectedChargeObject { - ChargeObjectId_t chargeObjectId; - Int4Unsigned_t *subObjectNumber; /* OPTIONAL */ - GeneralizedTime_t *timeWhenUsed; /* OPTIONAL */ - struct Distance *mileageWhenUsed; /* OPTIONAL */ - struct TariffClassDescription *currentTariffClass; /* OPTIONAL */ - struct VehicleDescription *vehicleDescription; /* OPTIONAL */ - Int1Unsigned_t *obeStatus; /* OPTIONAL */ - struct PaymentFee *feeExclVat; /* OPTIONAL */ - struct PaymentFee *sumVat; /* OPTIONAL */ - DetectionMode_t *chargeObjDetectionMode; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DetectedChargeObject_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DetectedChargeObject; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Distance.h" -#include "TariffClassDescription.h" -#include "VehicleDescription.h" -#include "PaymentFee.h" - -#endif /* _DetectedChargeObject_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedObjectCommonData.c b/src/tmx/Asn_J2735/src/r2024/DetectedObjectCommonData.c new file mode 100644 index 000000000..b15b82687 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DetectedObjectCommonData.c @@ -0,0 +1,374 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DetectedObjectCommonData.h" + +asn_TYPE_member_t asn_MBR_DetectedObjectCommonData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectCommonData, objType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ObjectType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "objType" + }, + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectCommonData, objTypeCfd), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ClassificationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "objTypeCfd" + }, + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectCommonData, objectID), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ObjectID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "objectID" + }, + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectCommonData, measurementTime), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MeasurementTimeOffset, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "measurementTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectCommonData, timeConfidence), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeConfidence" + }, + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectCommonData, pos), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SensorDataSharingMessage_PositionOffsetXYZ, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pos" + }, + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectCommonData, posConfidence), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionConfidenceSet, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "posConfidence" + }, + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectCommonData, speed), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Speed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed" + }, + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectCommonData, speedConfidence), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedConfidence" + }, + { ATF_POINTER, 2, offsetof(struct DetectedObjectCommonData, speedZ), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Speed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedZ" + }, + { ATF_POINTER, 1, offsetof(struct DetectedObjectCommonData, speedConfidenceZ), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedConfidenceZ" + }, + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectCommonData, heading), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Heading, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heading" + }, + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectCommonData, headingConf), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HeadingConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "headingConf" + }, + { ATF_POINTER, 5, offsetof(struct DetectedObjectCommonData, accel4way), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AccelerationSet4Way, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accel4way" + }, + { ATF_POINTER, 4, offsetof(struct DetectedObjectCommonData, accCfdX), + (ASN_TAG_CLASS_CONTEXT | (14 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AccelerationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accCfdX" + }, + { ATF_POINTER, 3, offsetof(struct DetectedObjectCommonData, accCfdY), + (ASN_TAG_CLASS_CONTEXT | (15 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AccelerationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accCfdY" + }, + { ATF_POINTER, 2, offsetof(struct DetectedObjectCommonData, accCfdZ), + (ASN_TAG_CLASS_CONTEXT | (16 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AccelerationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accCfdZ" + }, + { ATF_POINTER, 1, offsetof(struct DetectedObjectCommonData, accCfdYaw), + (ASN_TAG_CLASS_CONTEXT | (17 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_YawRateConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accCfdYaw" + }, +}; +static const int asn_MAP_DetectedObjectCommonData_oms_1[] = { 9, 10, 13, 14, 15, 16, 17 }; +static const ber_tlv_tag_t asn_DEF_DetectedObjectCommonData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DetectedObjectCommonData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* objType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* objTypeCfd */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* objectID */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* measurementTime */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* timeConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* pos */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* posConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* speed */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* speedConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* speedZ */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* speedConfidenceZ */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* heading */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* headingConf */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* accel4way */ + { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* accCfdX */ + { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* accCfdY */ + { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* accCfdZ */ + { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 } /* accCfdYaw */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DetectedObjectCommonData_specs_1 = { + sizeof(struct DetectedObjectCommonData), + offsetof(struct DetectedObjectCommonData, _asn_ctx), + asn_MAP_DetectedObjectCommonData_tag2el_1, + 18, /* Count of tags in the map */ + asn_MAP_DetectedObjectCommonData_oms_1, /* Optional members */ + 7, 0, /* Root/Additions */ + 18, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DetectedObjectCommonData = { + "DetectedObjectCommonData", + "DetectedObjectCommonData", + &asn_OP_SEQUENCE, + asn_DEF_DetectedObjectCommonData_tags_1, + sizeof(asn_DEF_DetectedObjectCommonData_tags_1) + /sizeof(asn_DEF_DetectedObjectCommonData_tags_1[0]), /* 1 */ + asn_DEF_DetectedObjectCommonData_tags_1, /* Same as above */ + sizeof(asn_DEF_DetectedObjectCommonData_tags_1) + /sizeof(asn_DEF_DetectedObjectCommonData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DetectedObjectCommonData_1, + 18, /* Elements count */ + &asn_SPC_DetectedObjectCommonData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedObjectCommonData.h b/src/tmx/Asn_J2735/src/r2024/DetectedObjectCommonData.h deleted file mode 100644 index 5ca51479b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DetectedObjectCommonData.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DetectedObjectCommonData_H_ -#define _DetectedObjectCommonData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ObjectType.h" -#include "ClassificationConfidence.h" -#include "ObjectID.h" -#include "MeasurementTimeOffset.h" -#include "TimeConfidence.h" -#include "SensorDataSharingMessage_PositionOffsetXYZ.h" -#include "PositionConfidenceSet.h" -#include "Speed.h" -#include "SpeedConfidence.h" -#include "Heading.h" -#include "HeadingConfidence.h" -#include "AccelerationConfidence.h" -#include "YawRateConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct AccelerationSet4Way; - -/* DetectedObjectCommonData */ -typedef struct DetectedObjectCommonData { - ObjectType_t objType; - ClassificationConfidence_t objTypeCfd; - ObjectID_t objectID; - MeasurementTimeOffset_t measurementTime; - TimeConfidence_t timeConfidence; - SensorDataSharingMessage_PositionOffsetXYZ_t pos; - PositionConfidenceSet_t posConfidence; - Speed_t speed; - SpeedConfidence_t speedConfidence; - Speed_t *speedZ; /* OPTIONAL */ - SpeedConfidence_t *speedConfidenceZ; /* OPTIONAL */ - Heading_t heading; - HeadingConfidence_t headingConf; - struct AccelerationSet4Way *accel4way; /* OPTIONAL */ - AccelerationConfidence_t *accCfdX; /* OPTIONAL */ - AccelerationConfidence_t *accCfdY; /* OPTIONAL */ - AccelerationConfidence_t *accCfdZ; /* OPTIONAL */ - YawRateConfidence_t *accCfdYaw; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DetectedObjectCommonData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DetectedObjectCommonData; -extern asn_SEQUENCE_specifics_t asn_SPC_DetectedObjectCommonData_specs_1; -extern asn_TYPE_member_t asn_MBR_DetectedObjectCommonData_1[18]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "AccelerationSet4Way.h" - -#endif /* _DetectedObjectCommonData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedObjectData.c b/src/tmx/Asn_J2735/src/r2024/DetectedObjectData.c new file mode 100644 index 000000000..fb40ce787 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DetectedObjectData.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DetectedObjectData.h" + +asn_TYPE_member_t asn_MBR_DetectedObjectData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectData, detObjCommon), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DetectedObjectCommonData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "detObjCommon" + }, + { ATF_POINTER, 1, offsetof(struct DetectedObjectData, detObjOptData), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_DetectedObjectOptionalData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "detObjOptData" + }, +}; +static const int asn_MAP_DetectedObjectData_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_DetectedObjectData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DetectedObjectData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* detObjCommon */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* detObjOptData */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DetectedObjectData_specs_1 = { + sizeof(struct DetectedObjectData), + offsetof(struct DetectedObjectData, _asn_ctx), + asn_MAP_DetectedObjectData_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_DetectedObjectData_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DetectedObjectData = { + "DetectedObjectData", + "DetectedObjectData", + &asn_OP_SEQUENCE, + asn_DEF_DetectedObjectData_tags_1, + sizeof(asn_DEF_DetectedObjectData_tags_1) + /sizeof(asn_DEF_DetectedObjectData_tags_1[0]), /* 1 */ + asn_DEF_DetectedObjectData_tags_1, /* Same as above */ + sizeof(asn_DEF_DetectedObjectData_tags_1) + /sizeof(asn_DEF_DetectedObjectData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DetectedObjectData_1, + 2, /* Elements count */ + &asn_SPC_DetectedObjectData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedObjectData.h b/src/tmx/Asn_J2735/src/r2024/DetectedObjectData.h deleted file mode 100644 index 1e191b9f6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DetectedObjectData.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DetectedObjectData_H_ -#define _DetectedObjectData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DetectedObjectCommonData.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct DetectedObjectOptionalData; - -/* DetectedObjectData */ -typedef struct DetectedObjectData { - DetectedObjectCommonData_t detObjCommon; - struct DetectedObjectOptionalData *detObjOptData; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DetectedObjectData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DetectedObjectData; -extern asn_SEQUENCE_specifics_t asn_SPC_DetectedObjectData_specs_1; -extern asn_TYPE_member_t asn_MBR_DetectedObjectData_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "DetectedObjectOptionalData.h" - -#endif /* _DetectedObjectData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedObjectList.c b/src/tmx/Asn_J2735/src/r2024/DetectedObjectList.c new file mode 100644 index 000000000..39c7c8e59 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DetectedObjectList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DetectedObjectList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DetectedObjectList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..256)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DetectedObjectList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 256 } /* (SIZE(1..256)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_DetectedObjectList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_DetectedObjectData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_DetectedObjectList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_DetectedObjectList_specs_1 = { + sizeof(struct DetectedObjectList), + offsetof(struct DetectedObjectList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_DetectedObjectList = { + "DetectedObjectList", + "DetectedObjectList", + &asn_OP_SEQUENCE_OF, + asn_DEF_DetectedObjectList_tags_1, + sizeof(asn_DEF_DetectedObjectList_tags_1) + /sizeof(asn_DEF_DetectedObjectList_tags_1[0]), /* 1 */ + asn_DEF_DetectedObjectList_tags_1, /* Same as above */ + sizeof(asn_DEF_DetectedObjectList_tags_1) + /sizeof(asn_DEF_DetectedObjectList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DetectedObjectList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DetectedObjectList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_DetectedObjectList_1, + 1, /* Single element */ + &asn_SPC_DetectedObjectList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedObjectList.h b/src/tmx/Asn_J2735/src/r2024/DetectedObjectList.h deleted file mode 100644 index 0ce9d097f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DetectedObjectList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DetectedObjectList_H_ -#define _DetectedObjectList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct DetectedObjectData; - -/* DetectedObjectList */ -typedef struct DetectedObjectList { - A_SEQUENCE_OF(struct DetectedObjectData) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DetectedObjectList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DetectedObjectList; -extern asn_SET_OF_specifics_t asn_SPC_DetectedObjectList_specs_1; -extern asn_TYPE_member_t asn_MBR_DetectedObjectList_1[1]; -extern asn_per_constraints_t asn_PER_type_DetectedObjectList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "DetectedObjectData.h" - -#endif /* _DetectedObjectList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedObjectOptionalData.c b/src/tmx/Asn_J2735/src/r2024/DetectedObjectOptionalData.c new file mode 100644 index 000000000..1c5eee35a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DetectedObjectOptionalData.c @@ -0,0 +1,111 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DetectedObjectOptionalData.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DetectedObjectOptionalData_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DetectedObjectOptionalData_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_DetectedObjectOptionalData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectOptionalData, choice.detVeh), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DetectedVehicleData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "detVeh" + }, + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectOptionalData, choice.detVRU), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DetectedVRUData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "detVRU" + }, + { ATF_NOFLAGS, 0, offsetof(struct DetectedObjectOptionalData, choice.detObst), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DetectedObstacleData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "detObst" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_DetectedObjectOptionalData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* detVeh */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* detVRU */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* detObst */ +}; +asn_CHOICE_specifics_t asn_SPC_DetectedObjectOptionalData_specs_1 = { + sizeof(struct DetectedObjectOptionalData), + offsetof(struct DetectedObjectOptionalData, _asn_ctx), + offsetof(struct DetectedObjectOptionalData, present), + sizeof(((struct DetectedObjectOptionalData *)0)->present), + asn_MAP_DetectedObjectOptionalData_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_DetectedObjectOptionalData = { + "DetectedObjectOptionalData", + "DetectedObjectOptionalData", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DetectedObjectOptionalData_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DetectedObjectOptionalData_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_DetectedObjectOptionalData_1, + 3, /* Elements count */ + &asn_SPC_DetectedObjectOptionalData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedObjectOptionalData.h b/src/tmx/Asn_J2735/src/r2024/DetectedObjectOptionalData.h deleted file mode 100644 index 4154a0c38..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DetectedObjectOptionalData.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DetectedObjectOptionalData_H_ -#define _DetectedObjectOptionalData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DetectedVehicleData.h" -#include "DetectedVRUData.h" -#include "DetectedObstacleData.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum DetectedObjectOptionalData_PR { - DetectedObjectOptionalData_PR_NOTHING, /* No components present */ - DetectedObjectOptionalData_PR_detVeh, - DetectedObjectOptionalData_PR_detVRU, - DetectedObjectOptionalData_PR_detObst -} DetectedObjectOptionalData_PR; - -/* DetectedObjectOptionalData */ -typedef struct DetectedObjectOptionalData { - DetectedObjectOptionalData_PR present; - union DetectedObjectOptionalData_u { - DetectedVehicleData_t detVeh; - DetectedVRUData_t detVRU; - DetectedObstacleData_t detObst; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DetectedObjectOptionalData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DetectedObjectOptionalData; -extern asn_CHOICE_specifics_t asn_SPC_DetectedObjectOptionalData_specs_1; -extern asn_TYPE_member_t asn_MBR_DetectedObjectOptionalData_1[3]; -extern asn_per_constraints_t asn_PER_type_DetectedObjectOptionalData_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _DetectedObjectOptionalData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedObstacleData.c b/src/tmx/Asn_J2735/src/r2024/DetectedObstacleData.c new file mode 100644 index 000000000..02e9b83fa --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DetectedObstacleData.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DetectedObstacleData.h" + +asn_TYPE_member_t asn_MBR_DetectedObstacleData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DetectedObstacleData, obstSize), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ObstacleSize, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "obstSize" + }, + { ATF_NOFLAGS, 0, offsetof(struct DetectedObstacleData, obstSizeConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ObstacleSizeConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "obstSizeConfidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_DetectedObstacleData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DetectedObstacleData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* obstSize */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* obstSizeConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DetectedObstacleData_specs_1 = { + sizeof(struct DetectedObstacleData), + offsetof(struct DetectedObstacleData, _asn_ctx), + asn_MAP_DetectedObstacleData_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DetectedObstacleData = { + "DetectedObstacleData", + "DetectedObstacleData", + &asn_OP_SEQUENCE, + asn_DEF_DetectedObstacleData_tags_1, + sizeof(asn_DEF_DetectedObstacleData_tags_1) + /sizeof(asn_DEF_DetectedObstacleData_tags_1[0]), /* 1 */ + asn_DEF_DetectedObstacleData_tags_1, /* Same as above */ + sizeof(asn_DEF_DetectedObstacleData_tags_1) + /sizeof(asn_DEF_DetectedObstacleData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DetectedObstacleData_1, + 2, /* Elements count */ + &asn_SPC_DetectedObstacleData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedObstacleData.h b/src/tmx/Asn_J2735/src/r2024/DetectedObstacleData.h deleted file mode 100644 index 26057a100..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DetectedObstacleData.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DetectedObstacleData_H_ -#define _DetectedObstacleData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ObstacleSize.h" -#include "ObstacleSizeConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DetectedObstacleData */ -typedef struct DetectedObstacleData { - ObstacleSize_t obstSize; - ObstacleSizeConfidence_t obstSizeConfidence; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DetectedObstacleData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DetectedObstacleData; -extern asn_SEQUENCE_specifics_t asn_SPC_DetectedObstacleData_specs_1; -extern asn_TYPE_member_t asn_MBR_DetectedObstacleData_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _DetectedObstacleData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedVRUData.c b/src/tmx/Asn_J2735/src/r2024/DetectedVRUData.c new file mode 100644 index 000000000..522dd83cc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DetectedVRUData.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DetectedVRUData.h" + +asn_TYPE_member_t asn_MBR_DetectedVRUData_1[] = { + { ATF_POINTER, 4, offsetof(struct DetectedVRUData, basicType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PersonalDeviceUserType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "basicType" + }, + { ATF_POINTER, 3, offsetof(struct DetectedVRUData, propulsion), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_PropelledInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "propulsion" + }, + { ATF_POINTER, 2, offsetof(struct DetectedVRUData, attachment), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Attachment, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "attachment" + }, + { ATF_POINTER, 1, offsetof(struct DetectedVRUData, radius), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AttachmentRadius, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "radius" + }, +}; +static const int asn_MAP_DetectedVRUData_oms_1[] = { 0, 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_DetectedVRUData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DetectedVRUData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* basicType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* propulsion */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* attachment */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* radius */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DetectedVRUData_specs_1 = { + sizeof(struct DetectedVRUData), + offsetof(struct DetectedVRUData, _asn_ctx), + asn_MAP_DetectedVRUData_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_DetectedVRUData_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DetectedVRUData = { + "DetectedVRUData", + "DetectedVRUData", + &asn_OP_SEQUENCE, + asn_DEF_DetectedVRUData_tags_1, + sizeof(asn_DEF_DetectedVRUData_tags_1) + /sizeof(asn_DEF_DetectedVRUData_tags_1[0]), /* 1 */ + asn_DEF_DetectedVRUData_tags_1, /* Same as above */ + sizeof(asn_DEF_DetectedVRUData_tags_1) + /sizeof(asn_DEF_DetectedVRUData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DetectedVRUData_1, + 4, /* Elements count */ + &asn_SPC_DetectedVRUData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedVRUData.h b/src/tmx/Asn_J2735/src/r2024/DetectedVRUData.h deleted file mode 100644 index 192fc21fa..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DetectedVRUData.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DetectedVRUData_H_ -#define _DetectedVRUData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "PersonalDeviceUserType.h" -#include "Attachment.h" -#include "AttachmentRadius.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct PropelledInformation; - -/* DetectedVRUData */ -typedef struct DetectedVRUData { - PersonalDeviceUserType_t *basicType; /* OPTIONAL */ - struct PropelledInformation *propulsion; /* OPTIONAL */ - Attachment_t *attachment; /* OPTIONAL */ - AttachmentRadius_t *radius; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DetectedVRUData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DetectedVRUData; -extern asn_SEQUENCE_specifics_t asn_SPC_DetectedVRUData_specs_1; -extern asn_TYPE_member_t asn_MBR_DetectedVRUData_1[4]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "PropelledInformation.h" - -#endif /* _DetectedVRUData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedVehicleData.c b/src/tmx/Asn_J2735/src/r2024/DetectedVehicleData.c new file mode 100644 index 000000000..3130a16d4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DetectedVehicleData.c @@ -0,0 +1,230 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DetectedVehicleData.h" + +asn_TYPE_member_t asn_MBR_DetectedVehicleData_1[] = { + { ATF_POINTER, 10, offsetof(struct DetectedVehicleData, lights), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ExteriorLights, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lights" + }, + { ATF_POINTER, 9, offsetof(struct DetectedVehicleData, vehAttitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Attitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehAttitude" + }, + { ATF_POINTER, 8, offsetof(struct DetectedVehicleData, vehAttitudeConfidence), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AttitudeConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehAttitudeConfidence" + }, + { ATF_POINTER, 7, offsetof(struct DetectedVehicleData, vehAngVel), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AngularVelocity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehAngVel" + }, + { ATF_POINTER, 6, offsetof(struct DetectedVehicleData, vehAngVelConfidence), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AngularVelocityConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehAngVelConfidence" + }, + { ATF_POINTER, 5, offsetof(struct DetectedVehicleData, size), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleSize, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "size" + }, + { ATF_POINTER, 4, offsetof(struct DetectedVehicleData, height), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleHeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "height" + }, + { ATF_POINTER, 3, offsetof(struct DetectedVehicleData, vehicleSizeConfidence), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleSizeConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleSizeConfidence" + }, + { ATF_POINTER, 2, offsetof(struct DetectedVehicleData, vehicleClass), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BasicVehicleClass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleClass" + }, + { ATF_POINTER, 1, offsetof(struct DetectedVehicleData, classConf), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ClassificationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "classConf" + }, +}; +static const int asn_MAP_DetectedVehicleData_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; +static const ber_tlv_tag_t asn_DEF_DetectedVehicleData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DetectedVehicleData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lights */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* vehAttitude */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* vehAttitudeConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* vehAngVel */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* vehAngVelConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* size */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* height */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* vehicleSizeConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* vehicleClass */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* classConf */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DetectedVehicleData_specs_1 = { + sizeof(struct DetectedVehicleData), + offsetof(struct DetectedVehicleData, _asn_ctx), + asn_MAP_DetectedVehicleData_tag2el_1, + 10, /* Count of tags in the map */ + asn_MAP_DetectedVehicleData_oms_1, /* Optional members */ + 10, 0, /* Root/Additions */ + 10, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DetectedVehicleData = { + "DetectedVehicleData", + "DetectedVehicleData", + &asn_OP_SEQUENCE, + asn_DEF_DetectedVehicleData_tags_1, + sizeof(asn_DEF_DetectedVehicleData_tags_1) + /sizeof(asn_DEF_DetectedVehicleData_tags_1[0]), /* 1 */ + asn_DEF_DetectedVehicleData_tags_1, /* Same as above */ + sizeof(asn_DEF_DetectedVehicleData_tags_1) + /sizeof(asn_DEF_DetectedVehicleData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DetectedVehicleData_1, + 10, /* Elements count */ + &asn_SPC_DetectedVehicleData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DetectedVehicleData.h b/src/tmx/Asn_J2735/src/r2024/DetectedVehicleData.h deleted file mode 100644 index 101baffd6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DetectedVehicleData.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DetectedVehicleData_H_ -#define _DetectedVehicleData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ExteriorLights.h" -#include "VehicleHeight.h" -#include "BasicVehicleClass.h" -#include "ClassificationConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Attitude; -struct AttitudeConfidence; -struct AngularVelocity; -struct AngularVelocityConfidence; -struct VehicleSize; -struct VehicleSizeConfidence; - -/* DetectedVehicleData */ -typedef struct DetectedVehicleData { - ExteriorLights_t *lights; /* OPTIONAL */ - struct Attitude *vehAttitude; /* OPTIONAL */ - struct AttitudeConfidence *vehAttitudeConfidence; /* OPTIONAL */ - struct AngularVelocity *vehAngVel; /* OPTIONAL */ - struct AngularVelocityConfidence *vehAngVelConfidence; /* OPTIONAL */ - struct VehicleSize *size; /* OPTIONAL */ - VehicleHeight_t *height; /* OPTIONAL */ - struct VehicleSizeConfidence *vehicleSizeConfidence; /* OPTIONAL */ - BasicVehicleClass_t *vehicleClass; /* OPTIONAL */ - ClassificationConfidence_t *classConf; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DetectedVehicleData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DetectedVehicleData; -extern asn_SEQUENCE_specifics_t asn_SPC_DetectedVehicleData_specs_1; -extern asn_TYPE_member_t asn_MBR_DetectedVehicleData_1[10]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Attitude.h" -#include "AttitudeConfidence.h" -#include "AngularVelocity.h" -#include "AngularVelocityConfidence.h" -#include "VehicleSize.h" -#include "VehicleSizeConfidence.h" - -#endif /* _DetectedVehicleData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DetectionMode.c b/src/tmx/Asn_J2735/src/r2024/DetectionMode.c new file mode 100644 index 000000000..e7d32cc26 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DetectionMode.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DetectionMode.h" + +int +DetectionMode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DetectionMode_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DetectionMode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DetectionMode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DetectionMode = { + "DetectionMode", + "DetectionMode", + &asn_OP_NativeInteger, + asn_DEF_DetectionMode_tags_1, + sizeof(asn_DEF_DetectionMode_tags_1) + /sizeof(asn_DEF_DetectionMode_tags_1[0]), /* 1 */ + asn_DEF_DetectionMode_tags_1, /* Same as above */ + sizeof(asn_DEF_DetectionMode_tags_1) + /sizeof(asn_DEF_DetectionMode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DetectionMode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DetectionMode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DetectionMode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DetectionMode.h b/src/tmx/Asn_J2735/src/r2024/DetectionMode.h deleted file mode 100644 index eb0d52509..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DetectionMode.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DetectionMode_H_ -#define _DetectionMode_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum DetectionMode { - DetectionMode_measured = 0, - DetectionMode_inferred = 1, - DetectionMode_lac = 2 -} e_DetectionMode; - -/* DetectionMode */ -typedef long DetectionMode_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DetectionMode_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DetectionMode; -asn_struct_free_f DetectionMode_free; -asn_struct_print_f DetectionMode_print; -asn_constr_check_f DetectionMode_constraint; -ber_type_decoder_f DetectionMode_decode_ber; -der_type_encoder_f DetectionMode_encode_der; -xer_type_decoder_f DetectionMode_decode_xer; -xer_type_encoder_f DetectionMode_encode_xer; -oer_type_decoder_f DetectionMode_decode_oer; -oer_type_encoder_f DetectionMode_encode_oer; -per_type_decoder_f DetectionMode_decode_uper; -per_type_encoder_f DetectionMode_encode_uper; -per_type_decoder_f DetectionMode_decode_aper; -per_type_encoder_f DetectionMode_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DetectionMode_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DeviceStatus.c b/src/tmx/Asn_J2735/src/r2024/DeviceStatus.c new file mode 100644 index 000000000..7c944e1b4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DeviceStatus.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DeviceStatus.h" + +int +DeviceStatus_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DeviceStatus_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DeviceStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DeviceStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DeviceStatus = { + "DeviceStatus", + "DeviceStatus", + &asn_OP_NativeInteger, + asn_DEF_DeviceStatus_tags_1, + sizeof(asn_DEF_DeviceStatus_tags_1) + /sizeof(asn_DEF_DeviceStatus_tags_1[0]), /* 1 */ + asn_DEF_DeviceStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_DeviceStatus_tags_1) + /sizeof(asn_DEF_DeviceStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DeviceStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DeviceStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DeviceStatus_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DeviceStatus.h b/src/tmx/Asn_J2735/src/r2024/DeviceStatus.h deleted file mode 100644 index 27ef1d710..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DeviceStatus.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DeviceStatus_H_ -#define _DeviceStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum DeviceStatus { - DeviceStatus_lane_control_signs_not_working = 2305, - DeviceStatus_lane_control_signs_working_incorrectly = 2306, - DeviceStatus_lane_control_signs_operating = 2307, - DeviceStatus_variable_message_signs_not_working = 2308, - DeviceStatus_variable_message_signs_working_incorrectly = 2309, - DeviceStatus_variable_message_signs_operating = 2310, - DeviceStatus_emergency_telephones_not_working = 2311, - DeviceStatus_emergency_telephone_number_not_working = 2312, - DeviceStatus_traffic_lights_not_working = 2313, - DeviceStatus_traffic_lights_working_incorrectly = 2314, - DeviceStatus_ramp_control_signals_not_working = 2315, - DeviceStatus_ramp_control_signals_working_incorrectly = 2316, - DeviceStatus_temporary_traffic_lights_not_working = 2317, - DeviceStatus_temporary_traffic_lights_working_incorrectly = 2318, - DeviceStatus_traffic_signal_control_computer_not_working = 2319, - DeviceStatus_traffic_signal_timings_changed = 2320, - DeviceStatus_overheight_warning_system_triggered = 2321, - DeviceStatus_equipment_failure = 2322, - DeviceStatus_railroad_crossing_equipment_failure = 2323, - DeviceStatus_tunnel_ventilation_not_working = 2324, - DeviceStatus_power_failure = 2325, - DeviceStatus_widespread_power_outages = 2326, - DeviceStatus_technical_problems = 2327, - DeviceStatus_sign_down = 2328, - DeviceStatus_lines_in_road_faded = 2329, - DeviceStatus_damaged_light_standard = 2330, - DeviceStatus_traffic_signal_stuck_on_flash = 2331, - DeviceStatus_guide_rail = 2332, - DeviceStatus_fencing = 2333, - DeviceStatus_light_standard_hanging_by_wires = 2334, - DeviceStatus_call_box = 2335, - DeviceStatus_signal_cabinet = 2336, - DeviceStatus_detector = 2337, - DeviceStatus_improper_use_of_State_vehicle_or_equipment = 2338, - DeviceStatus_bulb_out = 2339, - DeviceStatus_not_yet_operational = 2340, - DeviceStatus_not_yet_installed = 2341, - DeviceStatus_electronic_signs_repaired = 2428, - DeviceStatus_emergency_call_facilities_restored = 2429, - DeviceStatus_traffic_signals_repaired = 2430, - DeviceStatus_railroad_crossing_equipment_now_working_normally = 2431 -} e_DeviceStatus; - -/* DeviceStatus */ -typedef long DeviceStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DeviceStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DeviceStatus; -asn_struct_free_f DeviceStatus_free; -asn_struct_print_f DeviceStatus_print; -asn_constr_check_f DeviceStatus_constraint; -ber_type_decoder_f DeviceStatus_decode_ber; -der_type_encoder_f DeviceStatus_encode_der; -xer_type_decoder_f DeviceStatus_decode_xer; -xer_type_encoder_f DeviceStatus_encode_xer; -oer_type_decoder_f DeviceStatus_decode_oer; -oer_type_encoder_f DeviceStatus_encode_oer; -per_type_decoder_f DeviceStatus_decode_uper; -per_type_encoder_f DeviceStatus_encode_uper; -per_type_decoder_f DeviceStatus_decode_aper; -per_type_encoder_f DeviceStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DeviceStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DewPointTempMeasurementStdDev.c b/src/tmx/Asn_J2735/src/r2024/DewPointTempMeasurementStdDev.c new file mode 100644 index 000000000..751e2b832 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DewPointTempMeasurementStdDev.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DewPointTempMeasurementStdDev.h" + +int +DewPointTempMeasurementStdDev_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 16L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DewPointTempMeasurementStdDev_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..16) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DewPointTempMeasurementStdDev_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (1..16) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DewPointTempMeasurementStdDev_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DewPointTempMeasurementStdDev = { + "DewPointTempMeasurementStdDev", + "DewPointTempMeasurementStdDev", + &asn_OP_NativeInteger, + asn_DEF_DewPointTempMeasurementStdDev_tags_1, + sizeof(asn_DEF_DewPointTempMeasurementStdDev_tags_1) + /sizeof(asn_DEF_DewPointTempMeasurementStdDev_tags_1[0]), /* 1 */ + asn_DEF_DewPointTempMeasurementStdDev_tags_1, /* Same as above */ + sizeof(asn_DEF_DewPointTempMeasurementStdDev_tags_1) + /sizeof(asn_DEF_DewPointTempMeasurementStdDev_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DewPointTempMeasurementStdDev_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DewPointTempMeasurementStdDev_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DewPointTempMeasurementStdDev_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DewPointTempMeasurementStdDev.h b/src/tmx/Asn_J2735/src/r2024/DewPointTempMeasurementStdDev.h deleted file mode 100644 index 921762ad0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DewPointTempMeasurementStdDev.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DewPointTempMeasurementStdDev_H_ -#define _DewPointTempMeasurementStdDev_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DewPointTempMeasurementStdDev */ -typedef long DewPointTempMeasurementStdDev_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DewPointTempMeasurementStdDev_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DewPointTempMeasurementStdDev; -asn_struct_free_f DewPointTempMeasurementStdDev_free; -asn_struct_print_f DewPointTempMeasurementStdDev_print; -asn_constr_check_f DewPointTempMeasurementStdDev_constraint; -ber_type_decoder_f DewPointTempMeasurementStdDev_decode_ber; -der_type_encoder_f DewPointTempMeasurementStdDev_encode_der; -xer_type_decoder_f DewPointTempMeasurementStdDev_decode_xer; -xer_type_encoder_f DewPointTempMeasurementStdDev_encode_xer; -oer_type_decoder_f DewPointTempMeasurementStdDev_decode_oer; -oer_type_encoder_f DewPointTempMeasurementStdDev_encode_oer; -per_type_decoder_f DewPointTempMeasurementStdDev_decode_uper; -per_type_encoder_f DewPointTempMeasurementStdDev_encode_uper; -per_type_decoder_f DewPointTempMeasurementStdDev_decode_aper; -per_type_encoder_f DewPointTempMeasurementStdDev_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DewPointTempMeasurementStdDev_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DieselEmissionValues.c b/src/tmx/Asn_J2735/src/r2024/DieselEmissionValues.c new file mode 100644 index 000000000..404411df9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DieselEmissionValues.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DieselEmissionValues.h" + +asn_TYPE_member_t asn_MBR_DieselEmissionValues_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DieselEmissionValues, particulate), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Particulate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "particulate" + }, + { ATF_NOFLAGS, 0, offsetof(struct DieselEmissionValues, absorptionCoeff), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "absorptionCoeff" + }, +}; +static const ber_tlv_tag_t asn_DEF_DieselEmissionValues_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DieselEmissionValues_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* particulate */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* absorptionCoeff */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DieselEmissionValues_specs_1 = { + sizeof(struct DieselEmissionValues), + offsetof(struct DieselEmissionValues, _asn_ctx), + asn_MAP_DieselEmissionValues_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DieselEmissionValues = { + "DieselEmissionValues", + "DieselEmissionValues", + &asn_OP_SEQUENCE, + asn_DEF_DieselEmissionValues_tags_1, + sizeof(asn_DEF_DieselEmissionValues_tags_1) + /sizeof(asn_DEF_DieselEmissionValues_tags_1[0]), /* 1 */ + asn_DEF_DieselEmissionValues_tags_1, /* Same as above */ + sizeof(asn_DEF_DieselEmissionValues_tags_1) + /sizeof(asn_DEF_DieselEmissionValues_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DieselEmissionValues_1, + 2, /* Elements count */ + &asn_SPC_DieselEmissionValues_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DieselEmissionValues.h b/src/tmx/Asn_J2735/src/r2024/DieselEmissionValues.h deleted file mode 100644 index 3120706b7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DieselEmissionValues.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DieselEmissionValues_H_ -#define _DieselEmissionValues_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Particulate.h" -#include "Int2Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DieselEmissionValues */ -typedef struct DieselEmissionValues { - Particulate_t particulate; - Int2Unsigned_t absorptionCoeff; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DieselEmissionValues_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DieselEmissionValues; -extern asn_SEQUENCE_specifics_t asn_SPC_DieselEmissionValues_specs_1; -extern asn_TYPE_member_t asn_MBR_DieselEmissionValues_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _DieselEmissionValues_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DirectionOfUse.c b/src/tmx/Asn_J2735/src/r2024/DirectionOfUse.c new file mode 100644 index 000000000..3f3fb6132 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DirectionOfUse.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DirectionOfUse.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DirectionOfUse_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DirectionOfUse_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_DirectionOfUse_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 7, "forward" }, + { 2, 7, "reverse" }, + { 3, 4, "both" } +}; +static const unsigned int asn_MAP_DirectionOfUse_enum2value_1[] = { + 3, /* both(3) */ + 1, /* forward(1) */ + 2, /* reverse(2) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_DirectionOfUse_specs_1 = { + asn_MAP_DirectionOfUse_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_DirectionOfUse_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_DirectionOfUse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DirectionOfUse = { + "DirectionOfUse", + "DirectionOfUse", + &asn_OP_NativeEnumerated, + asn_DEF_DirectionOfUse_tags_1, + sizeof(asn_DEF_DirectionOfUse_tags_1) + /sizeof(asn_DEF_DirectionOfUse_tags_1[0]), /* 1 */ + asn_DEF_DirectionOfUse_tags_1, /* Same as above */ + sizeof(asn_DEF_DirectionOfUse_tags_1) + /sizeof(asn_DEF_DirectionOfUse_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DirectionOfUse_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DirectionOfUse_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_DirectionOfUse_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DirectionOfUse.h b/src/tmx/Asn_J2735/src/r2024/DirectionOfUse.h deleted file mode 100644 index a75234576..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DirectionOfUse.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DirectionOfUse_H_ -#define _DirectionOfUse_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum DirectionOfUse { - DirectionOfUse_unavailable = 0, - DirectionOfUse_forward = 1, - DirectionOfUse_reverse = 2, - DirectionOfUse_both = 3 -} e_DirectionOfUse; - -/* DirectionOfUse */ -typedef long DirectionOfUse_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DirectionOfUse_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DirectionOfUse; -extern const asn_INTEGER_specifics_t asn_SPC_DirectionOfUse_specs_1; -asn_struct_free_f DirectionOfUse_free; -asn_struct_print_f DirectionOfUse_print; -asn_constr_check_f DirectionOfUse_constraint; -ber_type_decoder_f DirectionOfUse_decode_ber; -der_type_encoder_f DirectionOfUse_encode_der; -xer_type_decoder_f DirectionOfUse_decode_xer; -xer_type_encoder_f DirectionOfUse_encode_xer; -oer_type_decoder_f DirectionOfUse_decode_oer; -oer_type_encoder_f DirectionOfUse_encode_oer; -per_type_decoder_f DirectionOfUse_decode_uper; -per_type_encoder_f DirectionOfUse_encode_uper; -per_type_decoder_f DirectionOfUse_decode_aper; -per_type_encoder_f DirectionOfUse_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DirectionOfUse_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DisabledVehicle.c b/src/tmx/Asn_J2735/src/r2024/DisabledVehicle.c new file mode 100644 index 000000000..be718cd8c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DisabledVehicle.c @@ -0,0 +1,123 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DisabledVehicle.h" + +static int +memb_statusDetails_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 532L && value <= 541L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_statusDetails_constr_2 CC_NOTUSED = { + { 2, 1 } /* (532..541) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_statusDetails_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 532, 541 } /* (532..541) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_DisabledVehicle_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DisabledVehicle, statusDetails), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ITIScodes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_statusDetails_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_statusDetails_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_statusDetails_constraint_1 + }, + 0, 0, /* No default value */ + "statusDetails" + }, + { ATF_POINTER, 1, offsetof(struct DisabledVehicle, locationDetails), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_GenericLocations, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "locationDetails" + }, +}; +static const int asn_MAP_DisabledVehicle_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_DisabledVehicle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DisabledVehicle_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* statusDetails */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* locationDetails */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DisabledVehicle_specs_1 = { + sizeof(struct DisabledVehicle), + offsetof(struct DisabledVehicle, _asn_ctx), + asn_MAP_DisabledVehicle_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_DisabledVehicle_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DisabledVehicle = { + "DisabledVehicle", + "DisabledVehicle", + &asn_OP_SEQUENCE, + asn_DEF_DisabledVehicle_tags_1, + sizeof(asn_DEF_DisabledVehicle_tags_1) + /sizeof(asn_DEF_DisabledVehicle_tags_1[0]), /* 1 */ + asn_DEF_DisabledVehicle_tags_1, /* Same as above */ + sizeof(asn_DEF_DisabledVehicle_tags_1) + /sizeof(asn_DEF_DisabledVehicle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DisabledVehicle_1, + 2, /* Elements count */ + &asn_SPC_DisabledVehicle_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DisabledVehicle.h b/src/tmx/Asn_J2735/src/r2024/DisabledVehicle.h deleted file mode 100644 index 4d681cfed..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DisabledVehicle.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DisabledVehicle_H_ -#define _DisabledVehicle_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ITIS_ITIScodes.h" -#include "ITIS_GenericLocations.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DisabledVehicle */ -typedef struct DisabledVehicle { - ITIS_ITIScodes_t statusDetails; - ITIS_GenericLocations_t *locationDetails; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DisabledVehicle_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DisabledVehicle; -extern asn_SEQUENCE_specifics_t asn_SPC_DisabledVehicle_specs_1; -extern asn_TYPE_member_t asn_MBR_DisabledVehicle_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _DisabledVehicle_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Disasters.c b/src/tmx/Asn_J2735/src/r2024/Disasters.c new file mode 100644 index 000000000..55ada9664 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Disasters.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Disasters.h" + +int +Disasters_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Disasters_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Disasters_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Disasters_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Disasters = { + "Disasters", + "Disasters", + &asn_OP_NativeInteger, + asn_DEF_Disasters_tags_1, + sizeof(asn_DEF_Disasters_tags_1) + /sizeof(asn_DEF_Disasters_tags_1[0]), /* 1 */ + asn_DEF_Disasters_tags_1, /* Same as above */ + sizeof(asn_DEF_Disasters_tags_1) + /sizeof(asn_DEF_Disasters_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Disasters_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Disasters_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Disasters_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Disasters.h b/src/tmx/Asn_J2735/src/r2024/Disasters.h deleted file mode 100644 index a04c36b1c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Disasters.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Disasters_H_ -#define _Disasters_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Disasters { - Disasters_flash_flood = 3073, - Disasters_major_flood = 3074, - Disasters_reservoir_failure = 3075, - Disasters_levee_failure = 3076, - Disasters_tsunami = 3077, - Disasters_tidal_wave = 3078, - Disasters_volcanic_eruption = 3079, - Disasters_ash_fall = 3080, - Disasters_lava_flow = 3081, - Disasters_serious_fire = 3082, - Disasters_forest_fire = 3083, - Disasters_wildfire = 3084, - Disasters_building_fire = 3085, - Disasters_brush_fire = 3086, - Disasters_grass_fire = 3087, - Disasters_fire_danger_extreme = 3088, - Disasters_fire_danger_very_high = 3089, - Disasters_fire_danger_high = 3090, - Disasters_fire_danger_medium = 3091, - Disasters_fire_danger_low = 3092, - Disasters_earthquake_damage = 3093, - Disasters_air_crash = 3094, - Disasters_rail_crash = 3095, - Disasters_toxic_release = 3096, - Disasters_toxic_leak = 3097, - Disasters_radioactive_release = 3098, - Disasters_radiation_hazard = 3099, - Disasters_reactor_leakage = 3100, - Disasters_explosion = 3101, - Disasters_major_hazardous_materials_fire = 3102, - Disasters_major_hazardous_materials_release = 3103, - Disasters_disaster_cleared = 3199 -} e_Disasters; - -/* Disasters */ -typedef long Disasters_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Disasters_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Disasters; -asn_struct_free_f Disasters_free; -asn_struct_print_f Disasters_print; -asn_constr_check_f Disasters_constraint; -ber_type_decoder_f Disasters_decode_ber; -der_type_encoder_f Disasters_encode_der; -xer_type_decoder_f Disasters_decode_xer; -xer_type_encoder_f Disasters_encode_xer; -oer_type_decoder_f Disasters_decode_oer; -oer_type_encoder_f Disasters_encode_oer; -per_type_decoder_f Disasters_decode_uper; -per_type_encoder_f Disasters_encode_uper; -per_type_decoder_f Disasters_decode_aper; -per_type_encoder_f Disasters_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Disasters_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Distance.c b/src/tmx/Asn_J2735/src/r2024/Distance.c new file mode 100644 index 000000000..3f784c9d6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Distance.c @@ -0,0 +1,109 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Distance.h" + +static int asn_DFL_3_cmp_0(const void *sptr) { + const DistanceUnit_t *st = sptr; + + if(!st) { + return -1; /* No value is not a default value */ + } + + /* Test default value 0 */ + return (*st != 0); +} +static int asn_DFL_3_set_0(void **sptr) { + DistanceUnit_t *st = *sptr; + + if(!st) { + st = (*sptr = CALLOC(1, sizeof(*st))); + if(!st) return -1; + } + + /* Install default value 0 */ + *st = 0; + return 0; +} +asn_TYPE_member_t asn_MBR_Distance_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Distance, distanceValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int4Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "distanceValue" + }, + { ATF_NOFLAGS, 1, offsetof(struct Distance, distanceUnit), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DistanceUnit, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + &asn_DFL_3_cmp_0, /* Compare DEFAULT 0 */ + &asn_DFL_3_set_0, /* Set DEFAULT 0 */ + "distanceUnit" + }, +}; +static const int asn_MAP_Distance_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_Distance_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Distance_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* distanceValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* distanceUnit */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Distance_specs_1 = { + sizeof(struct Distance), + offsetof(struct Distance, _asn_ctx), + asn_MAP_Distance_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_Distance_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Distance = { + "Distance", + "Distance", + &asn_OP_SEQUENCE, + asn_DEF_Distance_tags_1, + sizeof(asn_DEF_Distance_tags_1) + /sizeof(asn_DEF_Distance_tags_1[0]), /* 1 */ + asn_DEF_Distance_tags_1, /* Same as above */ + sizeof(asn_DEF_Distance_tags_1) + /sizeof(asn_DEF_Distance_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Distance_1, + 2, /* Elements count */ + &asn_SPC_Distance_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Distance.h b/src/tmx/Asn_J2735/src/r2024/Distance.h deleted file mode 100644 index fb78e455d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Distance.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Distance_H_ -#define _Distance_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int4Unsigned.h" -#include "DistanceUnit.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Distance */ -typedef struct Distance { - Int4Unsigned_t distanceValue; - DistanceUnit_t distanceUnit; /* DEFAULT 0 */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Distance_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Distance; -extern asn_SEQUENCE_specifics_t asn_SPC_Distance_specs_1; -extern asn_TYPE_member_t asn_MBR_Distance_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Distance_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DistanceUnit.c b/src/tmx/Asn_J2735/src/r2024/DistanceUnit.c new file mode 100644 index 000000000..68caa7373 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DistanceUnit.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DistanceUnit.h" + +int +DistanceUnit_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DistanceUnit_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DistanceUnit_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DistanceUnit_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DistanceUnit = { + "DistanceUnit", + "DistanceUnit", + &asn_OP_NativeInteger, + asn_DEF_DistanceUnit_tags_1, + sizeof(asn_DEF_DistanceUnit_tags_1) + /sizeof(asn_DEF_DistanceUnit_tags_1[0]), /* 1 */ + asn_DEF_DistanceUnit_tags_1, /* Same as above */ + sizeof(asn_DEF_DistanceUnit_tags_1) + /sizeof(asn_DEF_DistanceUnit_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DistanceUnit_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DistanceUnit_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DistanceUnit_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DistanceUnit.h b/src/tmx/Asn_J2735/src/r2024/DistanceUnit.h deleted file mode 100644 index 463c2d4b5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DistanceUnit.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DistanceUnit_H_ -#define _DistanceUnit_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum DistanceUnit { - DistanceUnit_kilometres = 0, - DistanceUnit_miles = 1, - DistanceUnit_metres = 2, - DistanceUnit_yards = 3, - DistanceUnit_feet = 4, - DistanceUnit_decimetres = 5, - DistanceUnit_quartermetres = 6, - DistanceUnit_centimeters = 7, - DistanceUnit_millimeters = 8 -} e_DistanceUnit; - -/* DistanceUnit */ -typedef long DistanceUnit_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DistanceUnit_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DistanceUnit; -asn_struct_free_f DistanceUnit_free; -asn_struct_print_f DistanceUnit_print; -asn_constr_check_f DistanceUnit_constraint; -ber_type_decoder_f DistanceUnit_decode_ber; -der_type_encoder_f DistanceUnit_encode_der; -xer_type_decoder_f DistanceUnit_decode_xer; -xer_type_encoder_f DistanceUnit_encode_xer; -oer_type_decoder_f DistanceUnit_decode_oer; -oer_type_encoder_f DistanceUnit_encode_oer; -per_type_decoder_f DistanceUnit_decode_uper; -per_type_encoder_f DistanceUnit_encode_uper; -per_type_decoder_f DistanceUnit_decode_aper; -per_type_encoder_f DistanceUnit_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DistanceUnit_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DistanceUnits.c b/src/tmx/Asn_J2735/src/r2024/DistanceUnits.c new file mode 100644 index 000000000..eb19b9dc5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DistanceUnits.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DistanceUnits.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DistanceUnits_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DistanceUnits_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_DistanceUnits_value2enum_1[] = { + { 0, 10, "centimeter" }, + { 1, 5, "cm2-5" }, + { 2, 9, "decimeter" }, + { 3, 5, "meter" }, + { 4, 9, "kilometer" }, + { 5, 4, "foot" }, + { 6, 4, "yard" }, + { 7, 4, "mile" } +}; +static const unsigned int asn_MAP_DistanceUnits_enum2value_1[] = { + 0, /* centimeter(0) */ + 1, /* cm2-5(1) */ + 2, /* decimeter(2) */ + 5, /* foot(5) */ + 4, /* kilometer(4) */ + 3, /* meter(3) */ + 7, /* mile(7) */ + 6 /* yard(6) */ +}; +const asn_INTEGER_specifics_t asn_SPC_DistanceUnits_specs_1 = { + asn_MAP_DistanceUnits_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_DistanceUnits_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_DistanceUnits_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DistanceUnits = { + "DistanceUnits", + "DistanceUnits", + &asn_OP_NativeEnumerated, + asn_DEF_DistanceUnits_tags_1, + sizeof(asn_DEF_DistanceUnits_tags_1) + /sizeof(asn_DEF_DistanceUnits_tags_1[0]), /* 1 */ + asn_DEF_DistanceUnits_tags_1, /* Same as above */ + sizeof(asn_DEF_DistanceUnits_tags_1) + /sizeof(asn_DEF_DistanceUnits_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DistanceUnits_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DistanceUnits_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_DistanceUnits_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DistanceUnits.h b/src/tmx/Asn_J2735/src/r2024/DistanceUnits.h deleted file mode 100644 index c8bf7908f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DistanceUnits.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DistanceUnits_H_ -#define _DistanceUnits_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum DistanceUnits { - DistanceUnits_centimeter = 0, - DistanceUnits_cm2_5 = 1, - DistanceUnits_decimeter = 2, - DistanceUnits_meter = 3, - DistanceUnits_kilometer = 4, - DistanceUnits_foot = 5, - DistanceUnits_yard = 6, - DistanceUnits_mile = 7 -} e_DistanceUnits; - -/* DistanceUnits */ -typedef long DistanceUnits_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DistanceUnits_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DistanceUnits; -extern const asn_INTEGER_specifics_t asn_SPC_DistanceUnits_specs_1; -asn_struct_free_f DistanceUnits_free; -asn_struct_print_f DistanceUnits_print; -asn_constr_check_f DistanceUnits_constraint; -ber_type_decoder_f DistanceUnits_decode_ber; -der_type_encoder_f DistanceUnits_encode_der; -xer_type_decoder_f DistanceUnits_decode_xer; -xer_type_encoder_f DistanceUnits_encode_xer; -oer_type_decoder_f DistanceUnits_decode_oer; -oer_type_encoder_f DistanceUnits_encode_oer; -per_type_decoder_f DistanceUnits_decode_uper; -per_type_encoder_f DistanceUnits_encode_uper; -per_type_decoder_f DistanceUnits_decode_aper; -per_type_encoder_f DistanceUnits_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DistanceUnits_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Disturbances.c b/src/tmx/Asn_J2735/src/r2024/Disturbances.c new file mode 100644 index 000000000..f13c797f0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Disturbances.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Disturbances.h" + +int +Disturbances_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Disturbances_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Disturbances_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Disturbances_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Disturbances = { + "Disturbances", + "Disturbances", + &asn_OP_NativeInteger, + asn_DEF_Disturbances_tags_1, + sizeof(asn_DEF_Disturbances_tags_1) + /sizeof(asn_DEF_Disturbances_tags_1[0]), /* 1 */ + asn_DEF_Disturbances_tags_1, /* Same as above */ + sizeof(asn_DEF_Disturbances_tags_1) + /sizeof(asn_DEF_Disturbances_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Disturbances_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Disturbances_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Disturbances_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Disturbances.h b/src/tmx/Asn_J2735/src/r2024/Disturbances.h deleted file mode 100644 index d804752d8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Disturbances.h +++ /dev/null @@ -1,87 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Disturbances_H_ -#define _Disturbances_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Disturbances { - Disturbances_assault = 3329, - Disturbances_crime = 3330, - Disturbances_robbery = 3331, - Disturbances_fare_dispute = 3332, - Disturbances_shooting = 3333, - Disturbances_gunfire_on_roadway = 3334, - Disturbances_suicide = 3335, - Disturbances_fight = 3336, - Disturbances_gang_fight = 3337, - Disturbances_person_harassment = 3338, - Disturbances_person_injured = 3339, - Disturbances_sick_customer = 3363, - Disturbances_unruly_passenger = 3340, - Disturbances_person_intoxicated = 3341, - Disturbances_crowd_control_problem = 3342, - Disturbances_demonstration = 3343, - Disturbances_march = 3344, - Disturbances_public_disturbance = 3345, - Disturbances_riot = 3346, - Disturbances_civil_unrest = 3347, - Disturbances_civil_emergency = 3348, - Disturbances_strike = 3349, - Disturbances_public_transit_strike = 3350, - Disturbances_stampede = 3351, - Disturbances_teargas_used = 3352, - Disturbances_security_alert = 3353, - Disturbances_security_incident = 3354, - Disturbances_checkpoint = 3355, - Disturbances_bomb_alert = 3356, - Disturbances_terrorist_incident = 3357, - Disturbances_high_velocity_shell_fire = 3358, - Disturbances_explosives_in_use = 3359, - Disturbances_air_raid = 3360, - Disturbances_weapons_of_mass_destruction_threat = 3361, - Disturbances_military_operations = 3362, - Disturbances_security_problem_cleared = 3454, - Disturbances_traffic_disturbance_cleared = 3455 -} e_Disturbances; - -/* Disturbances */ -typedef long Disturbances_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Disturbances_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Disturbances; -asn_struct_free_f Disturbances_free; -asn_struct_print_f Disturbances_print; -asn_constr_check_f Disturbances_constraint; -ber_type_decoder_f Disturbances_decode_ber; -der_type_encoder_f Disturbances_encode_der; -xer_type_decoder_f Disturbances_decode_xer; -xer_type_encoder_f Disturbances_encode_xer; -oer_type_decoder_f Disturbances_decode_oer; -oer_type_encoder_f Disturbances_encode_oer; -per_type_decoder_f Disturbances_decode_uper; -per_type_encoder_f Disturbances_encode_uper; -per_type_decoder_f Disturbances_decode_aper; -per_type_encoder_f Disturbances_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Disturbances_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DriveAxleLiftAirPressure.c b/src/tmx/Asn_J2735/src/r2024/DriveAxleLiftAirPressure.c new file mode 100644 index 000000000..eb63710b4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DriveAxleLiftAirPressure.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DriveAxleLiftAirPressure.h" + +int +DriveAxleLiftAirPressure_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 1000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DriveAxleLiftAirPressure_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..1000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DriveAxleLiftAirPressure_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1000 } /* (0..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DriveAxleLiftAirPressure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DriveAxleLiftAirPressure = { + "DriveAxleLiftAirPressure", + "DriveAxleLiftAirPressure", + &asn_OP_NativeInteger, + asn_DEF_DriveAxleLiftAirPressure_tags_1, + sizeof(asn_DEF_DriveAxleLiftAirPressure_tags_1) + /sizeof(asn_DEF_DriveAxleLiftAirPressure_tags_1[0]), /* 1 */ + asn_DEF_DriveAxleLiftAirPressure_tags_1, /* Same as above */ + sizeof(asn_DEF_DriveAxleLiftAirPressure_tags_1) + /sizeof(asn_DEF_DriveAxleLiftAirPressure_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DriveAxleLiftAirPressure_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DriveAxleLiftAirPressure_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DriveAxleLiftAirPressure_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DriveAxleLiftAirPressure.h b/src/tmx/Asn_J2735/src/r2024/DriveAxleLiftAirPressure.h deleted file mode 100644 index 9733e758f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DriveAxleLiftAirPressure.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DriveAxleLiftAirPressure_H_ -#define _DriveAxleLiftAirPressure_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DriveAxleLiftAirPressure */ -typedef long DriveAxleLiftAirPressure_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DriveAxleLiftAirPressure_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DriveAxleLiftAirPressure; -asn_struct_free_f DriveAxleLiftAirPressure_free; -asn_struct_print_f DriveAxleLiftAirPressure_print; -asn_constr_check_f DriveAxleLiftAirPressure_constraint; -ber_type_decoder_f DriveAxleLiftAirPressure_decode_ber; -der_type_encoder_f DriveAxleLiftAirPressure_encode_der; -xer_type_decoder_f DriveAxleLiftAirPressure_decode_xer; -xer_type_encoder_f DriveAxleLiftAirPressure_encode_xer; -oer_type_decoder_f DriveAxleLiftAirPressure_decode_oer; -oer_type_encoder_f DriveAxleLiftAirPressure_encode_oer; -per_type_decoder_f DriveAxleLiftAirPressure_decode_uper; -per_type_encoder_f DriveAxleLiftAirPressure_encode_uper; -per_type_decoder_f DriveAxleLiftAirPressure_decode_aper; -per_type_encoder_f DriveAxleLiftAirPressure_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DriveAxleLiftAirPressure_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DriveAxleLocation.c b/src/tmx/Asn_J2735/src/r2024/DriveAxleLocation.c new file mode 100644 index 000000000..f74f03ec5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DriveAxleLocation.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DriveAxleLocation.h" + +int +DriveAxleLocation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DriveAxleLocation_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DriveAxleLocation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DriveAxleLocation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DriveAxleLocation = { + "DriveAxleLocation", + "DriveAxleLocation", + &asn_OP_NativeInteger, + asn_DEF_DriveAxleLocation_tags_1, + sizeof(asn_DEF_DriveAxleLocation_tags_1) + /sizeof(asn_DEF_DriveAxleLocation_tags_1[0]), /* 1 */ + asn_DEF_DriveAxleLocation_tags_1, /* Same as above */ + sizeof(asn_DEF_DriveAxleLocation_tags_1) + /sizeof(asn_DEF_DriveAxleLocation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DriveAxleLocation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DriveAxleLocation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DriveAxleLocation_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DriveAxleLocation.h b/src/tmx/Asn_J2735/src/r2024/DriveAxleLocation.h deleted file mode 100644 index c0f62cf22..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DriveAxleLocation.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DriveAxleLocation_H_ -#define _DriveAxleLocation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DriveAxleLocation */ -typedef long DriveAxleLocation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DriveAxleLocation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DriveAxleLocation; -asn_struct_free_f DriveAxleLocation_free; -asn_struct_print_f DriveAxleLocation_print; -asn_constr_check_f DriveAxleLocation_constraint; -ber_type_decoder_f DriveAxleLocation_decode_ber; -der_type_encoder_f DriveAxleLocation_encode_der; -xer_type_decoder_f DriveAxleLocation_decode_xer; -xer_type_encoder_f DriveAxleLocation_encode_xer; -oer_type_decoder_f DriveAxleLocation_decode_oer; -oer_type_encoder_f DriveAxleLocation_encode_oer; -per_type_decoder_f DriveAxleLocation_decode_uper; -per_type_encoder_f DriveAxleLocation_encode_uper; -per_type_decoder_f DriveAxleLocation_decode_aper; -per_type_encoder_f DriveAxleLocation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DriveAxleLocation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DriveAxleLubePressure.c b/src/tmx/Asn_J2735/src/r2024/DriveAxleLubePressure.c new file mode 100644 index 000000000..80ea8f55c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DriveAxleLubePressure.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DriveAxleLubePressure.h" + +int +DriveAxleLubePressure_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 250L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DriveAxleLubePressure_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..250) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DriveAxleLubePressure_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 250 } /* (0..250) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DriveAxleLubePressure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DriveAxleLubePressure = { + "DriveAxleLubePressure", + "DriveAxleLubePressure", + &asn_OP_NativeInteger, + asn_DEF_DriveAxleLubePressure_tags_1, + sizeof(asn_DEF_DriveAxleLubePressure_tags_1) + /sizeof(asn_DEF_DriveAxleLubePressure_tags_1[0]), /* 1 */ + asn_DEF_DriveAxleLubePressure_tags_1, /* Same as above */ + sizeof(asn_DEF_DriveAxleLubePressure_tags_1) + /sizeof(asn_DEF_DriveAxleLubePressure_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DriveAxleLubePressure_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DriveAxleLubePressure_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DriveAxleLubePressure_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DriveAxleLubePressure.h b/src/tmx/Asn_J2735/src/r2024/DriveAxleLubePressure.h deleted file mode 100644 index 8d7316fde..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DriveAxleLubePressure.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DriveAxleLubePressure_H_ -#define _DriveAxleLubePressure_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DriveAxleLubePressure */ -typedef long DriveAxleLubePressure_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DriveAxleLubePressure_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DriveAxleLubePressure; -asn_struct_free_f DriveAxleLubePressure_free; -asn_struct_print_f DriveAxleLubePressure_print; -asn_constr_check_f DriveAxleLubePressure_constraint; -ber_type_decoder_f DriveAxleLubePressure_decode_ber; -der_type_encoder_f DriveAxleLubePressure_encode_der; -xer_type_decoder_f DriveAxleLubePressure_decode_xer; -xer_type_encoder_f DriveAxleLubePressure_encode_xer; -oer_type_decoder_f DriveAxleLubePressure_decode_oer; -oer_type_encoder_f DriveAxleLubePressure_encode_oer; -per_type_decoder_f DriveAxleLubePressure_decode_uper; -per_type_encoder_f DriveAxleLubePressure_encode_uper; -per_type_decoder_f DriveAxleLubePressure_decode_aper; -per_type_encoder_f DriveAxleLubePressure_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DriveAxleLubePressure_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DriveAxleTemperature.c b/src/tmx/Asn_J2735/src/r2024/DriveAxleTemperature.c new file mode 100644 index 000000000..e6ec451a3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DriveAxleTemperature.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DriveAxleTemperature.h" + +int +DriveAxleTemperature_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -40L && value <= 210L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DriveAxleTemperature_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-40..210) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DriveAxleTemperature_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -40, 210 } /* (-40..210) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DriveAxleTemperature_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DriveAxleTemperature = { + "DriveAxleTemperature", + "DriveAxleTemperature", + &asn_OP_NativeInteger, + asn_DEF_DriveAxleTemperature_tags_1, + sizeof(asn_DEF_DriveAxleTemperature_tags_1) + /sizeof(asn_DEF_DriveAxleTemperature_tags_1[0]), /* 1 */ + asn_DEF_DriveAxleTemperature_tags_1, /* Same as above */ + sizeof(asn_DEF_DriveAxleTemperature_tags_1) + /sizeof(asn_DEF_DriveAxleTemperature_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DriveAxleTemperature_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DriveAxleTemperature_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DriveAxleTemperature_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DriveAxleTemperature.h b/src/tmx/Asn_J2735/src/r2024/DriveAxleTemperature.h deleted file mode 100644 index 1d272d6c9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DriveAxleTemperature.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DriveAxleTemperature_H_ -#define _DriveAxleTemperature_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DriveAxleTemperature */ -typedef long DriveAxleTemperature_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DriveAxleTemperature_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DriveAxleTemperature; -asn_struct_free_f DriveAxleTemperature_free; -asn_struct_print_f DriveAxleTemperature_print; -asn_constr_check_f DriveAxleTemperature_constraint; -ber_type_decoder_f DriveAxleTemperature_decode_ber; -der_type_encoder_f DriveAxleTemperature_encode_der; -xer_type_decoder_f DriveAxleTemperature_decode_xer; -xer_type_encoder_f DriveAxleTemperature_encode_xer; -oer_type_decoder_f DriveAxleTemperature_decode_oer; -oer_type_encoder_f DriveAxleTemperature_encode_oer; -per_type_decoder_f DriveAxleTemperature_decode_uper; -per_type_encoder_f DriveAxleTemperature_encode_uper; -per_type_decoder_f DriveAxleTemperature_decode_aper; -per_type_encoder_f DriveAxleTemperature_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DriveAxleTemperature_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Driven.c b/src/tmx/Asn_J2735/src/r2024/Driven.c new file mode 100644 index 000000000..1ce8d60b2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Driven.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Driven.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Driven_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Driven_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Driven_value2enum_1[] = { + { 0, 6, "perMin" }, + { 1, 7, "perHour" }, + { 2, 6, "perDay" }, + { 3, 11, "perDistMile" }, + { 4, 11, "perDistKilo" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Driven_enum2value_1[] = { + 2, /* perDay(2) */ + 4, /* perDistKilo(4) */ + 3, /* perDistMile(3) */ + 1, /* perHour(1) */ + 0 /* perMin(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_Driven_specs_1 = { + asn_MAP_Driven_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Driven_enum2value_1, /* N => "tag"; sorted by N */ + 5, /* Number of elements in the maps */ + 6, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Driven_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Driven = { + "Driven", + "Driven", + &asn_OP_NativeEnumerated, + asn_DEF_Driven_tags_1, + sizeof(asn_DEF_Driven_tags_1) + /sizeof(asn_DEF_Driven_tags_1[0]), /* 1 */ + asn_DEF_Driven_tags_1, /* Same as above */ + sizeof(asn_DEF_Driven_tags_1) + /sizeof(asn_DEF_Driven_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Driven_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Driven_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Driven_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Driven.h b/src/tmx/Asn_J2735/src/r2024/Driven.h deleted file mode 100644 index cc12570a3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Driven.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Driven_H_ -#define _Driven_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Driven { - Driven_perMin = 0, - Driven_perHour = 1, - Driven_perDay = 2, - Driven_perDistMile = 3, - Driven_perDistKilo = 4 - /* - * Enumeration is extensible - */ -} e_Driven; - -/* Driven */ -typedef long Driven_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Driven_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Driven; -extern const asn_INTEGER_specifics_t asn_SPC_Driven_specs_1; -asn_struct_free_f Driven_free; -asn_struct_print_f Driven_print; -asn_constr_check_f Driven_constraint; -ber_type_decoder_f Driven_decode_ber; -der_type_encoder_f Driven_encode_der; -xer_type_decoder_f Driven_decode_xer; -xer_type_encoder_f Driven_encode_xer; -oer_type_decoder_f Driven_decode_oer; -oer_type_encoder_f Driven_encode_oer; -per_type_decoder_f Driven_decode_uper; -per_type_encoder_f Driven_encode_uper; -per_type_decoder_f Driven_decode_aper; -per_type_encoder_f Driven_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Driven_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetLg.c b/src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetLg.c new file mode 100644 index 000000000..6c2bf7411 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetLg.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DrivenLineOffsetLg.h" + +int +DrivenLineOffsetLg_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32767L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DrivenLineOffsetLg_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32767..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DrivenLineOffsetLg_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32767, 32767 } /* (-32767..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DrivenLineOffsetLg_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DrivenLineOffsetLg = { + "DrivenLineOffsetLg", + "DrivenLineOffsetLg", + &asn_OP_NativeInteger, + asn_DEF_DrivenLineOffsetLg_tags_1, + sizeof(asn_DEF_DrivenLineOffsetLg_tags_1) + /sizeof(asn_DEF_DrivenLineOffsetLg_tags_1[0]), /* 1 */ + asn_DEF_DrivenLineOffsetLg_tags_1, /* Same as above */ + sizeof(asn_DEF_DrivenLineOffsetLg_tags_1) + /sizeof(asn_DEF_DrivenLineOffsetLg_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DrivenLineOffsetLg_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DrivenLineOffsetLg_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DrivenLineOffsetLg_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetLg.h b/src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetLg.h deleted file mode 100644 index 6ae91bf47..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetLg.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DrivenLineOffsetLg_H_ -#define _DrivenLineOffsetLg_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DrivenLineOffsetLg */ -typedef long DrivenLineOffsetLg_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DrivenLineOffsetLg_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DrivenLineOffsetLg; -asn_struct_free_f DrivenLineOffsetLg_free; -asn_struct_print_f DrivenLineOffsetLg_print; -asn_constr_check_f DrivenLineOffsetLg_constraint; -ber_type_decoder_f DrivenLineOffsetLg_decode_ber; -der_type_encoder_f DrivenLineOffsetLg_encode_der; -xer_type_decoder_f DrivenLineOffsetLg_decode_xer; -xer_type_encoder_f DrivenLineOffsetLg_encode_xer; -oer_type_decoder_f DrivenLineOffsetLg_decode_oer; -oer_type_encoder_f DrivenLineOffsetLg_encode_oer; -per_type_decoder_f DrivenLineOffsetLg_decode_uper; -per_type_encoder_f DrivenLineOffsetLg_encode_uper; -per_type_decoder_f DrivenLineOffsetLg_decode_aper; -per_type_encoder_f DrivenLineOffsetLg_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DrivenLineOffsetLg_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetSm.c b/src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetSm.c new file mode 100644 index 000000000..0be559333 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetSm.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DrivenLineOffsetSm.h" + +int +DrivenLineOffsetSm_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -2047L && value <= 2047L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DrivenLineOffsetSm_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-2047..2047) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DrivenLineOffsetSm_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, -2047, 2047 } /* (-2047..2047) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DrivenLineOffsetSm_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DrivenLineOffsetSm = { + "DrivenLineOffsetSm", + "DrivenLineOffsetSm", + &asn_OP_NativeInteger, + asn_DEF_DrivenLineOffsetSm_tags_1, + sizeof(asn_DEF_DrivenLineOffsetSm_tags_1) + /sizeof(asn_DEF_DrivenLineOffsetSm_tags_1[0]), /* 1 */ + asn_DEF_DrivenLineOffsetSm_tags_1, /* Same as above */ + sizeof(asn_DEF_DrivenLineOffsetSm_tags_1) + /sizeof(asn_DEF_DrivenLineOffsetSm_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DrivenLineOffsetSm_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DrivenLineOffsetSm_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DrivenLineOffsetSm_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetSm.h b/src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetSm.h deleted file mode 100644 index 00b91ec43..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DrivenLineOffsetSm.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DrivenLineOffsetSm_H_ -#define _DrivenLineOffsetSm_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DrivenLineOffsetSm */ -typedef long DrivenLineOffsetSm_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DrivenLineOffsetSm_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DrivenLineOffsetSm; -asn_struct_free_f DrivenLineOffsetSm_free; -asn_struct_print_f DrivenLineOffsetSm_print; -asn_constr_check_f DrivenLineOffsetSm_constraint; -ber_type_decoder_f DrivenLineOffsetSm_decode_ber; -der_type_encoder_f DrivenLineOffsetSm_encode_der; -xer_type_decoder_f DrivenLineOffsetSm_decode_xer; -xer_type_encoder_f DrivenLineOffsetSm_encode_xer; -oer_type_decoder_f DrivenLineOffsetSm_decode_oer; -oer_type_encoder_f DrivenLineOffsetSm_encode_oer; -per_type_decoder_f DrivenLineOffsetSm_decode_uper; -per_type_encoder_f DrivenLineOffsetSm_encode_uper; -per_type_decoder_f DrivenLineOffsetSm_decode_aper; -per_type_encoder_f DrivenLineOffsetSm_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DrivenLineOffsetSm_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DriverCharacteristics.c b/src/tmx/Asn_J2735/src/r2024/DriverCharacteristics.c new file mode 100644 index 000000000..df757c488 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DriverCharacteristics.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DriverCharacteristics.h" + +asn_TYPE_member_t asn_MBR_DriverCharacteristics_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DriverCharacteristics, driverClass), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "driverClass" + }, + { ATF_NOFLAGS, 0, offsetof(struct DriverCharacteristics, tripPurpose), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tripPurpose" + }, +}; +static const ber_tlv_tag_t asn_DEF_DriverCharacteristics_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DriverCharacteristics_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* driverClass */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tripPurpose */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DriverCharacteristics_specs_1 = { + sizeof(struct DriverCharacteristics), + offsetof(struct DriverCharacteristics, _asn_ctx), + asn_MAP_DriverCharacteristics_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DriverCharacteristics = { + "DriverCharacteristics", + "DriverCharacteristics", + &asn_OP_SEQUENCE, + asn_DEF_DriverCharacteristics_tags_1, + sizeof(asn_DEF_DriverCharacteristics_tags_1) + /sizeof(asn_DEF_DriverCharacteristics_tags_1[0]), /* 1 */ + asn_DEF_DriverCharacteristics_tags_1, /* Same as above */ + sizeof(asn_DEF_DriverCharacteristics_tags_1) + /sizeof(asn_DEF_DriverCharacteristics_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DriverCharacteristics_1, + 2, /* Elements count */ + &asn_SPC_DriverCharacteristics_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DriverCharacteristics.h b/src/tmx/Asn_J2735/src/r2024/DriverCharacteristics.h deleted file mode 100644 index f2cee4bc7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DriverCharacteristics.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DriverCharacteristics_H_ -#define _DriverCharacteristics_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int1Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DriverCharacteristics */ -typedef struct DriverCharacteristics { - Int1Unsigned_t driverClass; - Int1Unsigned_t tripPurpose; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DriverCharacteristics_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_DriverCharacteristics; -extern asn_SEQUENCE_specifics_t asn_SPC_DriverCharacteristics_specs_1; -extern asn_TYPE_member_t asn_MBR_DriverCharacteristics_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _DriverCharacteristics_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DrivingWheelAngle.c b/src/tmx/Asn_J2735/src/r2024/DrivingWheelAngle.c new file mode 100644 index 000000000..6f866fac0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DrivingWheelAngle.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DrivingWheelAngle.h" + +int +DrivingWheelAngle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -128L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_DrivingWheelAngle_constr_1 CC_NOTUSED = { + { 1, 0 } /* (-128..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_DrivingWheelAngle_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -128, 127 } /* (-128..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_DrivingWheelAngle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_DrivingWheelAngle = { + "DrivingWheelAngle", + "DrivingWheelAngle", + &asn_OP_NativeInteger, + asn_DEF_DrivingWheelAngle_tags_1, + sizeof(asn_DEF_DrivingWheelAngle_tags_1) + /sizeof(asn_DEF_DrivingWheelAngle_tags_1[0]), /* 1 */ + asn_DEF_DrivingWheelAngle_tags_1, /* Same as above */ + sizeof(asn_DEF_DrivingWheelAngle_tags_1) + /sizeof(asn_DEF_DrivingWheelAngle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_DrivingWheelAngle_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_DrivingWheelAngle_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + DrivingWheelAngle_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DrivingWheelAngle.h b/src/tmx/Asn_J2735/src/r2024/DrivingWheelAngle.h deleted file mode 100644 index 90a336bf1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DrivingWheelAngle.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DrivingWheelAngle_H_ -#define _DrivingWheelAngle_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* DrivingWheelAngle */ -typedef long DrivingWheelAngle_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_DrivingWheelAngle_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_DrivingWheelAngle; -asn_struct_free_f DrivingWheelAngle_free; -asn_struct_print_f DrivingWheelAngle_print; -asn_constr_check_f DrivingWheelAngle_constraint; -ber_type_decoder_f DrivingWheelAngle_decode_ber; -der_type_encoder_f DrivingWheelAngle_encode_der; -xer_type_decoder_f DrivingWheelAngle_decode_xer; -xer_type_encoder_f DrivingWheelAngle_encode_xer; -oer_type_decoder_f DrivingWheelAngle_decode_oer; -oer_type_encoder_f DrivingWheelAngle_encode_oer; -per_type_decoder_f DrivingWheelAngle_decode_uper; -per_type_encoder_f DrivingWheelAngle_encode_uper; -per_type_decoder_f DrivingWheelAngle_decode_aper; -per_type_encoder_f DrivingWheelAngle_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _DrivingWheelAngle_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/DynamicInfoContainer.c b/src/tmx/Asn_J2735/src/r2024/DynamicInfoContainer.c new file mode 100644 index 000000000..364529c4e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/DynamicInfoContainer.c @@ -0,0 +1,270 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "DynamicInfoContainer.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static int +memb_dmsSignString_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 12UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_priority_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_priority_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_dmsSignString_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..12)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_dmsSignString_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 12 } /* (SIZE(1..12)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_dmsSignString_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..12)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_dmsSignString_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 12 } /* (SIZE(1..12)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_priority_value2enum_2[] = { + { 0, 12, "low-priority" }, + { 1, 15, "medium-priority" }, + { 2, 13, "high-priority" }, + { 3, 8, "critical" } +}; +static const unsigned int asn_MAP_priority_enum2value_2[] = { + 3, /* critical(3) */ + 2, /* high-priority(2) */ + 0, /* low-priority(0) */ + 1 /* medium-priority(1) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_priority_specs_2 = { + asn_MAP_priority_value2enum_2, /* "tag" => N; sorted by tag */ + asn_MAP_priority_enum2value_2, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_priority_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_priority_2 = { + "priority", + "priority", + &asn_OP_NativeEnumerated, + asn_DEF_priority_tags_2, + sizeof(asn_DEF_priority_tags_2) + /sizeof(asn_DEF_priority_tags_2[0]) - 1, /* 1 */ + asn_DEF_priority_tags_2, /* Same as above */ + sizeof(asn_DEF_priority_tags_2) + /sizeof(asn_DEF_priority_tags_2[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_priority_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_priority_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_priority_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_dmsSignString_7[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), + 0, + &asn_DEF_ShortString, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_dmsSignString_tags_7[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_dmsSignString_specs_7 = { + sizeof(struct DynamicInfoContainer__dmsSignString), + offsetof(struct DynamicInfoContainer__dmsSignString, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_dmsSignString_7 = { + "dmsSignString", + "dmsSignString", + &asn_OP_SEQUENCE_OF, + asn_DEF_dmsSignString_tags_7, + sizeof(asn_DEF_dmsSignString_tags_7) + /sizeof(asn_DEF_dmsSignString_tags_7[0]) - 1, /* 1 */ + asn_DEF_dmsSignString_tags_7, /* Same as above */ + sizeof(asn_DEF_dmsSignString_tags_7) + /sizeof(asn_DEF_dmsSignString_tags_7[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_dmsSignString_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_dmsSignString_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_dmsSignString_7, + 1, /* Single element */ + &asn_SPC_dmsSignString_specs_7 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_DynamicInfoContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct DynamicInfoContainer, priority), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_priority_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "priority" + }, + { ATF_NOFLAGS, 0, offsetof(struct DynamicInfoContainer, dmsSignString), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_dmsSignString_7, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_dmsSignString_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_dmsSignString_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_dmsSignString_constraint_1 + }, + 0, 0, /* No default value */ + "dmsSignString" + }, + { ATF_NOFLAGS, 0, offsetof(struct DynamicInfoContainer, applicableRegion), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "applicableRegion" + }, +}; +static const ber_tlv_tag_t asn_DEF_DynamicInfoContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_DynamicInfoContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* priority */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dmsSignString */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* applicableRegion */ +}; +asn_SEQUENCE_specifics_t asn_SPC_DynamicInfoContainer_specs_1 = { + sizeof(struct DynamicInfoContainer), + offsetof(struct DynamicInfoContainer, _asn_ctx), + asn_MAP_DynamicInfoContainer_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_DynamicInfoContainer = { + "DynamicInfoContainer", + "DynamicInfoContainer", + &asn_OP_SEQUENCE, + asn_DEF_DynamicInfoContainer_tags_1, + sizeof(asn_DEF_DynamicInfoContainer_tags_1) + /sizeof(asn_DEF_DynamicInfoContainer_tags_1[0]), /* 1 */ + asn_DEF_DynamicInfoContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_DynamicInfoContainer_tags_1) + /sizeof(asn_DEF_DynamicInfoContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_DynamicInfoContainer_1, + 3, /* Elements count */ + &asn_SPC_DynamicInfoContainer_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/DynamicInfoContainer.h b/src/tmx/Asn_J2735/src/r2024/DynamicInfoContainer.h deleted file mode 100644 index 03396d86f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/DynamicInfoContainer.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _DynamicInfoContainer_H_ -#define _DynamicInfoContainer_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" -#include "RegionInfo.h" -#include "ShortString.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum DynamicInfoContainer__priority { - DynamicInfoContainer__priority_low_priority = 0, - DynamicInfoContainer__priority_medium_priority = 1, - DynamicInfoContainer__priority_high_priority = 2, - DynamicInfoContainer__priority_critical = 3 -} e_DynamicInfoContainer__priority; - -/* DynamicInfoContainer */ -typedef struct DynamicInfoContainer { - long priority; - struct DynamicInfoContainer__dmsSignString { - A_SEQUENCE_OF(ShortString_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } dmsSignString; - RegionInfo_t applicableRegion; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} DynamicInfoContainer_t; - -/* Implementation */ -/* extern asn_TYPE_descriptor_t asn_DEF_priority_2; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_DynamicInfoContainer; -extern asn_SEQUENCE_specifics_t asn_SPC_DynamicInfoContainer_specs_1; -extern asn_TYPE_member_t asn_MBR_DynamicInfoContainer_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _DynamicInfoContainer_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EXTERNAL.c b/src/tmx/Asn_J2735/src/r2024/EXTERNAL.c new file mode 100644 index 000000000..718adff91 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EXTERNAL.c @@ -0,0 +1,228 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ASN1C-UsefulInformationObjectClasses" + * found in "/usr/local/share/asn1c/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EXTERNAL.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_encoding_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_encoding_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_encoding_5[] = { + { ATF_NOFLAGS, 0, offsetof(struct EXTERNAL__encoding, choice.single_ASN1_type), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ANY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "single-ASN1-type" + }, + { ATF_NOFLAGS, 0, offsetof(struct EXTERNAL__encoding, choice.octet_aligned), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "octet-aligned" + }, + { ATF_NOFLAGS, 0, offsetof(struct EXTERNAL__encoding, choice.arbitrary), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "arbitrary" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_encoding_tag2el_5[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* single-ASN1-type */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* octet-aligned */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* arbitrary */ +}; +static asn_CHOICE_specifics_t asn_SPC_encoding_specs_5 = { + sizeof(struct EXTERNAL__encoding), + offsetof(struct EXTERNAL__encoding, _asn_ctx), + offsetof(struct EXTERNAL__encoding, present), + sizeof(((struct EXTERNAL__encoding *)0)->present), + asn_MAP_encoding_tag2el_5, + 3, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_encoding_5 = { + "encoding", + "encoding", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_encoding_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_encoding_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_encoding_5, + 3, /* Elements count */ + &asn_SPC_encoding_specs_5 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_EXTERNAL_1[] = { + { ATF_POINTER, 3, offsetof(struct EXTERNAL, direct_reference), + (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), + 0, + &asn_DEF_OBJECT_IDENTIFIER, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "direct-reference" + }, + { ATF_POINTER, 2, offsetof(struct EXTERNAL, indirect_reference), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "indirect-reference" + }, + { ATF_POINTER, 1, offsetof(struct EXTERNAL, data_value_descriptor), + (ASN_TAG_CLASS_UNIVERSAL | (7 << 2)), + 0, + &asn_DEF_ObjectDescriptor, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "data-value-descriptor" + }, + { ATF_NOFLAGS, 0, offsetof(struct EXTERNAL, encoding), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_encoding_5, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "encoding" + }, +}; +static const int asn_MAP_EXTERNAL_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_EXTERNAL_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (8 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EXTERNAL_tag2el_1[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 0 }, /* indirect-reference */ + { (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 0, 0, 0 }, /* direct-reference */ + { (ASN_TAG_CLASS_UNIVERSAL | (7 << 2)), 2, 0, 0 }, /* data-value-descriptor */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 3, 0, 0 }, /* single-ASN1-type */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 3, 0, 0 }, /* octet-aligned */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 3, 0, 0 } /* arbitrary */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_EXTERNAL_specs_1 = { + sizeof(struct EXTERNAL), + offsetof(struct EXTERNAL, _asn_ctx), + asn_MAP_EXTERNAL_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_EXTERNAL_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EXTERNAL = { + "EXTERNAL", + "EXTERNAL", + &asn_OP_SEQUENCE, + asn_DEF_EXTERNAL_tags_1, + sizeof(asn_DEF_EXTERNAL_tags_1) + /sizeof(asn_DEF_EXTERNAL_tags_1[0]) - 1, /* 1 */ + asn_DEF_EXTERNAL_tags_1, /* Same as above */ + sizeof(asn_DEF_EXTERNAL_tags_1) + /sizeof(asn_DEF_EXTERNAL_tags_1[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_EXTERNAL_1, + 4, /* Elements count */ + &asn_SPC_EXTERNAL_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EXTERNAL.h b/src/tmx/Asn_J2735/src/r2024/EXTERNAL.h deleted file mode 100644 index f059c3047..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EXTERNAL.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ASN1C-UsefulInformationObjectClasses" - * found in "/usr/local/share/asn1c/standard-modules/ASN1C-UsefulInformationObjectClasses.asn1" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EXTERNAL_H_ -#define _EXTERNAL_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OBJECT_IDENTIFIER.h" -#include "NativeInteger.h" -#include "ObjectDescriptor.h" -#include "ANY.h" -#include "OCTET_STRING.h" -#include "BIT_STRING.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum EXTERNAL__encoding_PR { - EXTERNAL__encoding_PR_NOTHING, /* No components present */ - EXTERNAL__encoding_PR_single_ASN1_type, - EXTERNAL__encoding_PR_octet_aligned, - EXTERNAL__encoding_PR_arbitrary -} EXTERNAL__encoding_PR; - -/* EXTERNAL */ -typedef struct EXTERNAL { - OBJECT_IDENTIFIER_t *direct_reference; /* OPTIONAL */ - long *indirect_reference; /* OPTIONAL */ - ObjectDescriptor_t *data_value_descriptor; /* OPTIONAL */ - struct EXTERNAL__encoding { - EXTERNAL__encoding_PR present; - union EXTERNAL__encoding_u { - ANY_t single_ASN1_type; - OCTET_STRING_t octet_aligned; - BIT_STRING_t arbitrary; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } encoding; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} EXTERNAL_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EXTERNAL; - -#ifdef __cplusplus -} -#endif - -#endif /* _EXTERNAL_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EfcContextMark.c b/src/tmx/Asn_J2735/src/r2024/EfcContextMark.c new file mode 100644 index 000000000..f05c19a12 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EfcContextMark.c @@ -0,0 +1,177 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EfcContextMark.h" + +static int +memb_typeOfContract_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_contextVersion_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_typeOfContract_constr_3 CC_NOTUSED = { + { 0, 0 }, + 2 /* (SIZE(2..2)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_typeOfContract_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_contextVersion_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_contextVersion_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 0, 127 } /* (0..127,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_EfcContextMark_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct EfcContextMark, contractProvider), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Provider, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "contractProvider" + }, + { ATF_NOFLAGS, 0, offsetof(struct EfcContextMark, typeOfContract), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_typeOfContract_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_typeOfContract_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_typeOfContract_constraint_1 + }, + 0, 0, /* No default value */ + "typeOfContract" + }, + { ATF_NOFLAGS, 0, offsetof(struct EfcContextMark, contextVersion), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_contextVersion_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_contextVersion_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_contextVersion_constraint_1 + }, + 0, 0, /* No default value */ + "contextVersion" + }, +}; +static const ber_tlv_tag_t asn_DEF_EfcContextMark_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EfcContextMark_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* contractProvider */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* typeOfContract */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* contextVersion */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_EfcContextMark_specs_1 = { + sizeof(struct EfcContextMark), + offsetof(struct EfcContextMark, _asn_ctx), + asn_MAP_EfcContextMark_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EfcContextMark = { + "EfcContextMark", + "EfcContextMark", + &asn_OP_SEQUENCE, + asn_DEF_EfcContextMark_tags_1, + sizeof(asn_DEF_EfcContextMark_tags_1) + /sizeof(asn_DEF_EfcContextMark_tags_1[0]), /* 1 */ + asn_DEF_EfcContextMark_tags_1, /* Same as above */ + sizeof(asn_DEF_EfcContextMark_tags_1) + /sizeof(asn_DEF_EfcContextMark_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_EfcContextMark_1, + 3, /* Elements count */ + &asn_SPC_EfcContextMark_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EfcContextMark.h b/src/tmx/Asn_J2735/src/r2024/EfcContextMark.h deleted file mode 100644 index cd6a26c5b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EfcContextMark.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EfcContextMark_H_ -#define _EfcContextMark_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Provider.h" -#include "OCTET_STRING.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EfcContextMark */ -typedef struct EfcContextMark { - Provider_t contractProvider; - OCTET_STRING_t typeOfContract; - long contextVersion; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} EfcContextMark_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EfcContextMark; - -#ifdef __cplusplus -} -#endif - -#endif /* _EfcContextMark_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Altitude.c b/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Altitude.c new file mode 100644 index 000000000..0c6bd672c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Altitude.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EfcDataDictionary_Altitude.h" + +int +EfcDataDictionary_Altitude_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32768L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Int2Signed, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EfcDataDictionary_Altitude_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32768..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EfcDataDictionary_Altitude_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_EfcDataDictionary_Altitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EfcDataDictionary_Altitude = { + "Altitude", + "Altitude", + &asn_OP_NativeInteger, + asn_DEF_EfcDataDictionary_Altitude_tags_1, + sizeof(asn_DEF_EfcDataDictionary_Altitude_tags_1) + /sizeof(asn_DEF_EfcDataDictionary_Altitude_tags_1[0]), /* 1 */ + asn_DEF_EfcDataDictionary_Altitude_tags_1, /* Same as above */ + sizeof(asn_DEF_EfcDataDictionary_Altitude_tags_1) + /sizeof(asn_DEF_EfcDataDictionary_Altitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EfcDataDictionary_Altitude_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EfcDataDictionary_Altitude_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + EfcDataDictionary_Altitude_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Altitude.h b/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Altitude.h deleted file mode 100644 index afc51fe6a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Altitude.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EfcDataDictionary_Altitude_H_ -#define _EfcDataDictionary_Altitude_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int2Signed.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EfcDataDictionary_Altitude */ -typedef Int2Signed_t EfcDataDictionary_Altitude_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_EfcDataDictionary_Altitude_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_EfcDataDictionary_Altitude; -asn_struct_free_f EfcDataDictionary_Altitude_free; -asn_struct_print_f EfcDataDictionary_Altitude_print; -asn_constr_check_f EfcDataDictionary_Altitude_constraint; -ber_type_decoder_f EfcDataDictionary_Altitude_decode_ber; -der_type_encoder_f EfcDataDictionary_Altitude_encode_der; -xer_type_decoder_f EfcDataDictionary_Altitude_decode_xer; -xer_type_encoder_f EfcDataDictionary_Altitude_encode_xer; -oer_type_decoder_f EfcDataDictionary_Altitude_decode_oer; -oer_type_encoder_f EfcDataDictionary_Altitude_encode_oer; -per_type_decoder_f EfcDataDictionary_Altitude_decode_uper; -per_type_encoder_f EfcDataDictionary_Altitude_encode_uper; -per_type_decoder_f EfcDataDictionary_Altitude_decode_aper; -per_type_encoder_f EfcDataDictionary_Altitude_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EfcDataDictionary_Altitude_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Duration.c b/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Duration.c new file mode 100644 index 000000000..60e055db8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Duration.c @@ -0,0 +1,109 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EfcDataDictionary_Duration.h" + +static int asn_DFL_3_cmp_0(const void *sptr) { + const TimeUnit_t *st = sptr; + + if(!st) { + return -1; /* No value is not a default value */ + } + + /* Test default value 0 */ + return (*st != 0); +} +static int asn_DFL_3_set_0(void **sptr) { + TimeUnit_t *st = *sptr; + + if(!st) { + st = (*sptr = CALLOC(1, sizeof(*st))); + if(!st) return -1; + } + + /* Install default value 0 */ + *st = 0; + return 0; +} +static asn_TYPE_member_t asn_MBR_EfcDataDictionary_Duration_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct EfcDataDictionary_Duration, durationValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int4Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "durationValue" + }, + { ATF_NOFLAGS, 1, offsetof(struct EfcDataDictionary_Duration, timeUnit), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeUnit, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + &asn_DFL_3_cmp_0, /* Compare DEFAULT 0 */ + &asn_DFL_3_set_0, /* Set DEFAULT 0 */ + "timeUnit" + }, +}; +static const int asn_MAP_EfcDataDictionary_Duration_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_EfcDataDictionary_Duration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EfcDataDictionary_Duration_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* durationValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* timeUnit */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_EfcDataDictionary_Duration_specs_1 = { + sizeof(struct EfcDataDictionary_Duration), + offsetof(struct EfcDataDictionary_Duration, _asn_ctx), + asn_MAP_EfcDataDictionary_Duration_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_EfcDataDictionary_Duration_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EfcDataDictionary_Duration = { + "Duration", + "Duration", + &asn_OP_SEQUENCE, + asn_DEF_EfcDataDictionary_Duration_tags_1, + sizeof(asn_DEF_EfcDataDictionary_Duration_tags_1) + /sizeof(asn_DEF_EfcDataDictionary_Duration_tags_1[0]), /* 1 */ + asn_DEF_EfcDataDictionary_Duration_tags_1, /* Same as above */ + sizeof(asn_DEF_EfcDataDictionary_Duration_tags_1) + /sizeof(asn_DEF_EfcDataDictionary_Duration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_EfcDataDictionary_Duration_1, + 2, /* Elements count */ + &asn_SPC_EfcDataDictionary_Duration_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Duration.h b/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Duration.h deleted file mode 100644 index 749dc7a3a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Duration.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EfcDataDictionary_Duration_H_ -#define _EfcDataDictionary_Duration_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int4Unsigned.h" -#include "TimeUnit.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EfcDataDictionary_Duration */ -typedef struct EfcDataDictionary_Duration { - Int4Unsigned_t durationValue; - TimeUnit_t timeUnit; /* DEFAULT 0 */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} EfcDataDictionary_Duration_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EfcDataDictionary_Duration; - -#ifdef __cplusplus -} -#endif - -#endif /* _EfcDataDictionary_Duration_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Latitude.c b/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Latitude.c new file mode 100644 index 000000000..aa28a8bf2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Latitude.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EfcDataDictionary_Latitude.h" + +int +EfcDataDictionary_Latitude_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= (-2147483647L - 1) && value <= 2147483647L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Int4Signed, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EfcDataDictionary_Latitude_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-2147483648..2147483647) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EfcDataDictionary_Latitude_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, (-2147483647L - 1), 2147483647 } /* (-2147483648..2147483647) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_EfcDataDictionary_Latitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EfcDataDictionary_Latitude = { + "Latitude", + "Latitude", + &asn_OP_NativeInteger, + asn_DEF_EfcDataDictionary_Latitude_tags_1, + sizeof(asn_DEF_EfcDataDictionary_Latitude_tags_1) + /sizeof(asn_DEF_EfcDataDictionary_Latitude_tags_1[0]), /* 1 */ + asn_DEF_EfcDataDictionary_Latitude_tags_1, /* Same as above */ + sizeof(asn_DEF_EfcDataDictionary_Latitude_tags_1) + /sizeof(asn_DEF_EfcDataDictionary_Latitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EfcDataDictionary_Latitude_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EfcDataDictionary_Latitude_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + EfcDataDictionary_Latitude_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Latitude.h b/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Latitude.h deleted file mode 100644 index 6d5d1d290..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Latitude.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EfcDataDictionary_Latitude_H_ -#define _EfcDataDictionary_Latitude_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int4Signed.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EfcDataDictionary_Latitude */ -typedef Int4Signed_t EfcDataDictionary_Latitude_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_EfcDataDictionary_Latitude_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_EfcDataDictionary_Latitude; -asn_struct_free_f EfcDataDictionary_Latitude_free; -asn_struct_print_f EfcDataDictionary_Latitude_print; -asn_constr_check_f EfcDataDictionary_Latitude_constraint; -ber_type_decoder_f EfcDataDictionary_Latitude_decode_ber; -der_type_encoder_f EfcDataDictionary_Latitude_encode_der; -xer_type_decoder_f EfcDataDictionary_Latitude_decode_xer; -xer_type_encoder_f EfcDataDictionary_Latitude_encode_xer; -oer_type_decoder_f EfcDataDictionary_Latitude_decode_oer; -oer_type_encoder_f EfcDataDictionary_Latitude_encode_oer; -per_type_decoder_f EfcDataDictionary_Latitude_decode_uper; -per_type_encoder_f EfcDataDictionary_Latitude_encode_uper; -per_type_decoder_f EfcDataDictionary_Latitude_decode_aper; -per_type_encoder_f EfcDataDictionary_Latitude_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EfcDataDictionary_Latitude_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Longitude.c b/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Longitude.c new file mode 100644 index 000000000..119cbab7b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Longitude.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EfcDataDictionary_Longitude.h" + +int +EfcDataDictionary_Longitude_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= (-2147483647L - 1) && value <= 2147483647L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Int4Signed, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EfcDataDictionary_Longitude_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-2147483648..2147483647) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EfcDataDictionary_Longitude_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, (-2147483647L - 1), 2147483647 } /* (-2147483648..2147483647) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_EfcDataDictionary_Longitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EfcDataDictionary_Longitude = { + "Longitude", + "Longitude", + &asn_OP_NativeInteger, + asn_DEF_EfcDataDictionary_Longitude_tags_1, + sizeof(asn_DEF_EfcDataDictionary_Longitude_tags_1) + /sizeof(asn_DEF_EfcDataDictionary_Longitude_tags_1[0]), /* 1 */ + asn_DEF_EfcDataDictionary_Longitude_tags_1, /* Same as above */ + sizeof(asn_DEF_EfcDataDictionary_Longitude_tags_1) + /sizeof(asn_DEF_EfcDataDictionary_Longitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EfcDataDictionary_Longitude_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EfcDataDictionary_Longitude_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + EfcDataDictionary_Longitude_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Longitude.h b/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Longitude.h deleted file mode 100644 index 4bd3fdadc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EfcDataDictionary_Longitude.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EfcDataDictionary_Longitude_H_ -#define _EfcDataDictionary_Longitude_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int4Signed.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EfcDataDictionary_Longitude */ -typedef Int4Signed_t EfcDataDictionary_Longitude_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_EfcDataDictionary_Longitude_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_EfcDataDictionary_Longitude; -asn_struct_free_f EfcDataDictionary_Longitude_free; -asn_struct_print_f EfcDataDictionary_Longitude_print; -asn_constr_check_f EfcDataDictionary_Longitude_constraint; -ber_type_decoder_f EfcDataDictionary_Longitude_decode_ber; -der_type_encoder_f EfcDataDictionary_Longitude_encode_der; -xer_type_decoder_f EfcDataDictionary_Longitude_decode_xer; -xer_type_encoder_f EfcDataDictionary_Longitude_encode_xer; -oer_type_decoder_f EfcDataDictionary_Longitude_decode_oer; -oer_type_encoder_f EfcDataDictionary_Longitude_encode_oer; -per_type_decoder_f EfcDataDictionary_Longitude_decode_uper; -per_type_encoder_f EfcDataDictionary_Longitude_encode_uper; -per_type_decoder_f EfcDataDictionary_Longitude_decode_aper; -per_type_encoder_f EfcDataDictionary_Longitude_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EfcDataDictionary_Longitude_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ElevOffset.c b/src/tmx/Asn_J2735/src/r2024/ElevOffset.c new file mode 100644 index 000000000..e91dd7f49 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ElevOffset.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ElevOffset.h" + +int +ElevOffset_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -4096L && value <= 4095L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ElevOffset_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-4096..4095) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ElevOffset_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 13, 13, -4096, 4095 } /* (-4096..4095) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ElevOffset_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ElevOffset = { + "ElevOffset", + "ElevOffset", + &asn_OP_NativeInteger, + asn_DEF_ElevOffset_tags_1, + sizeof(asn_DEF_ElevOffset_tags_1) + /sizeof(asn_DEF_ElevOffset_tags_1[0]), /* 1 */ + asn_DEF_ElevOffset_tags_1, /* Same as above */ + sizeof(asn_DEF_ElevOffset_tags_1) + /sizeof(asn_DEF_ElevOffset_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ElevOffset_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ElevOffset_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ElevOffset_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ElevOffset.h b/src/tmx/Asn_J2735/src/r2024/ElevOffset.h deleted file mode 100644 index 73234fcd5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ElevOffset.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ElevOffset_H_ -#define _ElevOffset_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ElevOffset */ -typedef long ElevOffset_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ElevOffset_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ElevOffset; -asn_struct_free_f ElevOffset_free; -asn_struct_print_f ElevOffset_print; -asn_constr_check_f ElevOffset_constraint; -ber_type_decoder_f ElevOffset_decode_ber; -der_type_encoder_f ElevOffset_encode_der; -xer_type_decoder_f ElevOffset_decode_xer; -xer_type_encoder_f ElevOffset_encode_xer; -oer_type_decoder_f ElevOffset_decode_oer; -oer_type_encoder_f ElevOffset_encode_oer; -per_type_decoder_f ElevOffset_decode_uper; -per_type_encoder_f ElevOffset_encode_uper; -per_type_decoder_f ElevOffset_decode_aper; -per_type_encoder_f ElevOffset_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ElevOffset_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ElevationConfidence.c b/src/tmx/Asn_J2735/src/r2024/ElevationConfidence.c new file mode 100644 index 000000000..61928b96f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ElevationConfidence.c @@ -0,0 +1,96 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ElevationConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ElevationConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ElevationConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_ElevationConfidence_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 11, "elev-500-00" }, + { 2, 11, "elev-200-00" }, + { 3, 11, "elev-100-00" }, + { 4, 11, "elev-050-00" }, + { 5, 11, "elev-020-00" }, + { 6, 11, "elev-010-00" }, + { 7, 11, "elev-005-00" }, + { 8, 11, "elev-002-00" }, + { 9, 11, "elev-001-00" }, + { 10, 11, "elev-000-50" }, + { 11, 11, "elev-000-20" }, + { 12, 11, "elev-000-10" }, + { 13, 11, "elev-000-05" }, + { 14, 11, "elev-000-02" }, + { 15, 11, "elev-000-01" } +}; +static const unsigned int asn_MAP_ElevationConfidence_enum2value_1[] = { + 15, /* elev-000-01(15) */ + 14, /* elev-000-02(14) */ + 13, /* elev-000-05(13) */ + 12, /* elev-000-10(12) */ + 11, /* elev-000-20(11) */ + 10, /* elev-000-50(10) */ + 9, /* elev-001-00(9) */ + 8, /* elev-002-00(8) */ + 7, /* elev-005-00(7) */ + 6, /* elev-010-00(6) */ + 5, /* elev-020-00(5) */ + 4, /* elev-050-00(4) */ + 3, /* elev-100-00(3) */ + 2, /* elev-200-00(2) */ + 1, /* elev-500-00(1) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_ElevationConfidence_specs_1 = { + asn_MAP_ElevationConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ElevationConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 16, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ElevationConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ElevationConfidence = { + "ElevationConfidence", + "ElevationConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_ElevationConfidence_tags_1, + sizeof(asn_DEF_ElevationConfidence_tags_1) + /sizeof(asn_DEF_ElevationConfidence_tags_1[0]), /* 1 */ + asn_DEF_ElevationConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_ElevationConfidence_tags_1) + /sizeof(asn_DEF_ElevationConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ElevationConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ElevationConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ElevationConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ElevationConfidence.h b/src/tmx/Asn_J2735/src/r2024/ElevationConfidence.h deleted file mode 100644 index c76ba92b5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ElevationConfidence.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ElevationConfidence_H_ -#define _ElevationConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ElevationConfidence { - ElevationConfidence_unavailable = 0, - ElevationConfidence_elev_500_00 = 1, - ElevationConfidence_elev_200_00 = 2, - ElevationConfidence_elev_100_00 = 3, - ElevationConfidence_elev_050_00 = 4, - ElevationConfidence_elev_020_00 = 5, - ElevationConfidence_elev_010_00 = 6, - ElevationConfidence_elev_005_00 = 7, - ElevationConfidence_elev_002_00 = 8, - ElevationConfidence_elev_001_00 = 9, - ElevationConfidence_elev_000_50 = 10, - ElevationConfidence_elev_000_20 = 11, - ElevationConfidence_elev_000_10 = 12, - ElevationConfidence_elev_000_05 = 13, - ElevationConfidence_elev_000_02 = 14, - ElevationConfidence_elev_000_01 = 15 -} e_ElevationConfidence; - -/* ElevationConfidence */ -typedef long ElevationConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ElevationConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ElevationConfidence; -extern const asn_INTEGER_specifics_t asn_SPC_ElevationConfidence_specs_1; -asn_struct_free_f ElevationConfidence_free; -asn_struct_print_f ElevationConfidence_print; -asn_constr_check_f ElevationConfidence_constraint; -ber_type_decoder_f ElevationConfidence_decode_ber; -der_type_encoder_f ElevationConfidence_encode_der; -xer_type_decoder_f ElevationConfidence_decode_xer; -xer_type_encoder_f ElevationConfidence_encode_xer; -oer_type_decoder_f ElevationConfidence_decode_oer; -oer_type_encoder_f ElevationConfidence_encode_oer; -per_type_decoder_f ElevationConfidence_decode_uper; -per_type_encoder_f ElevationConfidence_encode_uper; -per_type_decoder_f ElevationConfidence_decode_aper; -per_type_encoder_f ElevationConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ElevationConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EmergencyDetails.c b/src/tmx/Asn_J2735/src/r2024/EmergencyDetails.c new file mode 100644 index 000000000..e0e7f1bb4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EmergencyDetails.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EmergencyDetails.h" + +asn_TYPE_member_t asn_MBR_EmergencyDetails_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct EmergencyDetails, notUsed), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SSPindex, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "notUsed" + }, + { ATF_NOFLAGS, 0, offsetof(struct EmergencyDetails, sirenUse), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SirenInUse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sirenUse" + }, + { ATF_NOFLAGS, 0, offsetof(struct EmergencyDetails, lightsUse), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LightbarInUse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lightsUse" + }, + { ATF_NOFLAGS, 0, offsetof(struct EmergencyDetails, multi), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MultiVehicleResponse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "multi" + }, + { ATF_POINTER, 2, offsetof(struct EmergencyDetails, events), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PrivilegedEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "events" + }, + { ATF_POINTER, 1, offsetof(struct EmergencyDetails, responseType), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ResponseType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "responseType" + }, +}; +static const int asn_MAP_EmergencyDetails_oms_1[] = { 4, 5 }; +static const ber_tlv_tag_t asn_DEF_EmergencyDetails_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EmergencyDetails_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* notUsed */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sirenUse */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* lightsUse */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* multi */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* events */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* responseType */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EmergencyDetails_specs_1 = { + sizeof(struct EmergencyDetails), + offsetof(struct EmergencyDetails, _asn_ctx), + asn_MAP_EmergencyDetails_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_EmergencyDetails_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EmergencyDetails = { + "EmergencyDetails", + "EmergencyDetails", + &asn_OP_SEQUENCE, + asn_DEF_EmergencyDetails_tags_1, + sizeof(asn_DEF_EmergencyDetails_tags_1) + /sizeof(asn_DEF_EmergencyDetails_tags_1[0]), /* 1 */ + asn_DEF_EmergencyDetails_tags_1, /* Same as above */ + sizeof(asn_DEF_EmergencyDetails_tags_1) + /sizeof(asn_DEF_EmergencyDetails_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_EmergencyDetails_1, + 6, /* Elements count */ + &asn_SPC_EmergencyDetails_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EmergencyDetails.h b/src/tmx/Asn_J2735/src/r2024/EmergencyDetails.h deleted file mode 100644 index ac908cee5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EmergencyDetails.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EmergencyDetails_H_ -#define _EmergencyDetails_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SSPindex.h" -#include "SirenInUse.h" -#include "LightbarInUse.h" -#include "MultiVehicleResponse.h" -#include "ResponseType.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct PrivilegedEvents; - -/* EmergencyDetails */ -typedef struct EmergencyDetails { - SSPindex_t notUsed; - SirenInUse_t sirenUse; - LightbarInUse_t lightsUse; - MultiVehicleResponse_t multi; - struct PrivilegedEvents *events; /* OPTIONAL */ - ResponseType_t *responseType; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} EmergencyDetails_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EmergencyDetails; -extern asn_SEQUENCE_specifics_t asn_SPC_EmergencyDetails_specs_1; -extern asn_TYPE_member_t asn_MBR_EmergencyDetails_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "PrivilegedEvents.h" - -#endif /* _EmergencyDetails_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EmergencyVehicleAlert.c b/src/tmx/Asn_J2735/src/r2024/EmergencyVehicleAlert.c new file mode 100644 index 000000000..f9a017fb0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EmergencyVehicleAlert.c @@ -0,0 +1,351 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EmergencyVehicleAlert" + * found in "J2735-EmergencyVehicleAlert-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EmergencyVehicleAlert.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_12 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_12 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_12 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_12 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_12[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_EmergencyVehicleAlert, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_12[] = { + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_12 = { + sizeof(struct EmergencyVehicleAlert__regional), + offsetof(struct EmergencyVehicleAlert__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_12 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_12, + sizeof(asn_DEF_regional_tags_12) + /sizeof(asn_DEF_regional_tags_12[0]) - 1, /* 1 */ + asn_DEF_regional_tags_12, /* Same as above */ + sizeof(asn_DEF_regional_tags_12) + /sizeof(asn_DEF_regional_tags_12[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_12, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_12, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_12, + 1, /* Single element */ + &asn_SPC_regional_specs_12 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_EmergencyVehicleAlert_1[] = { + { ATF_POINTER, 2, offsetof(struct EmergencyVehicleAlert, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_POINTER, 1, offsetof(struct EmergencyVehicleAlert, id), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct EmergencyVehicleAlert, rsaMsg), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadSideAlert, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rsaMsg" + }, + { ATF_POINTER, 8, offsetof(struct EmergencyVehicleAlert, responseType), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ResponseType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "responseType" + }, + { ATF_POINTER, 7, offsetof(struct EmergencyVehicleAlert, details), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EmergencyDetails, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "details" + }, + { ATF_POINTER, 6, offsetof(struct EmergencyVehicleAlert, mass), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleMass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mass" + }, + { ATF_POINTER, 5, offsetof(struct EmergencyVehicleAlert, basicType), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "basicType" + }, + { ATF_POINTER, 4, offsetof(struct EmergencyVehicleAlert, vehicleType), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_VehicleGroupAffected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleType" + }, + { ATF_POINTER, 3, offsetof(struct EmergencyVehicleAlert, responseEquip), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_IncidentResponseEquipment, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "responseEquip" + }, + { ATF_POINTER, 2, offsetof(struct EmergencyVehicleAlert, responderType), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ResponderGroupAffected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "responderType" + }, + { ATF_POINTER, 1, offsetof(struct EmergencyVehicleAlert, regional), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + 0, + &asn_DEF_regional_12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_12, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_12, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_EmergencyVehicleAlert_oms_1[] = { 0, 1, 3, 4, 5, 6, 7, 8, 9, 10 }; +static const ber_tlv_tag_t asn_DEF_EmergencyVehicleAlert_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EmergencyVehicleAlert_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rsaMsg */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* responseType */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* details */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* mass */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* basicType */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* vehicleType */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* responseEquip */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* responderType */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EmergencyVehicleAlert_specs_1 = { + sizeof(struct EmergencyVehicleAlert), + offsetof(struct EmergencyVehicleAlert, _asn_ctx), + asn_MAP_EmergencyVehicleAlert_tag2el_1, + 11, /* Count of tags in the map */ + asn_MAP_EmergencyVehicleAlert_oms_1, /* Optional members */ + 10, 0, /* Root/Additions */ + 11, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EmergencyVehicleAlert = { + "EmergencyVehicleAlert", + "EmergencyVehicleAlert", + &asn_OP_SEQUENCE, + asn_DEF_EmergencyVehicleAlert_tags_1, + sizeof(asn_DEF_EmergencyVehicleAlert_tags_1) + /sizeof(asn_DEF_EmergencyVehicleAlert_tags_1[0]), /* 1 */ + asn_DEF_EmergencyVehicleAlert_tags_1, /* Same as above */ + sizeof(asn_DEF_EmergencyVehicleAlert_tags_1) + /sizeof(asn_DEF_EmergencyVehicleAlert_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_EmergencyVehicleAlert_1, + 11, /* Elements count */ + &asn_SPC_EmergencyVehicleAlert_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EmergencyVehicleAlert.h b/src/tmx/Asn_J2735/src/r2024/EmergencyVehicleAlert.h deleted file mode 100644 index cbea0e2ed..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EmergencyVehicleAlert.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EmergencyVehicleAlert" - * found in "J2735-EmergencyVehicleAlert-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EmergencyVehicleAlert_H_ -#define _EmergencyVehicleAlert_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "MinuteOfTheYear.h" -#include "TemporaryID.h" -#include "RoadSideAlert.h" -#include "ResponseType.h" -#include "VehicleMass.h" -#include "VehicleType.h" -#include "ITIS_VehicleGroupAffected.h" -#include "ITIS_IncidentResponseEquipment.h" -#include "ITIS_ResponderGroupAffected.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct EmergencyDetails; -struct Reg_EmergencyVehicleAlert; - -/* EmergencyVehicleAlert */ -typedef struct EmergencyVehicleAlert { - MinuteOfTheYear_t *timeStamp; /* OPTIONAL */ - TemporaryID_t *id; /* OPTIONAL */ - RoadSideAlert_t rsaMsg; - ResponseType_t *responseType; /* OPTIONAL */ - struct EmergencyDetails *details; /* OPTIONAL */ - VehicleMass_t *mass; /* OPTIONAL */ - VehicleType_t *basicType; /* OPTIONAL */ - ITIS_VehicleGroupAffected_t *vehicleType; /* OPTIONAL */ - ITIS_IncidentResponseEquipment_t *responseEquip; /* OPTIONAL */ - ITIS_ResponderGroupAffected_t *responderType; /* OPTIONAL */ - struct EmergencyVehicleAlert__regional { - A_SEQUENCE_OF(struct Reg_EmergencyVehicleAlert) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} EmergencyVehicleAlert_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EmergencyVehicleAlert; -extern asn_SEQUENCE_specifics_t asn_SPC_EmergencyVehicleAlert_specs_1; -extern asn_TYPE_member_t asn_MBR_EmergencyVehicleAlert_1[11]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "EmergencyDetails.h" -#include "RegionalExtension.h" - -#endif /* _EmergencyVehicleAlert_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EmissionType.c b/src/tmx/Asn_J2735/src/r2024/EmissionType.c new file mode 100644 index 000000000..a546e4395 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EmissionType.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EmissionType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EmissionType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EmissionType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_EmissionType_value2enum_1[] = { + { 0, 5, "typeA" }, + { 1, 5, "typeB" }, + { 2, 5, "typeC" }, + { 3, 5, "typeD" }, + { 4, 5, "typeE" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_EmissionType_enum2value_1[] = { + 0, /* typeA(0) */ + 1, /* typeB(1) */ + 2, /* typeC(2) */ + 3, /* typeD(3) */ + 4 /* typeE(4) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_EmissionType_specs_1 = { + asn_MAP_EmissionType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_EmissionType_enum2value_1, /* N => "tag"; sorted by N */ + 5, /* Number of elements in the maps */ + 6, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_EmissionType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EmissionType = { + "EmissionType", + "EmissionType", + &asn_OP_NativeEnumerated, + asn_DEF_EmissionType_tags_1, + sizeof(asn_DEF_EmissionType_tags_1) + /sizeof(asn_DEF_EmissionType_tags_1[0]), /* 1 */ + asn_DEF_EmissionType_tags_1, /* Same as above */ + sizeof(asn_DEF_EmissionType_tags_1) + /sizeof(asn_DEF_EmissionType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EmissionType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EmissionType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_EmissionType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EmissionType.h b/src/tmx/Asn_J2735/src/r2024/EmissionType.h deleted file mode 100644 index cdd78443f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EmissionType.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EmissionType_H_ -#define _EmissionType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum EmissionType { - EmissionType_typeA = 0, - EmissionType_typeB = 1, - EmissionType_typeC = 2, - EmissionType_typeD = 3, - EmissionType_typeE = 4 - /* - * Enumeration is extensible - */ -} e_EmissionType; - -/* EmissionType */ -typedef long EmissionType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_EmissionType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_EmissionType; -extern const asn_INTEGER_specifics_t asn_SPC_EmissionType_specs_1; -asn_struct_free_f EmissionType_free; -asn_struct_print_f EmissionType_print; -asn_constr_check_f EmissionType_constraint; -ber_type_decoder_f EmissionType_decode_ber; -der_type_encoder_f EmissionType_encode_der; -xer_type_decoder_f EmissionType_decode_xer; -xer_type_encoder_f EmissionType_encode_xer; -oer_type_decoder_f EmissionType_decode_oer; -oer_type_encoder_f EmissionType_encode_oer; -per_type_decoder_f EmissionType_decode_uper; -per_type_encoder_f EmissionType_encode_uper; -per_type_decoder_f EmissionType_decode_aper; -per_type_encoder_f EmissionType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EmissionType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EmissionUnit.c b/src/tmx/Asn_J2735/src/r2024/EmissionUnit.c new file mode 100644 index 000000000..7c977aabc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EmissionUnit.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EmissionUnit.h" + +int +EmissionUnit_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 1L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EmissionUnit_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..1) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EmissionUnit_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_EmissionUnit_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EmissionUnit = { + "EmissionUnit", + "EmissionUnit", + &asn_OP_NativeInteger, + asn_DEF_EmissionUnit_tags_1, + sizeof(asn_DEF_EmissionUnit_tags_1) + /sizeof(asn_DEF_EmissionUnit_tags_1[0]), /* 1 */ + asn_DEF_EmissionUnit_tags_1, /* Same as above */ + sizeof(asn_DEF_EmissionUnit_tags_1) + /sizeof(asn_DEF_EmissionUnit_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EmissionUnit_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EmissionUnit_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + EmissionUnit_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EmissionUnit.h b/src/tmx/Asn_J2735/src/r2024/EmissionUnit.h deleted file mode 100644 index 62560626b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EmissionUnit.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EmissionUnit_H_ -#define _EmissionUnit_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum EmissionUnit { - EmissionUnit_mgPerKm = 0, - EmissionUnit_mgPerKwh = 1 -} e_EmissionUnit; - -/* EmissionUnit */ -typedef long EmissionUnit_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_EmissionUnit_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_EmissionUnit; -asn_struct_free_f EmissionUnit_free; -asn_struct_print_f EmissionUnit_print; -asn_constr_check_f EmissionUnit_constraint; -ber_type_decoder_f EmissionUnit_decode_ber; -der_type_encoder_f EmissionUnit_encode_der; -xer_type_decoder_f EmissionUnit_decode_xer; -xer_type_encoder_f EmissionUnit_encode_xer; -oer_type_decoder_f EmissionUnit_decode_oer; -oer_type_encoder_f EmissionUnit_encode_oer; -per_type_decoder_f EmissionUnit_decode_uper; -per_type_encoder_f EmissionUnit_encode_uper; -per_type_decoder_f EmissionUnit_decode_aper; -per_type_encoder_f EmissionUnit_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EmissionUnit_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EnabledLaneList.c b/src/tmx/Asn_J2735/src/r2024/EnabledLaneList.c new file mode 100644 index 000000000..b9caa8f16 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EnabledLaneList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EnabledLaneList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EnabledLaneList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EnabledLaneList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_EnabledLaneList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_LaneID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_EnabledLaneList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_EnabledLaneList_specs_1 = { + sizeof(struct EnabledLaneList), + offsetof(struct EnabledLaneList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_EnabledLaneList = { + "EnabledLaneList", + "EnabledLaneList", + &asn_OP_SEQUENCE_OF, + asn_DEF_EnabledLaneList_tags_1, + sizeof(asn_DEF_EnabledLaneList_tags_1) + /sizeof(asn_DEF_EnabledLaneList_tags_1[0]), /* 1 */ + asn_DEF_EnabledLaneList_tags_1, /* Same as above */ + sizeof(asn_DEF_EnabledLaneList_tags_1) + /sizeof(asn_DEF_EnabledLaneList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EnabledLaneList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EnabledLaneList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_EnabledLaneList_1, + 1, /* Single element */ + &asn_SPC_EnabledLaneList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EnabledLaneList.h b/src/tmx/Asn_J2735/src/r2024/EnabledLaneList.h deleted file mode 100644 index b7822ad1c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EnabledLaneList.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EnabledLaneList_H_ -#define _EnabledLaneList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LaneID.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EnabledLaneList */ -typedef struct EnabledLaneList { - A_SEQUENCE_OF(LaneID_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} EnabledLaneList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EnabledLaneList; -extern asn_SET_OF_specifics_t asn_SPC_EnabledLaneList_specs_1; -extern asn_TYPE_member_t asn_MBR_EnabledLaneList_1[1]; -extern asn_per_constraints_t asn_PER_type_EnabledLaneList_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _EnabledLaneList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EncryptedTumData.c b/src/tmx/Asn_J2735/src/r2024/EncryptedTumData.c new file mode 100644 index 000000000..262d75bec --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EncryptedTumData.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageMessage" + * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EncryptedTumData.h" + +int +EncryptedTumData_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 7000UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EncryptedTumData_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..7000)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EncryptedTumData_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 13, 13, 1, 7000 } /* (SIZE(1..7000)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_EncryptedTumData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EncryptedTumData = { + "EncryptedTumData", + "EncryptedTumData", + &asn_OP_OCTET_STRING, + asn_DEF_EncryptedTumData_tags_1, + sizeof(asn_DEF_EncryptedTumData_tags_1) + /sizeof(asn_DEF_EncryptedTumData_tags_1[0]), /* 1 */ + asn_DEF_EncryptedTumData_tags_1, /* Same as above */ + sizeof(asn_DEF_EncryptedTumData_tags_1) + /sizeof(asn_DEF_EncryptedTumData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EncryptedTumData_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EncryptedTumData_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + EncryptedTumData_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EncryptedTumData.h b/src/tmx/Asn_J2735/src/r2024/EncryptedTumData.h deleted file mode 100644 index 8c5eca133..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EncryptedTumData.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageMessage" - * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EncryptedTumData_H_ -#define _EncryptedTumData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EncryptedTumData */ -typedef OCTET_STRING_t EncryptedTumData_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_EncryptedTumData_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_EncryptedTumData; -asn_struct_free_f EncryptedTumData_free; -asn_struct_print_f EncryptedTumData_print; -asn_constr_check_f EncryptedTumData_constraint; -ber_type_decoder_f EncryptedTumData_decode_ber; -der_type_encoder_f EncryptedTumData_encode_der; -xer_type_decoder_f EncryptedTumData_decode_xer; -xer_type_encoder_f EncryptedTumData_encode_xer; -oer_type_decoder_f EncryptedTumData_decode_oer; -oer_type_encoder_f EncryptedTumData_encode_oer; -per_type_decoder_f EncryptedTumData_decode_uper; -per_type_encoder_f EncryptedTumData_encode_uper; -per_type_decoder_f EncryptedTumData_decode_aper; -per_type_encoder_f EncryptedTumData_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EncryptedTumData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EngineCharacteristics.c b/src/tmx/Asn_J2735/src/r2024/EngineCharacteristics.c new file mode 100644 index 000000000..ba6fbc89c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EngineCharacteristics.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EngineCharacteristics.h" + +int +EngineCharacteristics_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EngineCharacteristics_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EngineCharacteristics_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_EngineCharacteristics_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EngineCharacteristics = { + "EngineCharacteristics", + "EngineCharacteristics", + &asn_OP_NativeInteger, + asn_DEF_EngineCharacteristics_tags_1, + sizeof(asn_DEF_EngineCharacteristics_tags_1) + /sizeof(asn_DEF_EngineCharacteristics_tags_1[0]), /* 1 */ + asn_DEF_EngineCharacteristics_tags_1, /* Same as above */ + sizeof(asn_DEF_EngineCharacteristics_tags_1) + /sizeof(asn_DEF_EngineCharacteristics_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EngineCharacteristics_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EngineCharacteristics_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + EngineCharacteristics_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EngineCharacteristics.h b/src/tmx/Asn_J2735/src/r2024/EngineCharacteristics.h deleted file mode 100644 index 351b16855..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EngineCharacteristics.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EngineCharacteristics_H_ -#define _EngineCharacteristics_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum EngineCharacteristics { - EngineCharacteristics_noEntry = 0, - EngineCharacteristics_noEngine = 1, - EngineCharacteristics_petrolUnleaded = 2, - EngineCharacteristics_petrolLeaded = 3, - EngineCharacteristics_diesel = 4, - EngineCharacteristics_lpg = 5, - EngineCharacteristics_battery = 6, - EngineCharacteristics_solar = 7, - EngineCharacteristics_hybrid = 8, - EngineCharacteristics_hydrogen = 9, - EngineCharacteristics_multiFuel = 10, - EngineCharacteristics_bivalentPetrolLpg = 11, - EngineCharacteristics_bivalentPetrolCng = 12, - EngineCharacteristics_combinedPetrolElectric = 13, - EngineCharacteristics_cng = 14, - EngineCharacteristics_lng = 15, - EngineCharacteristics_combinedDieselElectric = 16, - EngineCharacteristics_combinedHydrogenElectric = 17, - EngineCharacteristics_bivalentHydrogenPetrol = 18, - EngineCharacteristics_bivalentHydrogenPetrolElectricEngine = 19, - EngineCharacteristics_fuelCellHydrogen = 20, - EngineCharacteristics_fuelCellPetrol = 21, - EngineCharacteristics_fuelCellMethanol = 22, - EngineCharacteristics_fuelCellEthanol = 23, - EngineCharacteristics_fuelCellDiesel = 24, - EngineCharacteristics_combinedMultiFuelElectricEngine = 25, - EngineCharacteristics_combinedCngElectricEngine = 26, - EngineCharacteristics_combinedLngElectricEngine = 27, - EngineCharacteristics_petrolEthanol = 28, - EngineCharacteristics_combinedLpgElectricEngine = 29, - EngineCharacteristics_hybridPetrolExternalBattery = 30, - EngineCharacteristics_hybridDieselExternalBattery = 31, - EngineCharacteristics_hybridLpgExternalBattery = 32, - EngineCharacteristics_hybridHydrogenExternalBattery = 33, - EngineCharacteristics_hybridMultiFuelExternalBattery = 34, - EngineCharacteristics_hybridCngExternalBattery = 35, - EngineCharacteristics_hybridLngExternalBattery = 36, - EngineCharacteristics_hybridBivalentHydrogenPetrolExternalBattery = 37, - EngineCharacteristics_hydrogenCng = 38, - EngineCharacteristics_hydrogenLng = 39, - EngineCharacteristics_hybridHydrogenCngExternalBattery = 40, - EngineCharacteristics_hybridHydrogenLngExternalBattery = 41, - EngineCharacteristics_ethanol = 42, - EngineCharacteristics_hybridFuelCellHydrogen = 43, - EngineCharacteristics_hybridFuelCellHydrogenExternalBattery = 44, - EngineCharacteristics_dualFuelLngDiesel = 45, - EngineCharacteristics_electricExternal = 46, - EngineCharacteristics_biogas = 47, - EngineCharacteristics_bioDiesel = 48, - EngineCharacteristics_bioPetrol = 49, - EngineCharacteristics_bivalentPetrolBiogas = 50, - EngineCharacteristics_combinedBiogasElectricEngine = 51, - EngineCharacteristics_dualFuelCngDiesel = 52, - EngineCharacteristics_other = 255 -} e_EngineCharacteristics; - -/* EngineCharacteristics */ -typedef long EngineCharacteristics_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_EngineCharacteristics_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_EngineCharacteristics; -asn_struct_free_f EngineCharacteristics_free; -asn_struct_print_f EngineCharacteristics_print; -asn_constr_check_f EngineCharacteristics_constraint; -ber_type_decoder_f EngineCharacteristics_decode_ber; -der_type_encoder_f EngineCharacteristics_encode_der; -xer_type_decoder_f EngineCharacteristics_decode_xer; -xer_type_encoder_f EngineCharacteristics_encode_xer; -oer_type_decoder_f EngineCharacteristics_decode_oer; -oer_type_encoder_f EngineCharacteristics_encode_oer; -per_type_decoder_f EngineCharacteristics_decode_uper; -per_type_encoder_f EngineCharacteristics_encode_uper; -per_type_decoder_f EngineCharacteristics_decode_aper; -per_type_encoder_f EngineCharacteristics_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EngineCharacteristics_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EngineDetails.c b/src/tmx/Asn_J2735/src/r2024/EngineDetails.c new file mode 100644 index 000000000..8556b3c17 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EngineDetails.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EngineDetails.h" + +asn_TYPE_member_t asn_MBR_EngineDetails_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct EngineDetails, engineCapacity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "engineCapacity" + }, + { ATF_NOFLAGS, 0, offsetof(struct EngineDetails, enginePower), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "enginePower" + }, +}; +static const ber_tlv_tag_t asn_DEF_EngineDetails_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EngineDetails_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* engineCapacity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* enginePower */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EngineDetails_specs_1 = { + sizeof(struct EngineDetails), + offsetof(struct EngineDetails, _asn_ctx), + asn_MAP_EngineDetails_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EngineDetails = { + "EngineDetails", + "EngineDetails", + &asn_OP_SEQUENCE, + asn_DEF_EngineDetails_tags_1, + sizeof(asn_DEF_EngineDetails_tags_1) + /sizeof(asn_DEF_EngineDetails_tags_1[0]), /* 1 */ + asn_DEF_EngineDetails_tags_1, /* Same as above */ + sizeof(asn_DEF_EngineDetails_tags_1) + /sizeof(asn_DEF_EngineDetails_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_EngineDetails_1, + 2, /* Elements count */ + &asn_SPC_EngineDetails_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EngineDetails.h b/src/tmx/Asn_J2735/src/r2024/EngineDetails.h deleted file mode 100644 index 2fa00eabd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EngineDetails.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EngineDetails_H_ -#define _EngineDetails_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int2Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EngineDetails */ -typedef struct EngineDetails { - Int2Unsigned_t engineCapacity; - Int2Unsigned_t enginePower; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} EngineDetails_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EngineDetails; -extern asn_SEQUENCE_specifics_t asn_SPC_EngineDetails_specs_1; -extern asn_TYPE_member_t asn_MBR_EngineDetails_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _EngineDetails_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EntryChargesTable.c b/src/tmx/Asn_J2735/src/r2024/EntryChargesTable.c new file mode 100644 index 000000000..4c95e7b52 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EntryChargesTable.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EntryChargesTable.h" + +asn_TYPE_member_t asn_MBR_EntryChargesTable_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct EntryChargesTable, exitInfo), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ExitInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "exitInfo" + }, + { ATF_NOFLAGS, 0, offsetof(struct EntryChargesTable, chargesTable), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargesTable" + }, +}; +static const ber_tlv_tag_t asn_DEF_EntryChargesTable_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EntryChargesTable_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* exitInfo */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* chargesTable */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EntryChargesTable_specs_1 = { + sizeof(struct EntryChargesTable), + offsetof(struct EntryChargesTable, _asn_ctx), + asn_MAP_EntryChargesTable_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EntryChargesTable = { + "EntryChargesTable", + "EntryChargesTable", + &asn_OP_SEQUENCE, + asn_DEF_EntryChargesTable_tags_1, + sizeof(asn_DEF_EntryChargesTable_tags_1) + /sizeof(asn_DEF_EntryChargesTable_tags_1[0]), /* 1 */ + asn_DEF_EntryChargesTable_tags_1, /* Same as above */ + sizeof(asn_DEF_EntryChargesTable_tags_1) + /sizeof(asn_DEF_EntryChargesTable_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_EntryChargesTable_1, + 2, /* Elements count */ + &asn_SPC_EntryChargesTable_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EntryChargesTable.h b/src/tmx/Asn_J2735/src/r2024/EntryChargesTable.h deleted file mode 100644 index b1cd71470..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EntryChargesTable.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EntryChargesTable_H_ -#define _EntryChargesTable_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ExitInfo.h" -#include "ChargesTable.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EntryChargesTable */ -typedef struct EntryChargesTable { - ExitInfo_t exitInfo; - ChargesTable_t chargesTable; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} EntryChargesTable_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EntryChargesTable; -extern asn_SEQUENCE_specifics_t asn_SPC_EntryChargesTable_specs_1; -extern asn_TYPE_member_t asn_MBR_EntryChargesTable_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _EntryChargesTable_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EnvironmentalCharacteristics.c b/src/tmx/Asn_J2735/src/r2024/EnvironmentalCharacteristics.c new file mode 100644 index 000000000..8f39b68cc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EnvironmentalCharacteristics.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EnvironmentalCharacteristics.h" + +asn_TYPE_member_t asn_MBR_EnvironmentalCharacteristics_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct EnvironmentalCharacteristics, euroValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EuroValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "euroValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct EnvironmentalCharacteristics, copValue), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CopValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "copValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_EnvironmentalCharacteristics_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EnvironmentalCharacteristics_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* euroValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* copValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EnvironmentalCharacteristics_specs_1 = { + sizeof(struct EnvironmentalCharacteristics), + offsetof(struct EnvironmentalCharacteristics, _asn_ctx), + asn_MAP_EnvironmentalCharacteristics_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EnvironmentalCharacteristics = { + "EnvironmentalCharacteristics", + "EnvironmentalCharacteristics", + &asn_OP_SEQUENCE, + asn_DEF_EnvironmentalCharacteristics_tags_1, + sizeof(asn_DEF_EnvironmentalCharacteristics_tags_1) + /sizeof(asn_DEF_EnvironmentalCharacteristics_tags_1[0]), /* 1 */ + asn_DEF_EnvironmentalCharacteristics_tags_1, /* Same as above */ + sizeof(asn_DEF_EnvironmentalCharacteristics_tags_1) + /sizeof(asn_DEF_EnvironmentalCharacteristics_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_EnvironmentalCharacteristics_1, + 2, /* Elements count */ + &asn_SPC_EnvironmentalCharacteristics_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EnvironmentalCharacteristics.h b/src/tmx/Asn_J2735/src/r2024/EnvironmentalCharacteristics.h deleted file mode 100644 index 57bbc8768..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EnvironmentalCharacteristics.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EnvironmentalCharacteristics_H_ -#define _EnvironmentalCharacteristics_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "EuroValue.h" -#include "CopValue.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EnvironmentalCharacteristics */ -typedef struct EnvironmentalCharacteristics { - EuroValue_t euroValue; - CopValue_t copValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} EnvironmentalCharacteristics_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EnvironmentalCharacteristics; -extern asn_SEQUENCE_specifics_t asn_SPC_EnvironmentalCharacteristics_specs_1; -extern asn_TYPE_member_t asn_MBR_EnvironmentalCharacteristics_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _EnvironmentalCharacteristics_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EquipmentIccId.c b/src/tmx/Asn_J2735/src/r2024/EquipmentIccId.c new file mode 100644 index 000000000..8738570f1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EquipmentIccId.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EquipmentIccId.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_EquipmentIccId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EquipmentIccId = { + "EquipmentIccId", + "EquipmentIccId", + &asn_OP_OCTET_STRING, + asn_DEF_EquipmentIccId_tags_1, + sizeof(asn_DEF_EquipmentIccId_tags_1) + /sizeof(asn_DEF_EquipmentIccId_tags_1[0]), /* 1 */ + asn_DEF_EquipmentIccId_tags_1, /* Same as above */ + sizeof(asn_DEF_EquipmentIccId_tags_1) + /sizeof(asn_DEF_EquipmentIccId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OCTET_STRING_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EquipmentIccId.h b/src/tmx/Asn_J2735/src/r2024/EquipmentIccId.h deleted file mode 100644 index c9f684ce4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EquipmentIccId.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EquipmentIccId_H_ -#define _EquipmentIccId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EquipmentIccId */ -typedef OCTET_STRING_t EquipmentIccId_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EquipmentIccId; -asn_struct_free_f EquipmentIccId_free; -asn_struct_print_f EquipmentIccId_print; -asn_constr_check_f EquipmentIccId_constraint; -ber_type_decoder_f EquipmentIccId_decode_ber; -der_type_encoder_f EquipmentIccId_encode_der; -xer_type_decoder_f EquipmentIccId_decode_xer; -xer_type_encoder_f EquipmentIccId_encode_xer; -oer_type_decoder_f EquipmentIccId_decode_oer; -oer_type_encoder_f EquipmentIccId_encode_oer; -per_type_decoder_f EquipmentIccId_decode_uper; -per_type_encoder_f EquipmentIccId_encode_uper; -per_type_decoder_f EquipmentIccId_decode_aper; -per_type_encoder_f EquipmentIccId_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EquipmentIccId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EquipmentObuId.c b/src/tmx/Asn_J2735/src/r2024/EquipmentObuId.c new file mode 100644 index 000000000..5c6fe3136 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EquipmentObuId.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EquipmentObuId.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_EquipmentObuId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EquipmentObuId = { + "EquipmentObuId", + "EquipmentObuId", + &asn_OP_OCTET_STRING, + asn_DEF_EquipmentObuId_tags_1, + sizeof(asn_DEF_EquipmentObuId_tags_1) + /sizeof(asn_DEF_EquipmentObuId_tags_1[0]), /* 1 */ + asn_DEF_EquipmentObuId_tags_1, /* Same as above */ + sizeof(asn_DEF_EquipmentObuId_tags_1) + /sizeof(asn_DEF_EquipmentObuId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OCTET_STRING_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EquipmentObuId.h b/src/tmx/Asn_J2735/src/r2024/EquipmentObuId.h deleted file mode 100644 index 3506587f1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EquipmentObuId.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EquipmentObuId_H_ -#define _EquipmentObuId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EquipmentObuId */ -typedef OCTET_STRING_t EquipmentObuId_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EquipmentObuId; -asn_struct_free_f EquipmentObuId_free; -asn_struct_print_f EquipmentObuId_print; -asn_constr_check_f EquipmentObuId_constraint; -ber_type_decoder_f EquipmentObuId_decode_ber; -der_type_encoder_f EquipmentObuId_encode_der; -xer_type_decoder_f EquipmentObuId_decode_xer; -xer_type_encoder_f EquipmentObuId_encode_xer; -oer_type_decoder_f EquipmentObuId_decode_oer; -oer_type_encoder_f EquipmentObuId_encode_oer; -per_type_decoder_f EquipmentObuId_decode_uper; -per_type_encoder_f EquipmentObuId_encode_uper; -per_type_decoder_f EquipmentObuId_decode_aper; -per_type_encoder_f EquipmentObuId_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EquipmentObuId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EquipmentStatus.c b/src/tmx/Asn_J2735/src/r2024/EquipmentStatus.c new file mode 100644 index 000000000..48c17c379 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EquipmentStatus.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EquipmentStatus.h" + +int +EquipmentStatus_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EquipmentStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + 16 /* (SIZE(16..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_EquipmentStatus_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_EquipmentStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EquipmentStatus = { + "EquipmentStatus", + "EquipmentStatus", + &asn_OP_BIT_STRING, + asn_DEF_EquipmentStatus_tags_1, + sizeof(asn_DEF_EquipmentStatus_tags_1) + /sizeof(asn_DEF_EquipmentStatus_tags_1[0]), /* 1 */ + asn_DEF_EquipmentStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_EquipmentStatus_tags_1) + /sizeof(asn_DEF_EquipmentStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EquipmentStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EquipmentStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + EquipmentStatus_constraint + }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EquipmentStatus.h b/src/tmx/Asn_J2735/src/r2024/EquipmentStatus.h deleted file mode 100644 index 41800b6b6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EquipmentStatus.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EquipmentStatus_H_ -#define _EquipmentStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EquipmentStatus */ -typedef BIT_STRING_t EquipmentStatus_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EquipmentStatus; -asn_struct_free_f EquipmentStatus_free; -asn_struct_print_f EquipmentStatus_print; -asn_constr_check_f EquipmentStatus_constraint; -ber_type_decoder_f EquipmentStatus_decode_ber; -der_type_encoder_f EquipmentStatus_encode_der; -xer_type_decoder_f EquipmentStatus_decode_xer; -xer_type_encoder_f EquipmentStatus_encode_xer; -oer_type_decoder_f EquipmentStatus_decode_oer; -oer_type_encoder_f EquipmentStatus_encode_oer; -per_type_decoder_f EquipmentStatus_decode_uper; -per_type_encoder_f EquipmentStatus_encode_uper; -per_type_decoder_f EquipmentStatus_decode_aper; -per_type_encoder_f EquipmentStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EquipmentStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EquipmentType.c b/src/tmx/Asn_J2735/src/r2024/EquipmentType.c new file mode 100644 index 000000000..d8b09bc3e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EquipmentType.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EquipmentType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EquipmentType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EquipmentType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_EquipmentType_value2enum_1[] = { + { 0, 7, "unknown" }, + { 1, 3, "rsu" }, + { 2, 3, "obu" }, + { 3, 3, "vru" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_EquipmentType_enum2value_1[] = { + 2, /* obu(2) */ + 1, /* rsu(1) */ + 0, /* unknown(0) */ + 3 /* vru(3) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_EquipmentType_specs_1 = { + asn_MAP_EquipmentType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_EquipmentType_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_EquipmentType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EquipmentType = { + "EquipmentType", + "EquipmentType", + &asn_OP_NativeEnumerated, + asn_DEF_EquipmentType_tags_1, + sizeof(asn_DEF_EquipmentType_tags_1) + /sizeof(asn_DEF_EquipmentType_tags_1[0]), /* 1 */ + asn_DEF_EquipmentType_tags_1, /* Same as above */ + sizeof(asn_DEF_EquipmentType_tags_1) + /sizeof(asn_DEF_EquipmentType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EquipmentType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EquipmentType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_EquipmentType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EquipmentType.h b/src/tmx/Asn_J2735/src/r2024/EquipmentType.h deleted file mode 100644 index 8a8e24187..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EquipmentType.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EquipmentType_H_ -#define _EquipmentType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum EquipmentType { - EquipmentType_unknown = 0, - EquipmentType_rsu = 1, - EquipmentType_obu = 2, - EquipmentType_vru = 3 - /* - * Enumeration is extensible - */ -} e_EquipmentType; - -/* EquipmentType */ -typedef long EquipmentType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_EquipmentType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_EquipmentType; -extern const asn_INTEGER_specifics_t asn_SPC_EquipmentType_specs_1; -asn_struct_free_f EquipmentType_free; -asn_struct_print_f EquipmentType_print; -asn_constr_check_f EquipmentType_constraint; -ber_type_decoder_f EquipmentType_decode_ber; -der_type_encoder_f EquipmentType_encode_der; -xer_type_decoder_f EquipmentType_decode_xer; -xer_type_encoder_f EquipmentType_encode_xer; -oer_type_decoder_f EquipmentType_decode_oer; -oer_type_encoder_f EquipmentType_encode_oer; -per_type_decoder_f EquipmentType_decode_uper; -per_type_encoder_f EquipmentType_encode_uper; -per_type_decoder_f EquipmentType_decode_aper; -per_type_encoder_f EquipmentType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EquipmentType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EssMobileFriction.c b/src/tmx/Asn_J2735/src/r2024/EssMobileFriction.c new file mode 100644 index 000000000..38104cb24 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EssMobileFriction.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "NTCIP" + * found in "J2735-NTCIP-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EssMobileFriction.h" + +int +EssMobileFriction_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 101L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EssMobileFriction_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..101) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EssMobileFriction_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 101 } /* (0..101) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_EssMobileFriction_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EssMobileFriction = { + "EssMobileFriction", + "EssMobileFriction", + &asn_OP_NativeInteger, + asn_DEF_EssMobileFriction_tags_1, + sizeof(asn_DEF_EssMobileFriction_tags_1) + /sizeof(asn_DEF_EssMobileFriction_tags_1[0]), /* 1 */ + asn_DEF_EssMobileFriction_tags_1, /* Same as above */ + sizeof(asn_DEF_EssMobileFriction_tags_1) + /sizeof(asn_DEF_EssMobileFriction_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EssMobileFriction_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EssMobileFriction_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + EssMobileFriction_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EssMobileFriction.h b/src/tmx/Asn_J2735/src/r2024/EssMobileFriction.h deleted file mode 100644 index c1c16c459..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EssMobileFriction.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "NTCIP" - * found in "J2735-NTCIP-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EssMobileFriction_H_ -#define _EssMobileFriction_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EssMobileFriction */ -typedef long EssMobileFriction_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_EssMobileFriction_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_EssMobileFriction; -asn_struct_free_f EssMobileFriction_free; -asn_struct_print_f EssMobileFriction_print; -asn_constr_check_f EssMobileFriction_constraint; -ber_type_decoder_f EssMobileFriction_decode_ber; -der_type_encoder_f EssMobileFriction_encode_der; -xer_type_decoder_f EssMobileFriction_decode_xer; -xer_type_encoder_f EssMobileFriction_encode_xer; -oer_type_decoder_f EssMobileFriction_decode_oer; -oer_type_encoder_f EssMobileFriction_encode_oer; -per_type_decoder_f EssMobileFriction_decode_uper; -per_type_encoder_f EssMobileFriction_encode_uper; -per_type_decoder_f EssMobileFriction_decode_aper; -per_type_encoder_f EssMobileFriction_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EssMobileFriction_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EssPrecipRate.c b/src/tmx/Asn_J2735/src/r2024/EssPrecipRate.c new file mode 100644 index 000000000..b01b7c868 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EssPrecipRate.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "NTCIP" + * found in "J2735-NTCIP-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EssPrecipRate.h" + +int +EssPrecipRate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EssPrecipRate_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EssPrecipRate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_EssPrecipRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EssPrecipRate = { + "EssPrecipRate", + "EssPrecipRate", + &asn_OP_NativeInteger, + asn_DEF_EssPrecipRate_tags_1, + sizeof(asn_DEF_EssPrecipRate_tags_1) + /sizeof(asn_DEF_EssPrecipRate_tags_1[0]), /* 1 */ + asn_DEF_EssPrecipRate_tags_1, /* Same as above */ + sizeof(asn_DEF_EssPrecipRate_tags_1) + /sizeof(asn_DEF_EssPrecipRate_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EssPrecipRate_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EssPrecipRate_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + EssPrecipRate_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EssPrecipRate.h b/src/tmx/Asn_J2735/src/r2024/EssPrecipRate.h deleted file mode 100644 index 46b637237..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EssPrecipRate.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "NTCIP" - * found in "J2735-NTCIP-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EssPrecipRate_H_ -#define _EssPrecipRate_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EssPrecipRate */ -typedef long EssPrecipRate_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_EssPrecipRate_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_EssPrecipRate; -asn_struct_free_f EssPrecipRate_free; -asn_struct_print_f EssPrecipRate_print; -asn_constr_check_f EssPrecipRate_constraint; -ber_type_decoder_f EssPrecipRate_decode_ber; -der_type_encoder_f EssPrecipRate_encode_der; -xer_type_decoder_f EssPrecipRate_decode_xer; -xer_type_encoder_f EssPrecipRate_encode_xer; -oer_type_decoder_f EssPrecipRate_decode_oer; -oer_type_encoder_f EssPrecipRate_encode_oer; -per_type_decoder_f EssPrecipRate_decode_uper; -per_type_encoder_f EssPrecipRate_encode_uper; -per_type_decoder_f EssPrecipRate_decode_aper; -per_type_encoder_f EssPrecipRate_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EssPrecipRate_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EssPrecipSituation.c b/src/tmx/Asn_J2735/src/r2024/EssPrecipSituation.c new file mode 100644 index 000000000..c48d5285a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EssPrecipSituation.c @@ -0,0 +1,94 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "NTCIP" + * found in "J2735-NTCIP-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EssPrecipSituation.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EssPrecipSituation_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EssPrecipSituation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 14 } /* (0..14) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_EssPrecipSituation_value2enum_1[] = { + { 1, 5, "other" }, + { 2, 7, "unknown" }, + { 3, 15, "noPrecipitation" }, + { 4, 18, "unidentifiedSlight" }, + { 5, 20, "unidentifiedModerate" }, + { 6, 17, "unidentifiedHeavy" }, + { 7, 10, "snowSlight" }, + { 8, 12, "snowModerate" }, + { 9, 9, "snowHeavy" }, + { 10, 10, "rainSlight" }, + { 11, 12, "rainModerate" }, + { 12, 9, "rainHeavy" }, + { 13, 25, "frozenPrecipitationSlight" }, + { 14, 27, "frozenPrecipitationModerate" }, + { 15, 24, "frozenPrecipitationHeavy" } +}; +static const unsigned int asn_MAP_EssPrecipSituation_enum2value_1[] = { + 14, /* frozenPrecipitationHeavy(15) */ + 13, /* frozenPrecipitationModerate(14) */ + 12, /* frozenPrecipitationSlight(13) */ + 2, /* noPrecipitation(3) */ + 0, /* other(1) */ + 11, /* rainHeavy(12) */ + 10, /* rainModerate(11) */ + 9, /* rainSlight(10) */ + 8, /* snowHeavy(9) */ + 7, /* snowModerate(8) */ + 6, /* snowSlight(7) */ + 5, /* unidentifiedHeavy(6) */ + 4, /* unidentifiedModerate(5) */ + 3, /* unidentifiedSlight(4) */ + 1 /* unknown(2) */ +}; +const asn_INTEGER_specifics_t asn_SPC_EssPrecipSituation_specs_1 = { + asn_MAP_EssPrecipSituation_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_EssPrecipSituation_enum2value_1, /* N => "tag"; sorted by N */ + 15, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_EssPrecipSituation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EssPrecipSituation = { + "EssPrecipSituation", + "EssPrecipSituation", + &asn_OP_NativeEnumerated, + asn_DEF_EssPrecipSituation_tags_1, + sizeof(asn_DEF_EssPrecipSituation_tags_1) + /sizeof(asn_DEF_EssPrecipSituation_tags_1[0]), /* 1 */ + asn_DEF_EssPrecipSituation_tags_1, /* Same as above */ + sizeof(asn_DEF_EssPrecipSituation_tags_1) + /sizeof(asn_DEF_EssPrecipSituation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EssPrecipSituation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EssPrecipSituation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_EssPrecipSituation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EssPrecipSituation.h b/src/tmx/Asn_J2735/src/r2024/EssPrecipSituation.h deleted file mode 100644 index c61bc4e9e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EssPrecipSituation.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "NTCIP" - * found in "J2735-NTCIP-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EssPrecipSituation_H_ -#define _EssPrecipSituation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum EssPrecipSituation { - EssPrecipSituation_other = 1, - EssPrecipSituation_unknown = 2, - EssPrecipSituation_noPrecipitation = 3, - EssPrecipSituation_unidentifiedSlight = 4, - EssPrecipSituation_unidentifiedModerate = 5, - EssPrecipSituation_unidentifiedHeavy = 6, - EssPrecipSituation_snowSlight = 7, - EssPrecipSituation_snowModerate = 8, - EssPrecipSituation_snowHeavy = 9, - EssPrecipSituation_rainSlight = 10, - EssPrecipSituation_rainModerate = 11, - EssPrecipSituation_rainHeavy = 12, - EssPrecipSituation_frozenPrecipitationSlight = 13, - EssPrecipSituation_frozenPrecipitationModerate = 14, - EssPrecipSituation_frozenPrecipitationHeavy = 15 -} e_EssPrecipSituation; - -/* EssPrecipSituation */ -typedef long EssPrecipSituation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_EssPrecipSituation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_EssPrecipSituation; -extern const asn_INTEGER_specifics_t asn_SPC_EssPrecipSituation_specs_1; -asn_struct_free_f EssPrecipSituation_free; -asn_struct_print_f EssPrecipSituation_print; -asn_constr_check_f EssPrecipSituation_constraint; -ber_type_decoder_f EssPrecipSituation_decode_ber; -der_type_encoder_f EssPrecipSituation_encode_der; -xer_type_decoder_f EssPrecipSituation_decode_xer; -xer_type_encoder_f EssPrecipSituation_encode_xer; -oer_type_decoder_f EssPrecipSituation_decode_oer; -oer_type_encoder_f EssPrecipSituation_encode_oer; -per_type_decoder_f EssPrecipSituation_decode_uper; -per_type_encoder_f EssPrecipSituation_encode_uper; -per_type_decoder_f EssPrecipSituation_decode_aper; -per_type_encoder_f EssPrecipSituation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EssPrecipSituation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EssPrecipYesNo.c b/src/tmx/Asn_J2735/src/r2024/EssPrecipYesNo.c new file mode 100644 index 000000000..64c71d9ed --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EssPrecipYesNo.c @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "NTCIP" + * found in "J2735-NTCIP-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EssPrecipYesNo.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EssPrecipYesNo_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EssPrecipYesNo_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_EssPrecipYesNo_value2enum_1[] = { + { 1, 6, "precip" }, + { 2, 8, "noPrecip" }, + { 3, 5, "error" } +}; +static const unsigned int asn_MAP_EssPrecipYesNo_enum2value_1[] = { + 2, /* error(3) */ + 1, /* noPrecip(2) */ + 0 /* precip(1) */ +}; +const asn_INTEGER_specifics_t asn_SPC_EssPrecipYesNo_specs_1 = { + asn_MAP_EssPrecipYesNo_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_EssPrecipYesNo_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_EssPrecipYesNo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EssPrecipYesNo = { + "EssPrecipYesNo", + "EssPrecipYesNo", + &asn_OP_NativeEnumerated, + asn_DEF_EssPrecipYesNo_tags_1, + sizeof(asn_DEF_EssPrecipYesNo_tags_1) + /sizeof(asn_DEF_EssPrecipYesNo_tags_1[0]), /* 1 */ + asn_DEF_EssPrecipYesNo_tags_1, /* Same as above */ + sizeof(asn_DEF_EssPrecipYesNo_tags_1) + /sizeof(asn_DEF_EssPrecipYesNo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EssPrecipYesNo_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EssPrecipYesNo_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_EssPrecipYesNo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EssPrecipYesNo.h b/src/tmx/Asn_J2735/src/r2024/EssPrecipYesNo.h deleted file mode 100644 index 6e203b0a8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EssPrecipYesNo.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "NTCIP" - * found in "J2735-NTCIP-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EssPrecipYesNo_H_ -#define _EssPrecipYesNo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum EssPrecipYesNo { - EssPrecipYesNo_precip = 1, - EssPrecipYesNo_noPrecip = 2, - EssPrecipYesNo_error = 3 -} e_EssPrecipYesNo; - -/* EssPrecipYesNo */ -typedef long EssPrecipYesNo_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_EssPrecipYesNo_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_EssPrecipYesNo; -extern const asn_INTEGER_specifics_t asn_SPC_EssPrecipYesNo_specs_1; -asn_struct_free_f EssPrecipYesNo_free; -asn_struct_print_f EssPrecipYesNo_print; -asn_constr_check_f EssPrecipYesNo_constraint; -ber_type_decoder_f EssPrecipYesNo_decode_ber; -der_type_encoder_f EssPrecipYesNo_encode_der; -xer_type_decoder_f EssPrecipYesNo_decode_xer; -xer_type_encoder_f EssPrecipYesNo_encode_xer; -oer_type_decoder_f EssPrecipYesNo_decode_oer; -oer_type_encoder_f EssPrecipYesNo_encode_oer; -per_type_decoder_f EssPrecipYesNo_decode_uper; -per_type_encoder_f EssPrecipYesNo_encode_uper; -per_type_decoder_f EssPrecipYesNo_decode_aper; -per_type_encoder_f EssPrecipYesNo_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EssPrecipYesNo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EssSolarRadiation.c b/src/tmx/Asn_J2735/src/r2024/EssSolarRadiation.c new file mode 100644 index 000000000..f56eaa2f5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EssSolarRadiation.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "NTCIP" + * found in "J2735-NTCIP-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EssSolarRadiation.h" + +int +EssSolarRadiation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EssSolarRadiation_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EssSolarRadiation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_EssSolarRadiation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EssSolarRadiation = { + "EssSolarRadiation", + "EssSolarRadiation", + &asn_OP_NativeInteger, + asn_DEF_EssSolarRadiation_tags_1, + sizeof(asn_DEF_EssSolarRadiation_tags_1) + /sizeof(asn_DEF_EssSolarRadiation_tags_1[0]), /* 1 */ + asn_DEF_EssSolarRadiation_tags_1, /* Same as above */ + sizeof(asn_DEF_EssSolarRadiation_tags_1) + /sizeof(asn_DEF_EssSolarRadiation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EssSolarRadiation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EssSolarRadiation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + EssSolarRadiation_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EssSolarRadiation.h b/src/tmx/Asn_J2735/src/r2024/EssSolarRadiation.h deleted file mode 100644 index 9fd2253b2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EssSolarRadiation.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "NTCIP" - * found in "J2735-NTCIP-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EssSolarRadiation_H_ -#define _EssSolarRadiation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EssSolarRadiation */ -typedef long EssSolarRadiation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_EssSolarRadiation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_EssSolarRadiation; -asn_struct_free_f EssSolarRadiation_free; -asn_struct_print_f EssSolarRadiation_print; -asn_constr_check_f EssSolarRadiation_constraint; -ber_type_decoder_f EssSolarRadiation_decode_ber; -der_type_encoder_f EssSolarRadiation_encode_der; -xer_type_decoder_f EssSolarRadiation_decode_xer; -xer_type_encoder_f EssSolarRadiation_encode_xer; -oer_type_decoder_f EssSolarRadiation_decode_oer; -oer_type_encoder_f EssSolarRadiation_encode_oer; -per_type_decoder_f EssSolarRadiation_decode_uper; -per_type_encoder_f EssSolarRadiation_encode_uper; -per_type_decoder_f EssSolarRadiation_decode_aper; -per_type_encoder_f EssSolarRadiation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EssSolarRadiation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EuroValue.c b/src/tmx/Asn_J2735/src/r2024/EuroValue.c new file mode 100644 index 000000000..a30729e4a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EuroValue.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EuroValue.h" + +int +EuroValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_EuroValue_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_EuroValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_EuroValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_EuroValue = { + "EuroValue", + "EuroValue", + &asn_OP_NativeInteger, + asn_DEF_EuroValue_tags_1, + sizeof(asn_DEF_EuroValue_tags_1) + /sizeof(asn_DEF_EuroValue_tags_1[0]), /* 1 */ + asn_DEF_EuroValue_tags_1, /* Same as above */ + sizeof(asn_DEF_EuroValue_tags_1) + /sizeof(asn_DEF_EuroValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_EuroValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_EuroValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + EuroValue_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EuroValue.h b/src/tmx/Asn_J2735/src/r2024/EuroValue.h deleted file mode 100644 index 226185db5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EuroValue.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EuroValue_H_ -#define _EuroValue_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum EuroValue { - EuroValue_noEntry = 0, - EuroValue_euro1 = 1, - EuroValue_euro2 = 2, - EuroValue_euro3 = 3, - EuroValue_euro4 = 4, - EuroValue_euro5 = 5, - EuroValue_euro6 = 6, - EuroValue_euro7 = 7, - EuroValue_eev = 15 -} e_EuroValue; - -/* EuroValue */ -typedef long EuroValue_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_EuroValue_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_EuroValue; -asn_struct_free_f EuroValue_free; -asn_struct_print_f EuroValue_print; -asn_constr_check_f EuroValue_constraint; -ber_type_decoder_f EuroValue_decode_ber; -der_type_encoder_f EuroValue_encode_der; -xer_type_decoder_f EuroValue_decode_xer; -xer_type_encoder_f EuroValue_encode_xer; -oer_type_decoder_f EuroValue_decode_oer; -oer_type_encoder_f EuroValue_encode_oer; -per_type_decoder_f EuroValue_decode_uper; -per_type_encoder_f EuroValue_encode_uper; -per_type_decoder_f EuroValue_decode_aper; -per_type_encoder_f EuroValue_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _EuroValue_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EventDescription.c b/src/tmx/Asn_J2735/src/r2024/EventDescription.c new file mode 100644 index 000000000..60efb39da --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EventDescription.c @@ -0,0 +1,364 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EventDescription.h" + +static int +memb_description_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 8UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_description_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_description_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_8 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_description_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_description_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_8 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_description_3[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_ITIS_ITIScodes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_description_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_description_specs_3 = { + sizeof(struct EventDescription__description), + offsetof(struct EventDescription__description, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_description_3 = { + "description", + "description", + &asn_OP_SEQUENCE_OF, + asn_DEF_description_tags_3, + sizeof(asn_DEF_description_tags_3) + /sizeof(asn_DEF_description_tags_3[0]) - 1, /* 1 */ + asn_DEF_description_tags_3, /* Same as above */ + sizeof(asn_DEF_description_tags_3) + /sizeof(asn_DEF_description_tags_3[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_description_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_description_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_description_3, + 1, /* Single element */ + &asn_SPC_description_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regional_8[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_EventDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_8[] = { + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_8 = { + sizeof(struct EventDescription__regional), + offsetof(struct EventDescription__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_8 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_8, + sizeof(asn_DEF_regional_tags_8) + /sizeof(asn_DEF_regional_tags_8[0]) - 1, /* 1 */ + asn_DEF_regional_tags_8, /* Same as above */ + sizeof(asn_DEF_regional_tags_8) + /sizeof(asn_DEF_regional_tags_8[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_8, + 1, /* Single element */ + &asn_SPC_regional_specs_8 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_EventDescription_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct EventDescription, typeEvent), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ITIScodes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "typeEvent" + }, + { ATF_POINTER, 5, offsetof(struct EventDescription, description), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_description_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_description_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_description_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_description_constraint_1 + }, + 0, 0, /* No default value */ + "description" + }, + { ATF_POINTER, 4, offsetof(struct EventDescription, priority), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Priority, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "priority" + }, + { ATF_POINTER, 3, offsetof(struct EventDescription, heading), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HeadingSlice, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heading" + }, + { ATF_POINTER, 2, offsetof(struct EventDescription, extent), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Extent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "extent" + }, + { ATF_POINTER, 1, offsetof(struct EventDescription, regional), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + 0, + &asn_DEF_regional_8, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_EventDescription_oms_1[] = { 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_EventDescription_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EventDescription_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* typeEvent */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* description */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* priority */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* heading */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* extent */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EventDescription_specs_1 = { + sizeof(struct EventDescription), + offsetof(struct EventDescription, _asn_ctx), + asn_MAP_EventDescription_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_EventDescription_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EventDescription = { + "EventDescription", + "EventDescription", + &asn_OP_SEQUENCE, + asn_DEF_EventDescription_tags_1, + sizeof(asn_DEF_EventDescription_tags_1) + /sizeof(asn_DEF_EventDescription_tags_1[0]), /* 1 */ + asn_DEF_EventDescription_tags_1, /* Same as above */ + sizeof(asn_DEF_EventDescription_tags_1) + /sizeof(asn_DEF_EventDescription_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_EventDescription_1, + 6, /* Elements count */ + &asn_SPC_EventDescription_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EventDescription.h b/src/tmx/Asn_J2735/src/r2024/EventDescription.h deleted file mode 100644 index 0c0b833a2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EventDescription.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EventDescription_H_ -#define _EventDescription_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ITIS_ITIScodes.h" -#include "Priority.h" -#include "HeadingSlice.h" -#include "Extent.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_EventDescription; - -/* EventDescription */ -typedef struct EventDescription { - ITIS_ITIScodes_t typeEvent; - struct EventDescription__description { - A_SEQUENCE_OF(ITIS_ITIScodes_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *description; - Priority_t *priority; /* OPTIONAL */ - HeadingSlice_t *heading; /* OPTIONAL */ - Extent_t *extent; /* OPTIONAL */ - struct EventDescription__regional { - A_SEQUENCE_OF(struct Reg_EventDescription) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} EventDescription_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EventDescription; -extern asn_SEQUENCE_specifics_t asn_SPC_EventDescription_specs_1; -extern asn_TYPE_member_t asn_MBR_EventDescription_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _EventDescription_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EventIdentifier.c b/src/tmx/Asn_J2735/src/r2024/EventIdentifier.c new file mode 100644 index 000000000..e50d15bd4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EventIdentifier.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EventIdentifier.h" + +asn_TYPE_member_t asn_MBR_EventIdentifier_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct EventIdentifier, operatorID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RoadAuthorityID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "operatorID" + }, + { ATF_NOFLAGS, 0, offsetof(struct EventIdentifier, uniqueID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "uniqueID" + }, +}; +static const ber_tlv_tag_t asn_DEF_EventIdentifier_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EventIdentifier_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* operatorID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* uniqueID */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EventIdentifier_specs_1 = { + sizeof(struct EventIdentifier), + offsetof(struct EventIdentifier, _asn_ctx), + asn_MAP_EventIdentifier_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EventIdentifier = { + "EventIdentifier", + "EventIdentifier", + &asn_OP_SEQUENCE, + asn_DEF_EventIdentifier_tags_1, + sizeof(asn_DEF_EventIdentifier_tags_1) + /sizeof(asn_DEF_EventIdentifier_tags_1[0]), /* 1 */ + asn_DEF_EventIdentifier_tags_1, /* Same as above */ + sizeof(asn_DEF_EventIdentifier_tags_1) + /sizeof(asn_DEF_EventIdentifier_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_EventIdentifier_1, + 2, /* Elements count */ + &asn_SPC_EventIdentifier_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EventIdentifier.h b/src/tmx/Asn_J2735/src/r2024/EventIdentifier.h deleted file mode 100644 index 542fcda66..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EventIdentifier.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EventIdentifier_H_ -#define _EventIdentifier_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RoadAuthorityID.h" -#include "TemporaryID.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* EventIdentifier */ -typedef struct EventIdentifier { - RoadAuthorityID_t operatorID; - TemporaryID_t uniqueID; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} EventIdentifier_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EventIdentifier; -extern asn_SEQUENCE_specifics_t asn_SPC_EventIdentifier_specs_1; -extern asn_TYPE_member_t asn_MBR_EventIdentifier_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _EventIdentifier_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EventInfo.c b/src/tmx/Asn_J2735/src/r2024/EventInfo.c new file mode 100644 index 000000000..30ab22b7b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EventInfo.c @@ -0,0 +1,418 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EventInfo.h" + +static int +memb_eventRecurrence_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 5UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_affectedVehicles_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 10UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_eventRecurrence_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_eventRecurrence_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 5 } /* (SIZE(1..5,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_affectedVehicles_constr_11 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_affectedVehicles_constr_11 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (SIZE(1..10,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_eventRecurrence_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_eventRecurrence_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 5 } /* (SIZE(1..5,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_affectedVehicles_constr_11 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_affectedVehicles_constr_11 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (SIZE(1..10,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_eventRecurrence_7[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_EventRecurrence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_eventRecurrence_tags_7[] = { + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_eventRecurrence_specs_7 = { + sizeof(struct EventInfo__eventRecurrence), + offsetof(struct EventInfo__eventRecurrence, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_eventRecurrence_7 = { + "eventRecurrence", + "eventRecurrence", + &asn_OP_SEQUENCE_OF, + asn_DEF_eventRecurrence_tags_7, + sizeof(asn_DEF_eventRecurrence_tags_7) + /sizeof(asn_DEF_eventRecurrence_tags_7[0]) - 1, /* 1 */ + asn_DEF_eventRecurrence_tags_7, /* Same as above */ + sizeof(asn_DEF_eventRecurrence_tags_7) + /sizeof(asn_DEF_eventRecurrence_tags_7[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_eventRecurrence_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_eventRecurrence_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_eventRecurrence_7, + 1, /* Single element */ + &asn_SPC_eventRecurrence_specs_7 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_affectedVehicles_11[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_ITIS_VehicleGroupAffected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_affectedVehicles_tags_11[] = { + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_affectedVehicles_specs_11 = { + sizeof(struct EventInfo__affectedVehicles), + offsetof(struct EventInfo__affectedVehicles, _asn_ctx), + 1, /* XER encoding is XMLValueList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_affectedVehicles_11 = { + "affectedVehicles", + "affectedVehicles", + &asn_OP_SEQUENCE_OF, + asn_DEF_affectedVehicles_tags_11, + sizeof(asn_DEF_affectedVehicles_tags_11) + /sizeof(asn_DEF_affectedVehicles_tags_11[0]) - 1, /* 1 */ + asn_DEF_affectedVehicles_tags_11, /* Same as above */ + sizeof(asn_DEF_affectedVehicles_tags_11) + /sizeof(asn_DEF_affectedVehicles_tags_11[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_affectedVehicles_constr_11, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_affectedVehicles_constr_11, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_affectedVehicles_11, + 1, /* Single element */ + &asn_SPC_affectedVehicles_specs_11 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_EventInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct EventInfo, eventID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EventIdentifier, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventID" + }, + { ATF_NOFLAGS, 0, offsetof(struct EventInfo, eventUpdate), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventUpdate" + }, + { ATF_NOFLAGS, 0, offsetof(struct EventInfo, eventCancellation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Activity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventCancellation" + }, + { ATF_NOFLAGS, 0, offsetof(struct EventInfo, startDateTime), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startDateTime" + }, + { ATF_POINTER, 2, offsetof(struct EventInfo, endDateTime), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "endDateTime" + }, + { ATF_POINTER, 1, offsetof(struct EventInfo, eventRecurrence), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + 0, + &asn_DEF_eventRecurrence_7, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_eventRecurrence_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_eventRecurrence_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_eventRecurrence_constraint_1 + }, + 0, 0, /* No default value */ + "eventRecurrence" + }, + { ATF_NOFLAGS, 0, offsetof(struct EventInfo, causeCode), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITISgroups, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "causeCode" + }, + { ATF_POINTER, 2, offsetof(struct EventInfo, subCauseCode), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ITIScodes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "subCauseCode" + }, + { ATF_POINTER, 1, offsetof(struct EventInfo, affectedVehicles), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + 0, + &asn_DEF_affectedVehicles_11, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_affectedVehicles_constr_11, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_affectedVehicles_constr_11, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_affectedVehicles_constraint_1 + }, + 0, 0, /* No default value */ + "affectedVehicles" + }, +}; +static const int asn_MAP_EventInfo_oms_1[] = { 4, 5, 7, 8 }; +static const ber_tlv_tag_t asn_DEF_EventInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EventInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* eventUpdate */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* eventCancellation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* startDateTime */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* endDateTime */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* eventRecurrence */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* causeCode */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* subCauseCode */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* affectedVehicles */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EventInfo_specs_1 = { + sizeof(struct EventInfo), + offsetof(struct EventInfo, _asn_ctx), + asn_MAP_EventInfo_tag2el_1, + 9, /* Count of tags in the map */ + asn_MAP_EventInfo_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 9, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EventInfo = { + "EventInfo", + "EventInfo", + &asn_OP_SEQUENCE, + asn_DEF_EventInfo_tags_1, + sizeof(asn_DEF_EventInfo_tags_1) + /sizeof(asn_DEF_EventInfo_tags_1[0]), /* 1 */ + asn_DEF_EventInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_EventInfo_tags_1) + /sizeof(asn_DEF_EventInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_EventInfo_1, + 9, /* Elements count */ + &asn_SPC_EventInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EventInfo.h b/src/tmx/Asn_J2735/src/r2024/EventInfo.h deleted file mode 100644 index 79d2a2090..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EventInfo.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EventInfo_H_ -#define _EventInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "EventIdentifier.h" -#include "Common_MsgCount.h" -#include "Activity.h" -#include "DDateTime.h" -#include "ITISgroups.h" -#include "ITIS_ITIScodes.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "ITIS_VehicleGroupAffected.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct DDateTime; -struct EventRecurrence; - -/* EventInfo */ -typedef struct EventInfo { - EventIdentifier_t eventID; - Common_MsgCount_t eventUpdate; - Activity_t eventCancellation; - DDateTime_t startDateTime; - struct DDateTime *endDateTime; /* OPTIONAL */ - struct EventInfo__eventRecurrence { - A_SEQUENCE_OF(struct EventRecurrence) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *eventRecurrence; - ITISgroups_t causeCode; - ITIS_ITIScodes_t *subCauseCode; /* OPTIONAL */ - struct EventInfo__affectedVehicles { - A_SEQUENCE_OF(ITIS_VehicleGroupAffected_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *affectedVehicles; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} EventInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EventInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_EventInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_EventInfo_1[9]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "DDateTime.h" -#include "EventRecurrence.h" - -#endif /* _EventInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/EventRecurrence.c b/src/tmx/Asn_J2735/src/r2024/EventRecurrence.c new file mode 100644 index 000000000..78aecd227 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/EventRecurrence.c @@ -0,0 +1,266 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "EventRecurrence.h" + +asn_TYPE_member_t asn_MBR_EventRecurrence_1[] = { + { ATF_POINTER, 4, offsetof(struct EventRecurrence, startTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startTime" + }, + { ATF_POINTER, 3, offsetof(struct EventRecurrence, endTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "endTime" + }, + { ATF_POINTER, 2, offsetof(struct EventRecurrence, startDate), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startDate" + }, + { ATF_POINTER, 1, offsetof(struct EventRecurrence, endDate), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "endDate" + }, + { ATF_NOFLAGS, 0, offsetof(struct EventRecurrence, monday), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "monday" + }, + { ATF_NOFLAGS, 0, offsetof(struct EventRecurrence, tuesday), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tuesday" + }, + { ATF_NOFLAGS, 0, offsetof(struct EventRecurrence, wednesday), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wednesday" + }, + { ATF_NOFLAGS, 0, offsetof(struct EventRecurrence, thursday), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "thursday" + }, + { ATF_NOFLAGS, 0, offsetof(struct EventRecurrence, friday), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "friday" + }, + { ATF_NOFLAGS, 0, offsetof(struct EventRecurrence, saturday), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "saturday" + }, + { ATF_NOFLAGS, 0, offsetof(struct EventRecurrence, sunday), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sunday" + }, + { ATF_POINTER, 1, offsetof(struct EventRecurrence, exclusion), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "exclusion" + }, +}; +static const int asn_MAP_EventRecurrence_oms_1[] = { 0, 1, 2, 3, 11 }; +static const ber_tlv_tag_t asn_DEF_EventRecurrence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_EventRecurrence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* startTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* endTime */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* startDate */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* endDate */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* monday */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* tuesday */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* wednesday */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* thursday */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* friday */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* saturday */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* sunday */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* exclusion */ +}; +asn_SEQUENCE_specifics_t asn_SPC_EventRecurrence_specs_1 = { + sizeof(struct EventRecurrence), + offsetof(struct EventRecurrence, _asn_ctx), + asn_MAP_EventRecurrence_tag2el_1, + 12, /* Count of tags in the map */ + asn_MAP_EventRecurrence_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 12, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_EventRecurrence = { + "EventRecurrence", + "EventRecurrence", + &asn_OP_SEQUENCE, + asn_DEF_EventRecurrence_tags_1, + sizeof(asn_DEF_EventRecurrence_tags_1) + /sizeof(asn_DEF_EventRecurrence_tags_1[0]), /* 1 */ + asn_DEF_EventRecurrence_tags_1, /* Same as above */ + sizeof(asn_DEF_EventRecurrence_tags_1) + /sizeof(asn_DEF_EventRecurrence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_EventRecurrence_1, + 12, /* Elements count */ + &asn_SPC_EventRecurrence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/EventRecurrence.h b/src/tmx/Asn_J2735/src/r2024/EventRecurrence.h deleted file mode 100644 index 0f6830907..000000000 --- a/src/tmx/Asn_J2735/src/r2024/EventRecurrence.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _EventRecurrence_H_ -#define _EventRecurrence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct DTime; -struct DDate; - -/* EventRecurrence */ -typedef struct EventRecurrence { - struct DTime *startTime; /* OPTIONAL */ - struct DTime *endTime; /* OPTIONAL */ - struct DDate *startDate; /* OPTIONAL */ - struct DDate *endDate; /* OPTIONAL */ - BOOLEAN_t monday; - BOOLEAN_t tuesday; - BOOLEAN_t wednesday; - BOOLEAN_t thursday; - BOOLEAN_t friday; - BOOLEAN_t saturday; - BOOLEAN_t sunday; - BOOLEAN_t *exclusion; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} EventRecurrence_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_EventRecurrence; -extern asn_SEQUENCE_specifics_t asn_SPC_EventRecurrence_specs_1; -extern asn_TYPE_member_t asn_MBR_EventRecurrence_1[12]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "DTime.h" -#include "DDate.h" - -#endif /* _EventRecurrence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ExhaustEmissionValues.c b/src/tmx/Asn_J2735/src/r2024/ExhaustEmissionValues.c new file mode 100644 index 000000000..5cce6ca94 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ExhaustEmissionValues.c @@ -0,0 +1,175 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ExhaustEmissionValues.h" + +static int +memb_emissionCo_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_emissionCo_constr_3 CC_NOTUSED = { + { 2, 1 } /* (0..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_emissionCo_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 32767 } /* (0..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ExhaustEmissionValues_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ExhaustEmissionValues, unitType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EmissionUnit, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "unitType" + }, + { ATF_NOFLAGS, 0, offsetof(struct ExhaustEmissionValues, emissionCo), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_emissionCo_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_emissionCo_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_emissionCo_constraint_1 + }, + 0, 0, /* No default value */ + "emissionCo" + }, + { ATF_NOFLAGS, 0, offsetof(struct ExhaustEmissionValues, emissionHc), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emissionHc" + }, + { ATF_NOFLAGS, 0, offsetof(struct ExhaustEmissionValues, emissionNox), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emissionNox" + }, + { ATF_NOFLAGS, 0, offsetof(struct ExhaustEmissionValues, emissionHcNox), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emissionHcNox" + }, +}; +static const ber_tlv_tag_t asn_DEF_ExhaustEmissionValues_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ExhaustEmissionValues_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* unitType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* emissionCo */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* emissionHc */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* emissionNox */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* emissionHcNox */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ExhaustEmissionValues_specs_1 = { + sizeof(struct ExhaustEmissionValues), + offsetof(struct ExhaustEmissionValues, _asn_ctx), + asn_MAP_ExhaustEmissionValues_tag2el_1, + 5, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ExhaustEmissionValues = { + "ExhaustEmissionValues", + "ExhaustEmissionValues", + &asn_OP_SEQUENCE, + asn_DEF_ExhaustEmissionValues_tags_1, + sizeof(asn_DEF_ExhaustEmissionValues_tags_1) + /sizeof(asn_DEF_ExhaustEmissionValues_tags_1[0]), /* 1 */ + asn_DEF_ExhaustEmissionValues_tags_1, /* Same as above */ + sizeof(asn_DEF_ExhaustEmissionValues_tags_1) + /sizeof(asn_DEF_ExhaustEmissionValues_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ExhaustEmissionValues_1, + 5, /* Elements count */ + &asn_SPC_ExhaustEmissionValues_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ExhaustEmissionValues.h b/src/tmx/Asn_J2735/src/r2024/ExhaustEmissionValues.h deleted file mode 100644 index e76edec3e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ExhaustEmissionValues.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ExhaustEmissionValues_H_ -#define _ExhaustEmissionValues_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "EmissionUnit.h" -#include "NativeInteger.h" -#include "Int2Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ExhaustEmissionValues */ -typedef struct ExhaustEmissionValues { - EmissionUnit_t unitType; - long emissionCo; - Int2Unsigned_t emissionHc; - Int2Unsigned_t emissionNox; - Int2Unsigned_t emissionHcNox; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ExhaustEmissionValues_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ExhaustEmissionValues; -extern asn_SEQUENCE_specifics_t asn_SPC_ExhaustEmissionValues_specs_1; -extern asn_TYPE_member_t asn_MBR_ExhaustEmissionValues_1[5]; - -#ifdef __cplusplus -} -#endif - -#endif /* _ExhaustEmissionValues_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ExitChargesTable.c b/src/tmx/Asn_J2735/src/r2024/ExitChargesTable.c new file mode 100644 index 000000000..b18ca54e1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ExitChargesTable.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ExitChargesTable.h" + +asn_TYPE_member_t asn_MBR_ExitChargesTable_1[] = { + { ATF_POINTER, 1, offsetof(struct ExitChargesTable, entryInfo), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TollPointID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "entryInfo" + }, + { ATF_NOFLAGS, 0, offsetof(struct ExitChargesTable, chargesTable), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargesTable" + }, +}; +static const int asn_MAP_ExitChargesTable_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_ExitChargesTable_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ExitChargesTable_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* entryInfo */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* chargesTable */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ExitChargesTable_specs_1 = { + sizeof(struct ExitChargesTable), + offsetof(struct ExitChargesTable, _asn_ctx), + asn_MAP_ExitChargesTable_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_ExitChargesTable_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ExitChargesTable = { + "ExitChargesTable", + "ExitChargesTable", + &asn_OP_SEQUENCE, + asn_DEF_ExitChargesTable_tags_1, + sizeof(asn_DEF_ExitChargesTable_tags_1) + /sizeof(asn_DEF_ExitChargesTable_tags_1[0]), /* 1 */ + asn_DEF_ExitChargesTable_tags_1, /* Same as above */ + sizeof(asn_DEF_ExitChargesTable_tags_1) + /sizeof(asn_DEF_ExitChargesTable_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ExitChargesTable_1, + 2, /* Elements count */ + &asn_SPC_ExitChargesTable_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ExitChargesTable.h b/src/tmx/Asn_J2735/src/r2024/ExitChargesTable.h deleted file mode 100644 index 7eb7e2c59..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ExitChargesTable.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ExitChargesTable_H_ -#define _ExitChargesTable_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TollPointID.h" -#include "ChargesTable.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ExitChargesTable */ -typedef struct ExitChargesTable { - TollPointID_t *entryInfo; /* OPTIONAL */ - ChargesTable_t chargesTable; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ExitChargesTable_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ExitChargesTable; -extern asn_SEQUENCE_specifics_t asn_SPC_ExitChargesTable_specs_1; -extern asn_TYPE_member_t asn_MBR_ExitChargesTable_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _ExitChargesTable_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ExitInfo.c b/src/tmx/Asn_J2735/src/r2024/ExitInfo.c new file mode 100644 index 000000000..dbfaea1d3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ExitInfo.c @@ -0,0 +1,178 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ExitInfo.h" + +static int +memb_exitNumber_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 999L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_exitLetter_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 65L && value <= 90L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_exitNumber_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_exitNumber_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 999 } /* (1..999,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_exitLetter_constr_3 CC_NOTUSED = { + { 1, 1 } /* (65..90) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_exitLetter_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 65, 90 } /* (65..90) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ExitInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ExitInfo, exitNumber), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_exitNumber_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_exitNumber_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_exitNumber_constraint_1 + }, + 0, 0, /* No default value */ + "exitNumber" + }, + { ATF_POINTER, 2, offsetof(struct ExitInfo, exitLetter), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_exitLetter_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_exitLetter_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_exitLetter_constraint_1 + }, + 0, 0, /* No default value */ + "exitLetter" + }, + { ATF_POINTER, 1, offsetof(struct ExitInfo, tollPointID), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TollPointID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tollPointID" + }, +}; +static const int asn_MAP_ExitInfo_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_ExitInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ExitInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* exitNumber */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* exitLetter */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* tollPointID */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ExitInfo_specs_1 = { + sizeof(struct ExitInfo), + offsetof(struct ExitInfo, _asn_ctx), + asn_MAP_ExitInfo_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ExitInfo_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ExitInfo = { + "ExitInfo", + "ExitInfo", + &asn_OP_SEQUENCE, + asn_DEF_ExitInfo_tags_1, + sizeof(asn_DEF_ExitInfo_tags_1) + /sizeof(asn_DEF_ExitInfo_tags_1[0]), /* 1 */ + asn_DEF_ExitInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_ExitInfo_tags_1) + /sizeof(asn_DEF_ExitInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ExitInfo_1, + 3, /* Elements count */ + &asn_SPC_ExitInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ExitInfo.h b/src/tmx/Asn_J2735/src/r2024/ExitInfo.h deleted file mode 100644 index 214b71886..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ExitInfo.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ExitInfo_H_ -#define _ExitInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "TollPointID.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ExitInfo */ -typedef struct ExitInfo { - long exitNumber; - long *exitLetter; /* OPTIONAL */ - TollPointID_t *tollPointID; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ExitInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ExitInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_ExitInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_ExitInfo_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _ExitInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ExitService.c b/src/tmx/Asn_J2735/src/r2024/ExitService.c new file mode 100644 index 000000000..67d3efd66 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ExitService.c @@ -0,0 +1,215 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ExitService.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_item_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_item_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ExitService_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ExitService_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_item_3[] = { + { ATF_NOFLAGS, 0, offsetof(struct ExitService__Member__item, choice.itis), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ITIScodes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "itis" + }, + { ATF_NOFLAGS, 0, offsetof(struct ExitService__Member__item, choice.text), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIStextPhrase, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "text" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_item_tag2el_3[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* itis */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* text */ +}; +static asn_CHOICE_specifics_t asn_SPC_item_specs_3 = { + sizeof(struct ExitService__Member__item), + offsetof(struct ExitService__Member__item, _asn_ctx), + offsetof(struct ExitService__Member__item, present), + sizeof(((struct ExitService__Member__item *)0)->present), + asn_MAP_item_tag2el_3, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_item_3 = { + "item", + "item", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_item_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_item_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_item_3, + 2, /* Elements count */ + &asn_SPC_item_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct ExitService__Member, item), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_item_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "item" + }, +}; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* item */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct ExitService__Member), + offsetof(struct ExitService__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Member_2, + 1, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ExitService_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ExitService_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ExitService_specs_1 = { + sizeof(struct ExitService), + offsetof(struct ExitService, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ExitService = { + "ExitService", + "ExitService", + &asn_OP_SEQUENCE_OF, + asn_DEF_ExitService_tags_1, + sizeof(asn_DEF_ExitService_tags_1) + /sizeof(asn_DEF_ExitService_tags_1[0]), /* 1 */ + asn_DEF_ExitService_tags_1, /* Same as above */ + sizeof(asn_DEF_ExitService_tags_1) + /sizeof(asn_DEF_ExitService_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ExitService_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ExitService_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_ExitService_1, + 1, /* Single element */ + &asn_SPC_ExitService_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ExitService.h b/src/tmx/Asn_J2735/src/r2024/ExitService.h deleted file mode 100644 index 05a3416b2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ExitService.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ExitService_H_ -#define _ExitService_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "ITIS_ITIScodes.h" -#include "ITIStextPhrase.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ExitService__Member__item_PR { - ExitService__Member__item_PR_NOTHING, /* No components present */ - ExitService__Member__item_PR_itis, - ExitService__Member__item_PR_text -} ExitService__Member__item_PR; - -/* Forward definitions */ -typedef struct ExitService__Member { - struct ExitService__Member__item { - ExitService__Member__item_PR present; - union ExitService__Member__item_u { - ITIS_ITIScodes_t itis; - ITIStextPhrase_t text; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } item; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ExitService__Member; - -/* ExitService */ -typedef struct ExitService { - A_SEQUENCE_OF(ExitService__Member) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ExitService_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ExitService; -extern asn_SET_OF_specifics_t asn_SPC_ExitService_specs_1; -extern asn_TYPE_member_t asn_MBR_ExitService_1[1]; -extern asn_per_constraints_t asn_PER_type_ExitService_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _ExitService_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Extent.c b/src/tmx/Asn_J2735/src/r2024/Extent.c new file mode 100644 index 000000000..62b0d6319 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Extent.c @@ -0,0 +1,96 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Extent.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Extent_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Extent_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Extent_value2enum_1[] = { + { 0, 16, "useInstantlyOnly" }, + { 1, 13, "useFor3meters" }, + { 2, 14, "useFor10meters" }, + { 3, 14, "useFor50meters" }, + { 4, 15, "useFor100meters" }, + { 5, 15, "useFor500meters" }, + { 6, 16, "useFor1000meters" }, + { 7, 16, "useFor5000meters" }, + { 8, 17, "useFor10000meters" }, + { 9, 17, "useFor50000meters" }, + { 10, 18, "useFor100000meters" }, + { 11, 18, "useFor500000meters" }, + { 12, 19, "useFor1000000meters" }, + { 13, 19, "useFor5000000meters" }, + { 14, 20, "useFor10000000meters" }, + { 15, 7, "forever" } +}; +static const unsigned int asn_MAP_Extent_enum2value_1[] = { + 15, /* forever(15) */ + 14, /* useFor10000000meters(14) */ + 12, /* useFor1000000meters(12) */ + 10, /* useFor100000meters(10) */ + 8, /* useFor10000meters(8) */ + 6, /* useFor1000meters(6) */ + 4, /* useFor100meters(4) */ + 2, /* useFor10meters(2) */ + 1, /* useFor3meters(1) */ + 13, /* useFor5000000meters(13) */ + 11, /* useFor500000meters(11) */ + 9, /* useFor50000meters(9) */ + 7, /* useFor5000meters(7) */ + 5, /* useFor500meters(5) */ + 3, /* useFor50meters(3) */ + 0 /* useInstantlyOnly(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Extent_specs_1 = { + asn_MAP_Extent_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Extent_enum2value_1, /* N => "tag"; sorted by N */ + 16, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Extent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Extent = { + "Extent", + "Extent", + &asn_OP_NativeEnumerated, + asn_DEF_Extent_tags_1, + sizeof(asn_DEF_Extent_tags_1) + /sizeof(asn_DEF_Extent_tags_1[0]), /* 1 */ + asn_DEF_Extent_tags_1, /* Same as above */ + sizeof(asn_DEF_Extent_tags_1) + /sizeof(asn_DEF_Extent_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Extent_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Extent_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Extent_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Extent.h b/src/tmx/Asn_J2735/src/r2024/Extent.h deleted file mode 100644 index f7573d5e6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Extent.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Extent_H_ -#define _Extent_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Extent { - Extent_useInstantlyOnly = 0, - Extent_useFor3meters = 1, - Extent_useFor10meters = 2, - Extent_useFor50meters = 3, - Extent_useFor100meters = 4, - Extent_useFor500meters = 5, - Extent_useFor1000meters = 6, - Extent_useFor5000meters = 7, - Extent_useFor10000meters = 8, - Extent_useFor50000meters = 9, - Extent_useFor100000meters = 10, - Extent_useFor500000meters = 11, - Extent_useFor1000000meters = 12, - Extent_useFor5000000meters = 13, - Extent_useFor10000000meters = 14, - Extent_forever = 15 -} e_Extent; - -/* Extent */ -typedef long Extent_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Extent_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Extent; -extern const asn_INTEGER_specifics_t asn_SPC_Extent_specs_1; -asn_struct_free_f Extent_free; -asn_struct_print_f Extent_print; -asn_constr_check_f Extent_constraint; -ber_type_decoder_f Extent_decode_ber; -der_type_encoder_f Extent_encode_der; -xer_type_decoder_f Extent_decode_xer; -xer_type_encoder_f Extent_encode_xer; -oer_type_decoder_f Extent_decode_oer; -oer_type_encoder_f Extent_encode_oer; -per_type_decoder_f Extent_decode_uper; -per_type_encoder_f Extent_encode_uper; -per_type_decoder_f Extent_decode_aper; -per_type_encoder_f Extent_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Extent_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ExteriorLights.c b/src/tmx/Asn_J2735/src/r2024/ExteriorLights.c new file mode 100644 index 000000000..347c7577e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ExteriorLights.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ExteriorLights.h" + +int +ExteriorLights_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 9UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ExteriorLights_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ExteriorLights_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 9, 9 } /* (SIZE(9..9,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ExteriorLights_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ExteriorLights = { + "ExteriorLights", + "ExteriorLights", + &asn_OP_BIT_STRING, + asn_DEF_ExteriorLights_tags_1, + sizeof(asn_DEF_ExteriorLights_tags_1) + /sizeof(asn_DEF_ExteriorLights_tags_1[0]), /* 1 */ + asn_DEF_ExteriorLights_tags_1, /* Same as above */ + sizeof(asn_DEF_ExteriorLights_tags_1) + /sizeof(asn_DEF_ExteriorLights_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ExteriorLights_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ExteriorLights_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ExteriorLights_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ExteriorLights.h b/src/tmx/Asn_J2735/src/r2024/ExteriorLights.h deleted file mode 100644 index fcb7b63d0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ExteriorLights.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ExteriorLights_H_ -#define _ExteriorLights_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ExteriorLights { - ExteriorLights_lowBeamHeadlightsOn = 0, - ExteriorLights_highBeamHeadlightsOn = 1, - ExteriorLights_leftTurnSignalOn = 2, - ExteriorLights_rightTurnSignalOn = 3, - ExteriorLights_hazardSignalOn = 4, - ExteriorLights_automaticLightControlOn = 5, - ExteriorLights_daytimeRunningLightsOn = 6, - ExteriorLights_fogLightOn = 7, - ExteriorLights_parkingLightsOn = 8 -} e_ExteriorLights; - -/* ExteriorLights */ -typedef BIT_STRING_t ExteriorLights_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ExteriorLights_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ExteriorLights; -asn_struct_free_f ExteriorLights_free; -asn_struct_print_f ExteriorLights_print; -asn_constr_check_f ExteriorLights_constraint; -ber_type_decoder_f ExteriorLights_decode_ber; -der_type_encoder_f ExteriorLights_encode_der; -xer_type_decoder_f ExteriorLights_decode_xer; -xer_type_encoder_f ExteriorLights_encode_xer; -oer_type_decoder_f ExteriorLights_decode_oer; -oer_type_encoder_f ExteriorLights_encode_oer; -per_type_decoder_f ExteriorLights_decode_uper; -per_type_encoder_f ExteriorLights_encode_uper; -per_type_decoder_f ExteriorLights_decode_aper; -per_type_encoder_f ExteriorLights_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ExteriorLights_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/FeeReport.c b/src/tmx/Asn_J2735/src/r2024/FeeReport.c new file mode 100644 index 000000000..407835d28 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/FeeReport.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingReportMessage" + * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "FeeReport.h" + +asn_TYPE_member_t asn_MBR_FeeReport_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct FeeReport, userData), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UserData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "userData" + }, + { ATF_NOFLAGS, 0, offsetof(struct FeeReport, fees), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UserFeeInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "fees" + }, +}; +static const ber_tlv_tag_t asn_DEF_FeeReport_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_FeeReport_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* userData */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* fees */ +}; +asn_SEQUENCE_specifics_t asn_SPC_FeeReport_specs_1 = { + sizeof(struct FeeReport), + offsetof(struct FeeReport, _asn_ctx), + asn_MAP_FeeReport_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_FeeReport = { + "FeeReport", + "FeeReport", + &asn_OP_SEQUENCE, + asn_DEF_FeeReport_tags_1, + sizeof(asn_DEF_FeeReport_tags_1) + /sizeof(asn_DEF_FeeReport_tags_1[0]), /* 1 */ + asn_DEF_FeeReport_tags_1, /* Same as above */ + sizeof(asn_DEF_FeeReport_tags_1) + /sizeof(asn_DEF_FeeReport_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_FeeReport_1, + 2, /* Elements count */ + &asn_SPC_FeeReport_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/FeeReport.h b/src/tmx/Asn_J2735/src/r2024/FeeReport.h deleted file mode 100644 index ee4fdf5a2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/FeeReport.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingReportMessage" - * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _FeeReport_H_ -#define _FeeReport_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "UserData.h" -#include "UserFeeInfo.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* FeeReport */ -typedef struct FeeReport { - UserData_t userData; - UserFeeInfo_t fees; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} FeeReport_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_FeeReport; -extern asn_SEQUENCE_specifics_t asn_SPC_FeeReport_specs_1; -extern asn_TYPE_member_t asn_MBR_FeeReport_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _FeeReport_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/FrictionInformation.c b/src/tmx/Asn_J2735/src/r2024/FrictionInformation.c new file mode 100644 index 000000000..6c9a900bd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/FrictionInformation.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "FrictionInformation.h" + +asn_TYPE_member_t asn_MBR_FrictionInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct FrictionInformation, roadSurfaceDescription), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_DescriptionOfRoadSurface, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadSurfaceDescription" + }, + { ATF_POINTER, 2, offsetof(struct FrictionInformation, dryOrWet), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadSurfaceCondition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dryOrWet" + }, + { ATF_POINTER, 1, offsetof(struct FrictionInformation, roadRoughness), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadRoughness, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadRoughness" + }, +}; +static const int asn_MAP_FrictionInformation_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_FrictionInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_FrictionInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* roadSurfaceDescription */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* dryOrWet */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* roadRoughness */ +}; +asn_SEQUENCE_specifics_t asn_SPC_FrictionInformation_specs_1 = { + sizeof(struct FrictionInformation), + offsetof(struct FrictionInformation, _asn_ctx), + asn_MAP_FrictionInformation_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_FrictionInformation_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_FrictionInformation = { + "FrictionInformation", + "FrictionInformation", + &asn_OP_SEQUENCE, + asn_DEF_FrictionInformation_tags_1, + sizeof(asn_DEF_FrictionInformation_tags_1) + /sizeof(asn_DEF_FrictionInformation_tags_1[0]), /* 1 */ + asn_DEF_FrictionInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_FrictionInformation_tags_1) + /sizeof(asn_DEF_FrictionInformation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_FrictionInformation_1, + 3, /* Elements count */ + &asn_SPC_FrictionInformation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/FrictionInformation.h b/src/tmx/Asn_J2735/src/r2024/FrictionInformation.h deleted file mode 100644 index 536d2cb59..000000000 --- a/src/tmx/Asn_J2735/src/r2024/FrictionInformation.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _FrictionInformation_H_ -#define _FrictionInformation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DescriptionOfRoadSurface.h" -#include "RoadSurfaceCondition.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RoadRoughness; - -/* FrictionInformation */ -typedef struct FrictionInformation { - DescriptionOfRoadSurface_t roadSurfaceDescription; - RoadSurfaceCondition_t *dryOrWet; /* OPTIONAL */ - struct RoadRoughness *roadRoughness; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} FrictionInformation_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_FrictionInformation; -extern asn_SEQUENCE_specifics_t asn_SPC_FrictionInformation_specs_1; -extern asn_TYPE_member_t asn_MBR_FrictionInformation_1[3]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RoadRoughness.h" - -#endif /* _FrictionInformation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/FrontCutIn.c b/src/tmx/Asn_J2735/src/r2024/FrontCutIn.c new file mode 100644 index 000000000..73e8db273 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/FrontCutIn.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "FrontCutIn.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_FrontCutIn_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_FrontCutIn = { + "FrontCutIn", + "FrontCutIn", + &asn_OP_BOOLEAN, + asn_DEF_FrontCutIn_tags_1, + sizeof(asn_DEF_FrontCutIn_tags_1) + /sizeof(asn_DEF_FrontCutIn_tags_1[0]), /* 1 */ + asn_DEF_FrontCutIn_tags_1, /* Same as above */ + sizeof(asn_DEF_FrontCutIn_tags_1) + /sizeof(asn_DEF_FrontCutIn_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/FrontCutIn.h b/src/tmx/Asn_J2735/src/r2024/FrontCutIn.h deleted file mode 100644 index 2d6c51a34..000000000 --- a/src/tmx/Asn_J2735/src/r2024/FrontCutIn.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _FrontCutIn_H_ -#define _FrontCutIn_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* FrontCutIn */ -typedef BOOLEAN_t FrontCutIn_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_FrontCutIn; -asn_struct_free_f FrontCutIn_free; -asn_struct_print_f FrontCutIn_print; -asn_constr_check_f FrontCutIn_constraint; -ber_type_decoder_f FrontCutIn_decode_ber; -der_type_encoder_f FrontCutIn_encode_der; -xer_type_decoder_f FrontCutIn_decode_xer; -xer_type_encoder_f FrontCutIn_encode_xer; -oer_type_decoder_f FrontCutIn_decode_oer; -oer_type_encoder_f FrontCutIn_encode_oer; -per_type_decoder_f FrontCutIn_decode_uper; -per_type_encoder_f FrontCutIn_encode_uper; -per_type_decoder_f FrontCutIn_decode_aper; -per_type_encoder_f FrontCutIn_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _FrontCutIn_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/FuelType.c b/src/tmx/Asn_J2735/src/r2024/FuelType.c new file mode 100644 index 000000000..1b2daf7a2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/FuelType.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "FuelType.h" + +int +FuelType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_FuelType_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_FuelType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_FuelType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_FuelType = { + "FuelType", + "FuelType", + &asn_OP_NativeInteger, + asn_DEF_FuelType_tags_1, + sizeof(asn_DEF_FuelType_tags_1) + /sizeof(asn_DEF_FuelType_tags_1[0]), /* 1 */ + asn_DEF_FuelType_tags_1, /* Same as above */ + sizeof(asn_DEF_FuelType_tags_1) + /sizeof(asn_DEF_FuelType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_FuelType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_FuelType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + FuelType_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/FuelType.h b/src/tmx/Asn_J2735/src/r2024/FuelType.h deleted file mode 100644 index ded5943c4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/FuelType.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _FuelType_H_ -#define _FuelType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* FuelType */ -typedef long FuelType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_FuelType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_FuelType; -asn_struct_free_f FuelType_free; -asn_struct_print_f FuelType_print; -asn_constr_check_f FuelType_constraint; -ber_type_decoder_f FuelType_decode_ber; -der_type_encoder_f FuelType_encode_der; -xer_type_decoder_f FuelType_decode_xer; -xer_type_encoder_f FuelType_encode_xer; -oer_type_decoder_f FuelType_decode_oer; -oer_type_encoder_f FuelType_encode_oer; -per_type_decoder_f FuelType_decode_uper; -per_type_encoder_f FuelType_encode_uper; -per_type_decoder_f FuelType_decode_aper; -per_type_encoder_f FuelType_encode_aper; -#define FuelType_unknownFuel ((FuelType_t)0) -#define FuelType_gasoline ((FuelType_t)1) -#define FuelType_ethanol ((FuelType_t)2) -#define FuelType_diesel ((FuelType_t)3) -#define FuelType_electric ((FuelType_t)4) -#define FuelType_hybrid ((FuelType_t)5) -#define FuelType_hydrogen ((FuelType_t)6) -#define FuelType_natGasLiquid ((FuelType_t)7) -#define FuelType_natGasComp ((FuelType_t)8) -#define FuelType_propane ((FuelType_t)9) - -#ifdef __cplusplus -} -#endif - -#endif /* _FuelType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/FullPositionVector.c b/src/tmx/Asn_J2735/src/r2024/FullPositionVector.c new file mode 100644 index 000000000..c30c9904a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/FullPositionVector.c @@ -0,0 +1,230 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "FullPositionVector.h" + +asn_TYPE_member_t asn_MBR_FullPositionVector_1[] = { + { ATF_POINTER, 1, offsetof(struct FullPositionVector, utcTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "utcTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct FullPositionVector, Long), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Longitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "long" + }, + { ATF_NOFLAGS, 0, offsetof(struct FullPositionVector, lat), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Latitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat" + }, + { ATF_POINTER, 7, offsetof(struct FullPositionVector, elevation), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Elevation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "elevation" + }, + { ATF_POINTER, 6, offsetof(struct FullPositionVector, heading), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Heading, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heading" + }, + { ATF_POINTER, 5, offsetof(struct FullPositionVector, speed), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TransmissionAndSpeed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed" + }, + { ATF_POINTER, 4, offsetof(struct FullPositionVector, posAccuracy), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionalAccuracy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "posAccuracy" + }, + { ATF_POINTER, 3, offsetof(struct FullPositionVector, timeConfidence), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeConfidence" + }, + { ATF_POINTER, 2, offsetof(struct FullPositionVector, posConfidence), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionConfidenceSet, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "posConfidence" + }, + { ATF_POINTER, 1, offsetof(struct FullPositionVector, speedConfidence), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedandHeadingandThrottleConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedConfidence" + }, +}; +static const int asn_MAP_FullPositionVector_oms_1[] = { 0, 3, 4, 5, 6, 7, 8, 9 }; +static const ber_tlv_tag_t asn_DEF_FullPositionVector_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_FullPositionVector_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* utcTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* long */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* lat */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* elevation */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* heading */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* speed */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* posAccuracy */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* timeConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* posConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* speedConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_FullPositionVector_specs_1 = { + sizeof(struct FullPositionVector), + offsetof(struct FullPositionVector, _asn_ctx), + asn_MAP_FullPositionVector_tag2el_1, + 10, /* Count of tags in the map */ + asn_MAP_FullPositionVector_oms_1, /* Optional members */ + 8, 0, /* Root/Additions */ + 10, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_FullPositionVector = { + "FullPositionVector", + "FullPositionVector", + &asn_OP_SEQUENCE, + asn_DEF_FullPositionVector_tags_1, + sizeof(asn_DEF_FullPositionVector_tags_1) + /sizeof(asn_DEF_FullPositionVector_tags_1[0]), /* 1 */ + asn_DEF_FullPositionVector_tags_1, /* Same as above */ + sizeof(asn_DEF_FullPositionVector_tags_1) + /sizeof(asn_DEF_FullPositionVector_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_FullPositionVector_1, + 10, /* Elements count */ + &asn_SPC_FullPositionVector_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/FullPositionVector.h b/src/tmx/Asn_J2735/src/r2024/FullPositionVector.h deleted file mode 100644 index 3663b1669..000000000 --- a/src/tmx/Asn_J2735/src/r2024/FullPositionVector.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _FullPositionVector_H_ -#define _FullPositionVector_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_Longitude.h" -#include "Common_Latitude.h" -#include "Common_Elevation.h" -#include "Heading.h" -#include "TimeConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct DDateTime; -struct TransmissionAndSpeed; -struct PositionalAccuracy; -struct PositionConfidenceSet; -struct SpeedandHeadingandThrottleConfidence; - -/* FullPositionVector */ -typedef struct FullPositionVector { - struct DDateTime *utcTime; /* OPTIONAL */ - Common_Longitude_t Long; - Common_Latitude_t lat; - Common_Elevation_t *elevation; /* OPTIONAL */ - Heading_t *heading; /* OPTIONAL */ - struct TransmissionAndSpeed *speed; /* OPTIONAL */ - struct PositionalAccuracy *posAccuracy; /* OPTIONAL */ - TimeConfidence_t *timeConfidence; /* OPTIONAL */ - struct PositionConfidenceSet *posConfidence; /* OPTIONAL */ - struct SpeedandHeadingandThrottleConfidence *speedConfidence; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} FullPositionVector_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_FullPositionVector; -extern asn_SEQUENCE_specifics_t asn_SPC_FullPositionVector_specs_1; -extern asn_TYPE_member_t asn_MBR_FullPositionVector_1[10]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "DDateTime.h" -#include "TransmissionAndSpeed.h" -#include "PositionalAccuracy.h" -#include "PositionConfidenceSet.h" -#include "SpeedandHeadingandThrottleConfidence.h" - -#endif /* _FullPositionVector_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/FullRoadAuthorityID.c b/src/tmx/Asn_J2735/src/r2024/FullRoadAuthorityID.c new file mode 100644 index 000000000..cb9220f21 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/FullRoadAuthorityID.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "FullRoadAuthorityID.h" + +/* + * This type is implemented using OBJECT_IDENTIFIER, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_FullRoadAuthorityID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_FullRoadAuthorityID = { + "FullRoadAuthorityID", + "FullRoadAuthorityID", + &asn_OP_OBJECT_IDENTIFIER, + asn_DEF_FullRoadAuthorityID_tags_1, + sizeof(asn_DEF_FullRoadAuthorityID_tags_1) + /sizeof(asn_DEF_FullRoadAuthorityID_tags_1[0]), /* 1 */ + asn_DEF_FullRoadAuthorityID_tags_1, /* Same as above */ + sizeof(asn_DEF_FullRoadAuthorityID_tags_1) + /sizeof(asn_DEF_FullRoadAuthorityID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OBJECT_IDENTIFIER_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/FullRoadAuthorityID.h b/src/tmx/Asn_J2735/src/r2024/FullRoadAuthorityID.h deleted file mode 100644 index 50ce51b4e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/FullRoadAuthorityID.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _FullRoadAuthorityID_H_ -#define _FullRoadAuthorityID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OBJECT_IDENTIFIER.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* FullRoadAuthorityID */ -typedef OBJECT_IDENTIFIER_t FullRoadAuthorityID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_FullRoadAuthorityID; -asn_struct_free_f FullRoadAuthorityID_free; -asn_struct_print_f FullRoadAuthorityID_print; -asn_constr_check_f FullRoadAuthorityID_constraint; -ber_type_decoder_f FullRoadAuthorityID_decode_ber; -der_type_encoder_f FullRoadAuthorityID_encode_der; -xer_type_decoder_f FullRoadAuthorityID_decode_xer; -xer_type_encoder_f FullRoadAuthorityID_encode_xer; -oer_type_decoder_f FullRoadAuthorityID_decode_oer; -oer_type_encoder_f FullRoadAuthorityID_encode_oer; -per_type_decoder_f FullRoadAuthorityID_decode_uper; -per_type_encoder_f FullRoadAuthorityID_encode_uper; -per_type_decoder_f FullRoadAuthorityID_decode_aper; -per_type_encoder_f FullRoadAuthorityID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _FullRoadAuthorityID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/FurtherInfoID.c b/src/tmx/Asn_J2735/src/r2024/FurtherInfoID.c new file mode 100644 index 000000000..917425a92 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/FurtherInfoID.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "FurtherInfoID.h" + +int +FurtherInfoID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_FurtherInfoID_constr_1 CC_NOTUSED = { + { 0, 0 }, + 2 /* (SIZE(2..2)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_FurtherInfoID_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_FurtherInfoID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_FurtherInfoID = { + "FurtherInfoID", + "FurtherInfoID", + &asn_OP_OCTET_STRING, + asn_DEF_FurtherInfoID_tags_1, + sizeof(asn_DEF_FurtherInfoID_tags_1) + /sizeof(asn_DEF_FurtherInfoID_tags_1[0]), /* 1 */ + asn_DEF_FurtherInfoID_tags_1, /* Same as above */ + sizeof(asn_DEF_FurtherInfoID_tags_1) + /sizeof(asn_DEF_FurtherInfoID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_FurtherInfoID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_FurtherInfoID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + FurtherInfoID_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/FurtherInfoID.h b/src/tmx/Asn_J2735/src/r2024/FurtherInfoID.h deleted file mode 100644 index f3f354d89..000000000 --- a/src/tmx/Asn_J2735/src/r2024/FurtherInfoID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _FurtherInfoID_H_ -#define _FurtherInfoID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* FurtherInfoID */ -typedef OCTET_STRING_t FurtherInfoID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_FurtherInfoID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_FurtherInfoID; -asn_struct_free_f FurtherInfoID_free; -asn_struct_print_f FurtherInfoID_print; -asn_constr_check_f FurtherInfoID_constraint; -ber_type_decoder_f FurtherInfoID_decode_ber; -der_type_encoder_f FurtherInfoID_encode_der; -xer_type_decoder_f FurtherInfoID_decode_xer; -xer_type_encoder_f FurtherInfoID_encode_xer; -oer_type_decoder_f FurtherInfoID_decode_oer; -oer_type_encoder_f FurtherInfoID_encode_oer; -per_type_decoder_f FurtherInfoID_decode_uper; -per_type_encoder_f FurtherInfoID_encode_uper; -per_type_decoder_f FurtherInfoID_decode_aper; -per_type_encoder_f FurtherInfoID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _FurtherInfoID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/FutureCharacteristics.c b/src/tmx/Asn_J2735/src/r2024/FutureCharacteristics.c new file mode 100644 index 000000000..743c646e1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/FutureCharacteristics.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "FutureCharacteristics.h" + +int +FutureCharacteristics_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_FutureCharacteristics_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_FutureCharacteristics_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_FutureCharacteristics_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_FutureCharacteristics = { + "FutureCharacteristics", + "FutureCharacteristics", + &asn_OP_NativeInteger, + asn_DEF_FutureCharacteristics_tags_1, + sizeof(asn_DEF_FutureCharacteristics_tags_1) + /sizeof(asn_DEF_FutureCharacteristics_tags_1[0]), /* 1 */ + asn_DEF_FutureCharacteristics_tags_1, /* Same as above */ + sizeof(asn_DEF_FutureCharacteristics_tags_1) + /sizeof(asn_DEF_FutureCharacteristics_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_FutureCharacteristics_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_FutureCharacteristics_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + FutureCharacteristics_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/FutureCharacteristics.h b/src/tmx/Asn_J2735/src/r2024/FutureCharacteristics.h deleted file mode 100644 index 8c03cadc2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/FutureCharacteristics.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _FutureCharacteristics_H_ -#define _FutureCharacteristics_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum FutureCharacteristics { - FutureCharacteristics_noEntry = 0, - FutureCharacteristics_airSuspension = 1 -} e_FutureCharacteristics; - -/* FutureCharacteristics */ -typedef long FutureCharacteristics_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_FutureCharacteristics_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_FutureCharacteristics; -asn_struct_free_f FutureCharacteristics_free; -asn_struct_print_f FutureCharacteristics_print; -asn_constr_check_f FutureCharacteristics_constraint; -ber_type_decoder_f FutureCharacteristics_decode_ber; -der_type_encoder_f FutureCharacteristics_encode_der; -xer_type_decoder_f FutureCharacteristics_decode_xer; -xer_type_encoder_f FutureCharacteristics_encode_xer; -oer_type_decoder_f FutureCharacteristics_decode_oer; -oer_type_encoder_f FutureCharacteristics_encode_oer; -per_type_decoder_f FutureCharacteristics_decode_uper; -per_type_encoder_f FutureCharacteristics_encode_uper; -per_type_decoder_f FutureCharacteristics_decode_aper; -per_type_encoder_f FutureCharacteristics_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _FutureCharacteristics_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/GNSSstatus.c b/src/tmx/Asn_J2735/src/r2024/GNSSstatus.c new file mode 100644 index 000000000..ce2db6446 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GNSSstatus.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "GNSSstatus.h" + +int +GNSSstatus_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_GNSSstatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + 8 /* (SIZE(8..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_GNSSstatus_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_GNSSstatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_GNSSstatus = { + "GNSSstatus", + "GNSSstatus", + &asn_OP_BIT_STRING, + asn_DEF_GNSSstatus_tags_1, + sizeof(asn_DEF_GNSSstatus_tags_1) + /sizeof(asn_DEF_GNSSstatus_tags_1[0]), /* 1 */ + asn_DEF_GNSSstatus_tags_1, /* Same as above */ + sizeof(asn_DEF_GNSSstatus_tags_1) + /sizeof(asn_DEF_GNSSstatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_GNSSstatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_GNSSstatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + GNSSstatus_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/GNSSstatus.h b/src/tmx/Asn_J2735/src/r2024/GNSSstatus.h deleted file mode 100644 index 26e1f638b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/GNSSstatus.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _GNSSstatus_H_ -#define _GNSSstatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum GNSSstatus { - GNSSstatus_unavailable = 0, - GNSSstatus_isHealthy = 1, - GNSSstatus_isMonitored = 2, - GNSSstatus_baseStationType = 3, - GNSSstatus_aPDOPofUnder5 = 4, - GNSSstatus_inViewOfUnder5 = 5, - GNSSstatus_localCorrectionsPresent = 6, - GNSSstatus_networkCorrectionsPresent = 7 -} e_GNSSstatus; - -/* GNSSstatus */ -typedef BIT_STRING_t GNSSstatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_GNSSstatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_GNSSstatus; -asn_struct_free_f GNSSstatus_free; -asn_struct_print_f GNSSstatus_print; -asn_constr_check_f GNSSstatus_constraint; -ber_type_decoder_f GNSSstatus_decode_ber; -der_type_encoder_f GNSSstatus_encode_der; -xer_type_decoder_f GNSSstatus_decode_xer; -xer_type_encoder_f GNSSstatus_encode_xer; -oer_type_decoder_f GNSSstatus_decode_oer; -oer_type_encoder_f GNSSstatus_encode_oer; -per_type_decoder_f GNSSstatus_decode_uper; -per_type_encoder_f GNSSstatus_encode_uper; -per_type_decoder_f GNSSstatus_decode_aper; -per_type_encoder_f GNSSstatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _GNSSstatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/GeneralizedTime.c b/src/tmx/Asn_J2735/src/r2024/GeneralizedTime.c new file mode 100644 index 000000000..6aecaee80 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GeneralizedTime.c @@ -0,0 +1,743 @@ +/*- + * Copyright (c) 2003-2019 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#define _POSIX_PTHREAD_SEMANTICS /* for Sun */ +#define _REENTRANT /* for Sun */ +#define __EXTENSIONS__ /* for Sun */ +#ifndef _BSD_SOURCE +#define _BSD_SOURCE /* for timegm(3) */ +#endif +#include +#include + +#ifdef __CYGWIN__ +#include "/usr/include/time.h" +#else +#include +#endif /* __CYGWIN__ */ + +#include + +#if defined(_WIN32) +#pragma message( "PLEASE STOP AND READ!") +#pragma message( " localtime_r is implemented via localtime(), which may be not thread-safe.") +#pragma message( " gmtime_r is implemented via gmtime(), which may be not thread-safe.") +#pragma message( " ") +#pragma message( " You must fix the code by inserting appropriate locking") +#pragma message( " if you want to use asn_GT2time() or asn_UT2time().") +#pragma message( "PLEASE STOP AND READ!") + +static struct tm *localtime_r(const time_t *tloc, struct tm *result) { + struct tm *tm; + if((tm = localtime(tloc))) + return memcpy(result, tm, sizeof(struct tm)); + return 0; +} + +static struct tm *gmtime_r(const time_t *tloc, struct tm *result) { + struct tm *tm; + if((tm = gmtime(tloc))) + return memcpy(result, tm, sizeof(struct tm)); + return 0; +} + +#define tzset() _tzset() +#define putenv(c) _putenv(c) +#define _EMULATE_TIMEGM + +#endif /* _WIN32 */ + +#if defined(sun) || defined(__sun) || defined(__solaris__) +#define _EMULATE_TIMEGM +#endif + +/* + * Where to look for offset from GMT, Phase I. + * Several platforms are known. + */ +#if defined(__FreeBSD__) || defined(__OpenBSD__) \ + || (defined(__GNUC__) && defined(__APPLE_CC__)) \ + || (defined __GLIBC__ && __GLIBC__ >= 2) +#undef HAVE_TM_GMTOFF +#define HAVE_TM_GMTOFF +#endif /* BSDs and newer glibc */ + +/* + * Where to look for offset from GMT, Phase II. + */ +#ifdef HAVE_TM_GMTOFF +#define GMTOFF(tm) ((tm).tm_gmtoff) +#else /* HAVE_TM_GMTOFF */ +#define GMTOFF(tm) (-timezone) +#endif /* HAVE_TM_GMTOFF */ + +#if defined(_WIN32) +#pragma message( "PLEASE STOP AND READ!") +#pragma message( " timegm() is implemented via getenv(\"TZ\")/setenv(\"TZ\"), which may be not thread-safe.") +#pragma message( " ") +#pragma message( " You must fix the code by inserting appropriate locking") +#pragma message( " if you want to use asn_GT2time() or asn_UT2time().") +#pragma message( "PLEASE STOP AND READ!") +#else +#if (defined(_EMULATE_TIMEGM) || !defined(HAVE_TM_GMTOFF)) +#warning "PLEASE STOP AND READ!" +#warning " timegm() is implemented via getenv(\"TZ\")/setenv(\"TZ\"), which may be not thread-safe." +#warning " " +#warning " You must fix the code by inserting appropriate locking" +#warning " if you want to use asn_GT2time() or asn_UT2time()." +#warning "PLEASE STOP AND READ!" +#endif /* _EMULATE_TIMEGM */ +#endif + +/* + * Override our GMTOFF decision for other known platforms. + */ +#ifdef __CYGWIN__ +#undef GMTOFF +static long GMTOFF(struct tm a){ + struct tm *lt; + time_t local_time, gmt_time; + long zone; + + tzset(); + gmt_time = time (NULL); + + lt = gmtime(&gmt_time); + + local_time = mktime(lt); + return (gmt_time - local_time); +} +#define _EMULATE_TIMEGM + +#endif /* __CYGWIN__ */ + +#define ATZVARS do { \ + char tzoldbuf[64]; \ + char *tzold +#define ATZSAVETZ do { \ + tzold = getenv("TZ"); \ + if(tzold) { \ + size_t tzlen = strlen(tzold); \ + if(tzlen < sizeof(tzoldbuf)) { \ + tzold = memcpy(tzoldbuf, tzold, tzlen + 1); \ + } else { \ + char *dupptr = tzold; \ + tzold = MALLOC(tzlen + 1); \ + if(tzold) memcpy(tzold, dupptr, tzlen + 1); \ + } \ + setenv("TZ", "UTC", 1); \ + } \ + tzset(); \ +} while(0) +#define ATZOLDTZ do { \ + if (tzold) { \ + setenv("TZ", tzold, 1); \ + *tzoldbuf = 0; \ + if(tzold != tzoldbuf) \ + FREEMEM(tzold); \ + } else { \ + unsetenv("TZ"); \ + } \ + tzset(); \ +} while(0); } while(0); + +#ifndef HAVE_TIMEGM +#ifdef _EMULATE_TIMEGM +#include +static time_t timegm(struct tm *tm) { + time_t tloc; + ATZVARS; + ATZSAVETZ; + tloc = mktime(tm); + ATZOLDTZ; + return tloc; +} +#endif /* _EMULATE_TIMEGM */ +#endif + + +#ifndef ASN___INTERNAL_TEST_MODE + +/* + * GeneralizedTime basic type description. + */ +static const ber_tlv_tag_t asn_DEF_GeneralizedTime_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (24 << 2)), /* [UNIVERSAL 24] IMPLICIT ...*/ + (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), /* [UNIVERSAL 26] IMPLICIT ...*/ + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ +}; +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_DEF_GeneralizedTime_per_constraints = { + { APC_CONSTRAINED, 7, 7, 0x20, 0x7e }, /* Value */ + { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */ + 0, 0 +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_operation_t asn_OP_GeneralizedTime = { + OCTET_STRING_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + GeneralizedTime_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + GeneralizedTime_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ + GeneralizedTime_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + OCTET_STRING_decode_xer_utf8, + GeneralizedTime_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + GeneralizedTime_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + OCTET_STRING_decode_oer, + OCTET_STRING_encode_oer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + OCTET_STRING_decode_uper, + OCTET_STRING_encode_uper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + OCTET_STRING_decode_aper, + OCTET_STRING_encode_aper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + GeneralizedTime_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_GeneralizedTime = { + "GeneralizedTime", + "GeneralizedTime", + &asn_OP_GeneralizedTime, + asn_DEF_GeneralizedTime_tags, + sizeof(asn_DEF_GeneralizedTime_tags) + / sizeof(asn_DEF_GeneralizedTime_tags[0]) - 2, + asn_DEF_GeneralizedTime_tags, + sizeof(asn_DEF_GeneralizedTime_tags) + / sizeof(asn_DEF_GeneralizedTime_tags[0]), + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_DEF_GeneralizedTime_per_constraints, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + GeneralizedTime_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +#endif /* ASN___INTERNAL_TEST_MODE */ + +/* + * Check that the time looks like the time. + */ +int +GeneralizedTime_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, + void *app_key) { + const GeneralizedTime_t *st = (const GeneralizedTime_t *)sptr; + time_t tloc; + + errno = EPERM; /* Just an unlikely error code */ + tloc = asn_GT2time(st, 0, 0); + if(tloc == -1 && errno != EPERM) { + ASN__CTFAIL(app_key, td, sptr, + "%s: Invalid time format: %s (%s:%d)", + td->name, strerror(errno), __FILE__, __LINE__); + return -1; + } + + return 0; +} + +time_t +asn_GT2time(const GeneralizedTime_t *st, struct tm *ret_tm, int as_gmt) { + return asn_GT2time_frac(st, 0, 0, ret_tm, as_gmt); +} + +time_t +asn_GT2time_prec(const GeneralizedTime_t *st, int *frac_value, int frac_digits, struct tm *ret_tm, int as_gmt) { + time_t tloc; + int fv, fd = 0; + + if(frac_value) + tloc = asn_GT2time_frac(st, &fv, &fd, ret_tm, as_gmt); + else + return asn_GT2time_frac(st, 0, 0, ret_tm, as_gmt); + if(fd == 0 || frac_digits <= 0) { + *frac_value = 0; + } else { + while(fd > frac_digits) + fv /= 10, fd--; + while(fd < frac_digits) { + if(fv < INT_MAX / 10) { + fv *= 10; + fd++; + } else { + /* Too long precision request */ + fv = 0; + break; + } + } + + *frac_value = fv; + } + + return tloc; +} + +time_t +asn_GT2time_frac(const GeneralizedTime_t *st, int *frac_value, int *frac_digits, struct tm *ret_tm, int as_gmt) { + struct tm tm_s; + uint8_t *buf; + uint8_t *end; + int gmtoff_h = 0; + int gmtoff_m = 0; + int gmtoff = 0; /* h + m */ + int offset_specified = 0; + int fvalue = 0; + int fdigits = 0; + time_t tloc; + + if(!st || !st->buf) { + errno = EINVAL; + return -1; + } else { + buf = st->buf; + end = buf + st->size; + } + + if(st->size < 10) { + errno = EINVAL; + return -1; + } + + /* + * Decode first 10 bytes: "AAAAMMJJhh" + */ + memset(&tm_s, 0, sizeof(tm_s)); +#undef B2F +#undef B2T +#define B2F(var) do { \ + unsigned ch = *buf; \ + if(ch < 0x30 || ch > 0x39) { \ + errno = EINVAL; \ + return -1; \ + } else { \ + var = var * 10 + (ch - 0x30); \ + buf++; \ + } \ + } while(0) +#define B2T(var) B2F(tm_s.var) + + B2T(tm_year); /* 1: A */ + B2T(tm_year); /* 2: A */ + B2T(tm_year); /* 3: A */ + B2T(tm_year); /* 4: A */ + B2T(tm_mon); /* 5: M */ + B2T(tm_mon); /* 6: M */ + B2T(tm_mday); /* 7: J */ + B2T(tm_mday); /* 8: J */ + B2T(tm_hour); /* 9: h */ + B2T(tm_hour); /* 0: h */ + + if(buf == end) goto local_finish; + + /* + * Parse [mm[ss[(.|,)ffff]]] + * ^^ + */ + switch(*buf) { + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: + case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: + tm_s.tm_min = (*buf++) - 0x30; + if(buf == end) { errno = EINVAL; return -1; } + B2T(tm_min); + break; + case 0x2B: case 0x2D: /* +, - */ + goto offset; + case 0x5A: /* Z */ + goto utc_finish; + default: + errno = EINVAL; + return -1; + } + + if(buf == end) goto local_finish; + + /* + * Parse [mm[ss[(.|,)ffff]]] + * ^^ + */ + switch(*buf) { + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: + case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: + tm_s.tm_sec = (*buf++) - 0x30; + if(buf == end) { errno = EINVAL; return -1; } + B2T(tm_sec); + break; + case 0x2B: case 0x2D: /* +, - */ + goto offset; + case 0x5A: /* Z */ + goto utc_finish; + default: + errno = EINVAL; + return -1; + } + + if(buf == end) goto local_finish; + + /* + * Parse [mm[ss[(.|,)ffff]]] + * ^ ^ + */ + switch(*buf) { + case 0x2C: case 0x2E: /* (.|,) */ + /* + * Process fractions of seconds. + */ + for(buf++; buf < end; buf++) { + int v = *buf; + /* GCC 4.x is being too smart without volatile */ + switch(v) { + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: + case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: + if(fvalue < INT_MAX/10) { + fvalue = fvalue * 10 + (v - 0x30); + fdigits++; + } else { + /* Not enough precision, ignore */ + } + continue; + default: + break; + } + break; + } + } + + if(buf == end) goto local_finish; + + switch(*buf) { + case 0x2B: case 0x2D: /* +, - */ + goto offset; + case 0x5A: /* Z */ + goto utc_finish; + default: + errno = EINVAL; + return -1; + } + + +offset: + + if(end - buf < 3) { + errno = EINVAL; + return -1; + } + buf++; + B2F(gmtoff_h); + B2F(gmtoff_h); + if(buf[-3] == 0x2D) /* Negative */ + gmtoff = -1; + else + gmtoff = 1; + + if((end - buf) == 2) { + B2F(gmtoff_m); + B2F(gmtoff_m); + } else if(end != buf) { + errno = EINVAL; + return -1; + } + + gmtoff = gmtoff * (3600 * gmtoff_h + 60 * gmtoff_m); + + /* Fall through */ +utc_finish: + + offset_specified = 1; + + /* Fall through */ +local_finish: + + /* + * Validation. + */ + if((tm_s.tm_mon > 12 || tm_s.tm_mon < 1) + || (tm_s.tm_mday > 31 || tm_s.tm_mday < 1) + || (tm_s.tm_hour > 23) + || (tm_s.tm_sec > 60) + ) { + errno = EINVAL; + return -1; + } + + /* Canonicalize */ + tm_s.tm_mon -= 1; /* 0 - 11 */ + tm_s.tm_year -= 1900; + tm_s.tm_isdst = -1; + + tm_s.tm_sec -= gmtoff; + + /*** AT THIS POINT tm_s is either GMT or local (unknown) ****/ + + if(offset_specified) { + tloc = timegm(&tm_s); + } else { + /* + * Without an offset (or "Z"), + * we can only guess that it is a local zone. + * Interpret it in this fashion. + */ + tloc = mktime(&tm_s); + } + if(tloc == -1) { + errno = EINVAL; + return -1; + } + + if(ret_tm) { + if(as_gmt) { + if(offset_specified) { + *ret_tm = tm_s; + } else { + if(gmtime_r(&tloc, ret_tm) == 0) { + errno = EINVAL; + return -1; + } + } + } else { + if(localtime_r(&tloc, ret_tm) == 0) { + errno = EINVAL; + return -1; + } + } + } + + /* Fractions of seconds */ + if(frac_value) *frac_value = fvalue; + if(frac_digits) *frac_digits = fdigits; + + return tloc; +} + +GeneralizedTime_t * +asn_time2GT(GeneralizedTime_t *opt_gt, const struct tm *tm, int force_gmt) { + return asn_time2GT_frac(opt_gt, tm, 0, 0, force_gmt); +} + +GeneralizedTime_t * +asn_time2GT_frac(GeneralizedTime_t *opt_gt, const struct tm *tm, int frac_value, int frac_digits, int force_gmt) { + struct tm tm_s; + long gmtoff = 0; + const unsigned int buf_size = + 4 + 2 + 2 /* yyyymmdd */ + + 2 + 2 + 2 /* hhmmss */ + + 1 + 9 /* .fffffffff */ + + 1 + 4 /* +hhmm */ + + 1 /* '\0' */ + ; + char *buf = NULL; + char *p = NULL; + int size = 0; + + /* Check arguments */ + if(!tm) { + errno = EINVAL; + return 0; + } + + /* Pre-allocate a buffer of sufficient yet small length */ + buf = (char *)MALLOC(buf_size); + if(!buf) return 0; + + gmtoff = GMTOFF(*tm); + + if(force_gmt && gmtoff) { + tm_s = *tm; + tm_s.tm_sec -= gmtoff; + timegm(&tm_s); /* Fix the time */ + tm = &tm_s; +#ifdef HAVE_TM_GMTOFF + assert(!GMTOFF(tm_s)); /* Will fix itself */ +#else /* !HAVE_TM_GMTOFF */ + gmtoff = 0; +#endif + } + + size = snprintf(buf, buf_size, "%04d%02d%02d%02d%02d%02d", + tm->tm_year + 1900, + tm->tm_mon + 1, + tm->tm_mday, + tm->tm_hour, + tm->tm_min, + tm->tm_sec + ); + if(size != 14) { + /* Could be assert(size == 14); */ + FREEMEM(buf); + errno = EINVAL; + return 0; + } + + p = buf + size; + + /* + * Deal with fractions. + */ + if(frac_value > 0 && frac_digits > 0) { + char *end = p + 1 + 9; /* '.' + maximum 9 digits */ + char *z = p; + long fbase; + *z++ = '.'; + + /* Place bounds on precision */ + while(frac_digits-- > 9) + frac_value /= 10; + + /* emulate fbase = pow(10, frac_digits) */ + for(fbase = 1; frac_digits--;) + fbase *= 10; + + do { + int digit = frac_value / fbase; + if(digit > 9) { z = 0; break; } + *z++ = digit + 0x30; + frac_value %= fbase; + fbase /= 10; + } while(fbase > 0 && frac_value > 0 && z < end); + if(z) { + for(--z; *z == 0x30; --z); /* Strip zeroes */ + p = z + (*z != '.'); + size = p - buf; + } + } + + if(force_gmt) { + *p++ = 0x5a; /* "Z" */ + *p++ = 0; + size++; + } else { + int ret; + gmtoff %= 86400; + ret = snprintf(p, buf_size - size, "%+03ld%02ld", + gmtoff / 3600, labs(gmtoff % 3600) / 60); + if(ret != 5) { + FREEMEM(buf); + errno = EINVAL; + return 0; + } + size += ret; + } + + if(opt_gt) { + if(opt_gt->buf) + FREEMEM(opt_gt->buf); + } else { + opt_gt = (GeneralizedTime_t *)CALLOC(1, sizeof *opt_gt); + if(!opt_gt) { FREEMEM(buf); return 0; } + } + + opt_gt->buf = (unsigned char *)buf; + opt_gt->size = size; + + return opt_gt; +} + +int +GeneralizedTime_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + const GeneralizedTime_t *a = aptr; + const GeneralizedTime_t *b = bptr; + + (void)td; + + if(a && b) { + int afrac_value, afrac_digits; + int bfrac_value, bfrac_digits; + int aerr, berr; + time_t at, bt; + + errno = EPERM; + at = asn_GT2time_frac(a, &afrac_value, &afrac_digits, 0, 0); + aerr = errno; + errno = EPERM; + bt = asn_GT2time_frac(b, &bfrac_value, &bfrac_digits, 0, 0); + berr = errno; + + if(at == -1 && aerr != EPERM) { + if(bt == -1 && berr != EPERM) { + return OCTET_STRING_compare(td, aptr, bptr); + } else { + return -1; + } + } else if(bt == -1 && berr != EPERM) { + return 1; + } else { + /* Both values are valid. */ + } + + if(at < bt) { + return -1; + } else if(at > bt) { + return 1; + } else if(afrac_digits == bfrac_digits) { + if(afrac_value == bfrac_value) { + return 0; + } + if(afrac_value < bfrac_value) { + return -1; + } else { + return 1; + } + } else if(afrac_digits == 0) { + return -1; + } else if(bfrac_digits == 0) { + return 1; + } else { + double afrac = (double)afrac_value / afrac_digits; + double bfrac = (double)bfrac_value / bfrac_digits; + if(afrac < bfrac) { + return -1; + } else if(afrac > bfrac) { + return 1; + } else { + return 0; + } + } + } else if(!a && !b) { + return 0; + } else if(!a) { + return -1; + } else { + return 1; + } + +} diff --git a/src/tmx/Asn_J2735/src/r2024/GeneralizedTime.h b/src/tmx/Asn_J2735/src/r2024/GeneralizedTime.h deleted file mode 100644 index 2a86f7a06..000000000 --- a/src/tmx/Asn_J2735/src/r2024/GeneralizedTime.h +++ /dev/null @@ -1,102 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _GeneralizedTime_H_ -#define _GeneralizedTime_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t GeneralizedTime_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_GeneralizedTime; -extern asn_TYPE_operation_t asn_OP_GeneralizedTime; - -#define GeneralizedTime_free OCTET_STRING_free - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -asn_struct_print_f GeneralizedTime_print; -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -asn_struct_compare_f GeneralizedTime_compare; - -asn_constr_check_f GeneralizedTime_constraint; - -#if !defined(ASN_DISABLE_BER_SUPPORT) -#define GeneralizedTime_decode_ber OCTET_STRING_decode_ber -der_type_encoder_f GeneralizedTime_encode_der; -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -#define GeneralizedTime_decode_xer OCTET_STRING_decode_xer_utf8 -xer_type_encoder_f GeneralizedTime_encode_xer; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f GeneralizedTime_encode_jer; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -#define GeneralizedTime_decode_uper OCTET_STRING_decode_uper -#define GeneralizedTime_encode_uper OCTET_STRING_encode_uper -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -#define GeneralizedTime_decode_aper OCTET_STRING_decode_aper -#define GeneralizedTime_encode_aper OCTET_STRING_encode_aper -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -asn_random_fill_f GeneralizedTime_random_fill; -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -/*********************** - * Some handy helpers. * - ***********************/ - -struct tm; /* */ - -/* - * Convert a GeneralizedTime structure into time_t - * and optionally into struct tm. - * If as_gmt is given, the resulting _optional_tm4fill will have a GMT zone, - * instead of default local one. - * On error returns -1 and errno set to EINVAL - */ -time_t asn_GT2time(const GeneralizedTime_t *, struct tm *_optional_tm4fill, - int as_gmt); - -/* A version of the above function also returning the fractions of seconds */ -time_t asn_GT2time_frac(const GeneralizedTime_t *, - int *frac_value, int *frac_digits, /* (value / (10 ^ digits)) */ - struct tm *_optional_tm4fill, int as_gmt); - -/* - * Another version returning fractions with defined precision - * For example, parsing of the time ending with ".1" seconds - * with frac_digits=3 (msec) would yield frac_value = 100. - */ -time_t asn_GT2time_prec(const GeneralizedTime_t *, - int *frac_value, int frac_digits, - struct tm *_optional_tm4fill, int as_gmt); - -/* - * Convert a struct tm into GeneralizedTime. - * If _optional_gt is not given, this function will try to allocate one. - * If force_gmt is given, the resulting GeneralizedTime will be forced - * into a GMT time zone (encoding ends with a "Z"). - * On error, this function returns 0 and sets errno. - */ -GeneralizedTime_t *asn_time2GT(GeneralizedTime_t *_optional_gt, - const struct tm *, int force_gmt); -GeneralizedTime_t *asn_time2GT_frac(GeneralizedTime_t *_optional_gt, - const struct tm *, int frac_value, int frac_digits, int force_gmt); - -#ifdef __cplusplus -} -#endif - -#endif /* _GeneralizedTime_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/GeneralizedTime_ber.c b/src/tmx/Asn_J2735/src/r2024/GeneralizedTime_ber.c new file mode 100644 index 000000000..e093cb94a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GeneralizedTime_ber.c @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +#ifdef __CYGWIN__ +#include "/usr/include/time.h" +#else +#include +#endif /* __CYGWIN__ */ + +asn_enc_rval_t +GeneralizedTime_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + GeneralizedTime_t *st; + asn_enc_rval_t erval = {0,0,0}; + int fv, fd; /* seconds fraction value and number of digits */ + struct tm tm; + time_t tloc; + + /* + * Encode as a canonical DER. + */ + errno = EPERM; + tloc = asn_GT2time_frac((const GeneralizedTime_t *)sptr, &fv, &fd, &tm, + 1); /* Recognize time */ + if(tloc == -1 && errno != EPERM) { + /* Failed to recognize time. Fail completely. */ + ASN__ENCODE_FAILED; + } + + st = asn_time2GT_frac(0, &tm, fv, fd, 1); /* Save time canonically */ + if(!st) ASN__ENCODE_FAILED; /* Memory allocation failure. */ + + erval = OCTET_STRING_encode_der(td, st, tag_mode, tag, cb, app_key); + + ASN_STRUCT_FREE(*td, st); + + return erval; +} diff --git a/src/tmx/Asn_J2735/src/r2024/GeneralizedTime_print.c b/src/tmx/Asn_J2735/src/r2024/GeneralizedTime_print.c new file mode 100644 index 000000000..fa9dff8f7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GeneralizedTime_print.c @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +#ifdef __CYGWIN__ +#include "/usr/include/time.h" +#else +#include +#endif /* __CYGWIN__ */ + +int +GeneralizedTime_print(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + const GeneralizedTime_t *st = (const GeneralizedTime_t *)sptr; + + (void)td; /* Unused argument */ + (void)ilevel; /* Unused argument */ + + if(st && st->buf) { + char buf[32]; + struct tm tm; + int ret; + + errno = EPERM; + if(asn_GT2time(st, &tm, 1) == -1 && errno != EPERM) + return (cb("", 11, app_key) < 0) ? -1 : 0; + + ret = snprintf(buf, sizeof(buf), + "%04d-%02d-%02d %02d:%02d:%02d (GMT)", + tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, + tm.tm_hour, tm.tm_min, tm.tm_sec); + assert(ret > 0 && ret < (int)sizeof(buf)); + return (cb(buf, ret, app_key) < 0) ? -1 : 0; + } else { + return (cb("", 8, app_key) < 0) ? -1 : 0; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/GeneralizedTime_rfill.c b/src/tmx/Asn_J2735/src/r2024/GeneralizedTime_rfill.c new file mode 100644 index 000000000..51b6bcd9c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GeneralizedTime_rfill.c @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_random_fill_result_t +GeneralizedTime_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + static const char *values[] = { + "19700101000000", "19700101000000-0000", "19700101000000+0000", + "19700101000000Z", "19700101000000.3Z", "19821106210623.3", + "19821106210629.3Z", "19691106210827.3-0500", "19821106210629.456", + }; + size_t rnd = asn_random_between(0, sizeof(values)/sizeof(values[0])-1); + + (void)constraints; + + if(max_length < sizeof("yyyymmddhhmmss") && !*sptr) { + return result_skipped; + } + + if(*sptr) { + if(OCTET_STRING_fromBuf(*sptr, values[rnd], -1) != 0) { + if(!sptr) return result_failed; + } + } else { + *sptr = OCTET_STRING_new_fromBuf(td, values[rnd], -1); + if(!sptr) return result_failed; + } + + return result_ok; +} diff --git a/src/tmx/Asn_J2735/src/r2024/GeneralizedTime_xer.c b/src/tmx/Asn_J2735/src/r2024/GeneralizedTime_xer.c new file mode 100644 index 000000000..99dc3abcf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GeneralizedTime_xer.c @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +#ifdef __CYGWIN__ +#include "/usr/include/time.h" +#else +#include +#endif /* __CYGWIN__ */ + +#include + +#if !defined(ASN___INTERNAL_TEST_MODE) +asn_enc_rval_t +GeneralizedTime_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + if(flags & XER_F_CANONICAL) { + GeneralizedTime_t *gt; + asn_enc_rval_t rv; + int fv, fd; /* fractional parts */ + struct tm tm; + + errno = EPERM; + if(asn_GT2time_frac((const GeneralizedTime_t *)sptr, + &fv, &fd, &tm, 1) == -1 + && errno != EPERM) + ASN__ENCODE_FAILED; + + gt = asn_time2GT_frac(0, &tm, fv, fd, 1); + if(!gt) ASN__ENCODE_FAILED; + + rv = OCTET_STRING_encode_xer_utf8(td, sptr, ilevel, flags, + cb, app_key); + ASN_STRUCT_FREE(asn_DEF_GeneralizedTime, gt); + return rv; + } else { + return OCTET_STRING_encode_xer_utf8(td, sptr, ilevel, flags, + cb, app_key); + } +} +#endif /* !defined(ASN___INTERNAL_TEST_MODE) */ diff --git a/src/tmx/Asn_J2735/src/r2024/GenericLane.c b/src/tmx/Asn_J2735/src/r2024/GenericLane.c new file mode 100644 index 000000000..441cf7080 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GenericLane.c @@ -0,0 +1,333 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "GenericLane.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_11 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_11 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_11 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_11 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_11[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_GenericLane, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_11[] = { + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_11 = { + sizeof(struct GenericLane__regional), + offsetof(struct GenericLane__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_11 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_11, + sizeof(asn_DEF_regional_tags_11) + /sizeof(asn_DEF_regional_tags_11[0]) - 1, /* 1 */ + asn_DEF_regional_tags_11, /* Same as above */ + sizeof(asn_DEF_regional_tags_11) + /sizeof(asn_DEF_regional_tags_11[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_11, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_11, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_11, + 1, /* Single element */ + &asn_SPC_regional_specs_11 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_GenericLane_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct GenericLane, laneID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneID" + }, + { ATF_POINTER, 3, offsetof(struct GenericLane, name), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveName, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "name" + }, + { ATF_POINTER, 2, offsetof(struct GenericLane, ingressApproach), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ApproachID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ingressApproach" + }, + { ATF_POINTER, 1, offsetof(struct GenericLane, egressApproach), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ApproachID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "egressApproach" + }, + { ATF_NOFLAGS, 0, offsetof(struct GenericLane, laneAttributes), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneAttributes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneAttributes" + }, + { ATF_POINTER, 1, offsetof(struct GenericLane, maneuvers), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AllowedManeuvers, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maneuvers" + }, + { ATF_NOFLAGS, 0, offsetof(struct GenericLane, nodeList), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_NodeListXY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "nodeList" + }, + { ATF_POINTER, 3, offsetof(struct GenericLane, connectsTo), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ConnectsToList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "connectsTo" + }, + { ATF_POINTER, 2, offsetof(struct GenericLane, overlays), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OverlayLaneList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "overlays" + }, + { ATF_POINTER, 1, offsetof(struct GenericLane, regional), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + 0, + &asn_DEF_regional_11, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_11, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_11, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_GenericLane_oms_1[] = { 1, 2, 3, 5, 7, 8, 9 }; +static const ber_tlv_tag_t asn_DEF_GenericLane_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GenericLane_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* laneID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* name */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ingressApproach */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* egressApproach */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* laneAttributes */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* maneuvers */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* nodeList */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* connectsTo */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* overlays */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_GenericLane_specs_1 = { + sizeof(struct GenericLane), + offsetof(struct GenericLane, _asn_ctx), + asn_MAP_GenericLane_tag2el_1, + 10, /* Count of tags in the map */ + asn_MAP_GenericLane_oms_1, /* Optional members */ + 7, 0, /* Root/Additions */ + 10, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_GenericLane = { + "GenericLane", + "GenericLane", + &asn_OP_SEQUENCE, + asn_DEF_GenericLane_tags_1, + sizeof(asn_DEF_GenericLane_tags_1) + /sizeof(asn_DEF_GenericLane_tags_1[0]), /* 1 */ + asn_DEF_GenericLane_tags_1, /* Same as above */ + sizeof(asn_DEF_GenericLane_tags_1) + /sizeof(asn_DEF_GenericLane_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_GenericLane_1, + 10, /* Elements count */ + &asn_SPC_GenericLane_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/GenericLane.h b/src/tmx/Asn_J2735/src/r2024/GenericLane.h deleted file mode 100644 index d921c744e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/GenericLane.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _GenericLane_H_ -#define _GenericLane_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LaneID.h" -#include "DescriptiveName.h" -#include "ApproachID.h" -#include "LaneAttributes.h" -#include "AllowedManeuvers.h" -#include "NodeListXY.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct ConnectsToList; -struct OverlayLaneList; -struct Reg_GenericLane; - -/* GenericLane */ -typedef struct GenericLane { - LaneID_t laneID; - DescriptiveName_t *name; /* OPTIONAL */ - ApproachID_t *ingressApproach; /* OPTIONAL */ - ApproachID_t *egressApproach; /* OPTIONAL */ - LaneAttributes_t laneAttributes; - AllowedManeuvers_t *maneuvers; /* OPTIONAL */ - NodeListXY_t nodeList; - struct ConnectsToList *connectsTo; /* OPTIONAL */ - struct OverlayLaneList *overlays; /* OPTIONAL */ - struct GenericLane__regional { - A_SEQUENCE_OF(struct Reg_GenericLane) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} GenericLane_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_GenericLane; -extern asn_SEQUENCE_specifics_t asn_SPC_GenericLane_specs_1; -extern asn_TYPE_member_t asn_MBR_GenericLane_1[10]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "ConnectsToList.h" -#include "OverlayLaneList.h" -#include "RegionalExtension.h" - -#endif /* _GenericLane_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/GenericSignage.c b/src/tmx/Asn_J2735/src/r2024/GenericSignage.c new file mode 100644 index 000000000..b7445b183 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GenericSignage.c @@ -0,0 +1,215 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "GenericSignage.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_item_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_item_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_GenericSignage_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_GenericSignage_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_item_3[] = { + { ATF_NOFLAGS, 0, offsetof(struct GenericSignage__Member__item, choice.itis), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ITIScodes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "itis" + }, + { ATF_NOFLAGS, 0, offsetof(struct GenericSignage__Member__item, choice.text), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIStextPhrase, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "text" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_item_tag2el_3[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* itis */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* text */ +}; +static asn_CHOICE_specifics_t asn_SPC_item_specs_3 = { + sizeof(struct GenericSignage__Member__item), + offsetof(struct GenericSignage__Member__item, _asn_ctx), + offsetof(struct GenericSignage__Member__item, present), + sizeof(((struct GenericSignage__Member__item *)0)->present), + asn_MAP_item_tag2el_3, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_item_3 = { + "item", + "item", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_item_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_item_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_item_3, + 2, /* Elements count */ + &asn_SPC_item_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct GenericSignage__Member, item), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_item_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "item" + }, +}; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* item */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct GenericSignage__Member), + offsetof(struct GenericSignage__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Member_2, + 1, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_GenericSignage_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_GenericSignage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_GenericSignage_specs_1 = { + sizeof(struct GenericSignage), + offsetof(struct GenericSignage, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_GenericSignage = { + "GenericSignage", + "GenericSignage", + &asn_OP_SEQUENCE_OF, + asn_DEF_GenericSignage_tags_1, + sizeof(asn_DEF_GenericSignage_tags_1) + /sizeof(asn_DEF_GenericSignage_tags_1[0]), /* 1 */ + asn_DEF_GenericSignage_tags_1, /* Same as above */ + sizeof(asn_DEF_GenericSignage_tags_1) + /sizeof(asn_DEF_GenericSignage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_GenericSignage_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_GenericSignage_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_GenericSignage_1, + 1, /* Single element */ + &asn_SPC_GenericSignage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/GenericSignage.h b/src/tmx/Asn_J2735/src/r2024/GenericSignage.h deleted file mode 100644 index d6b8d9285..000000000 --- a/src/tmx/Asn_J2735/src/r2024/GenericSignage.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _GenericSignage_H_ -#define _GenericSignage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "ITIS_ITIScodes.h" -#include "ITIStextPhrase.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum GenericSignage__Member__item_PR { - GenericSignage__Member__item_PR_NOTHING, /* No components present */ - GenericSignage__Member__item_PR_itis, - GenericSignage__Member__item_PR_text -} GenericSignage__Member__item_PR; - -/* Forward definitions */ -typedef struct GenericSignage__Member { - struct GenericSignage__Member__item { - GenericSignage__Member__item_PR present; - union GenericSignage__Member__item_u { - ITIS_ITIScodes_t itis; - ITIStextPhrase_t text; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } item; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} GenericSignage__Member; - -/* GenericSignage */ -typedef struct GenericSignage { - A_SEQUENCE_OF(GenericSignage__Member) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} GenericSignage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_GenericSignage; -extern asn_SET_OF_specifics_t asn_SPC_GenericSignage_specs_1; -extern asn_TYPE_member_t asn_MBR_GenericSignage_1[1]; -extern asn_per_constraints_t asn_PER_type_GenericSignage_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _GenericSignage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/GeographicalPath.c b/src/tmx/Asn_J2735/src/r2024/GeographicalPath.c new file mode 100644 index 000000000..f383c8044 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GeographicalPath.c @@ -0,0 +1,418 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "GeographicalPath.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_description_constr_9 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_description_constr_9 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_14 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_14 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_14 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_14 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_description_9[] = { + { ATF_NOFLAGS, 0, offsetof(struct GeographicalPath__description, choice.path), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetSystem, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "path" + }, + { ATF_NOFLAGS, 0, offsetof(struct GeographicalPath__description, choice.geometry), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GeometricProjection, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "geometry" + }, + { ATF_NOFLAGS, 0, offsetof(struct GeographicalPath__description, choice.oldRegion), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ValidRegion, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "oldRegion" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_description_tag2el_9[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* path */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* geometry */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* oldRegion */ +}; +static asn_CHOICE_specifics_t asn_SPC_description_specs_9 = { + sizeof(struct GeographicalPath__description), + offsetof(struct GeographicalPath__description, _asn_ctx), + offsetof(struct GeographicalPath__description, present), + sizeof(((struct GeographicalPath__description *)0)->present), + asn_MAP_description_tag2el_9, + 3, /* Count of tags in the map */ + 0, 0, + 3 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_description_9 = { + "description", + "description", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_description_constr_9, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_description_constr_9, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_description_9, + 3, /* Elements count */ + &asn_SPC_description_specs_9 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regional_14[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_GeographicalPath, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_14[] = { + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_14 = { + sizeof(struct GeographicalPath__regional), + offsetof(struct GeographicalPath__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_14 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_14, + sizeof(asn_DEF_regional_tags_14) + /sizeof(asn_DEF_regional_tags_14[0]) - 1, /* 1 */ + asn_DEF_regional_tags_14, /* Same as above */ + sizeof(asn_DEF_regional_tags_14) + /sizeof(asn_DEF_regional_tags_14[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_14, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_14, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_14, + 1, /* Single element */ + &asn_SPC_regional_specs_14 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_GeographicalPath_1[] = { + { ATF_POINTER, 9, offsetof(struct GeographicalPath, name), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveName, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "name" + }, + { ATF_POINTER, 8, offsetof(struct GeographicalPath, id), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadSegmentReferenceID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_POINTER, 7, offsetof(struct GeographicalPath, anchor), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "anchor" + }, + { ATF_POINTER, 6, offsetof(struct GeographicalPath, laneWidth), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneWidth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneWidth" + }, + { ATF_POINTER, 5, offsetof(struct GeographicalPath, directionality), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DirectionOfUse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "directionality" + }, + { ATF_POINTER, 4, offsetof(struct GeographicalPath, closedPath), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "closedPath" + }, + { ATF_POINTER, 3, offsetof(struct GeographicalPath, direction), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HeadingSlice, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "direction" + }, + { ATF_POINTER, 2, offsetof(struct GeographicalPath, description), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_description_9, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "description" + }, + { ATF_POINTER, 1, offsetof(struct GeographicalPath, regional), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + 0, + &asn_DEF_regional_14, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_14, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_14, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_GeographicalPath_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8 }; +static const ber_tlv_tag_t asn_DEF_GeographicalPath_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GeographicalPath_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* name */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* anchor */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* laneWidth */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* directionality */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* closedPath */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* direction */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* description */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_GeographicalPath_specs_1 = { + sizeof(struct GeographicalPath), + offsetof(struct GeographicalPath, _asn_ctx), + asn_MAP_GeographicalPath_tag2el_1, + 9, /* Count of tags in the map */ + asn_MAP_GeographicalPath_oms_1, /* Optional members */ + 9, 0, /* Root/Additions */ + 9, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_GeographicalPath = { + "GeographicalPath", + "GeographicalPath", + &asn_OP_SEQUENCE, + asn_DEF_GeographicalPath_tags_1, + sizeof(asn_DEF_GeographicalPath_tags_1) + /sizeof(asn_DEF_GeographicalPath_tags_1[0]), /* 1 */ + asn_DEF_GeographicalPath_tags_1, /* Same as above */ + sizeof(asn_DEF_GeographicalPath_tags_1) + /sizeof(asn_DEF_GeographicalPath_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_GeographicalPath_1, + 9, /* Elements count */ + &asn_SPC_GeographicalPath_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/GeographicalPath.h b/src/tmx/Asn_J2735/src/r2024/GeographicalPath.h deleted file mode 100644 index baa4eb957..000000000 --- a/src/tmx/Asn_J2735/src/r2024/GeographicalPath.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _GeographicalPath_H_ -#define _GeographicalPath_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DescriptiveName.h" -#include "LaneWidth.h" -#include "DirectionOfUse.h" -#include "BOOLEAN.h" -#include "HeadingSlice.h" -#include "OffsetSystem.h" -#include "GeometricProjection.h" -#include "ValidRegion.h" -#include "constr_CHOICE.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum GeographicalPath__description_PR { - GeographicalPath__description_PR_NOTHING, /* No components present */ - GeographicalPath__description_PR_path, - GeographicalPath__description_PR_geometry, - GeographicalPath__description_PR_oldRegion - /* Extensions may appear below */ - -} GeographicalPath__description_PR; - -/* Forward declarations */ -struct RoadSegmentReferenceID; -struct Position3D; -struct Reg_GeographicalPath; - -/* GeographicalPath */ -typedef struct GeographicalPath { - DescriptiveName_t *name; /* OPTIONAL */ - struct RoadSegmentReferenceID *id; /* OPTIONAL */ - struct Position3D *anchor; /* OPTIONAL */ - LaneWidth_t *laneWidth; /* OPTIONAL */ - DirectionOfUse_t *directionality; /* OPTIONAL */ - BOOLEAN_t *closedPath; /* OPTIONAL */ - HeadingSlice_t *direction; /* OPTIONAL */ - struct GeographicalPath__description { - GeographicalPath__description_PR present; - union GeographicalPath__description_u { - OffsetSystem_t path; - GeometricProjection_t geometry; - ValidRegion_t oldRegion; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *description; - struct GeographicalPath__regional { - A_SEQUENCE_OF(struct Reg_GeographicalPath) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} GeographicalPath_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_GeographicalPath; -extern asn_SEQUENCE_specifics_t asn_SPC_GeographicalPath_specs_1; -extern asn_TYPE_member_t asn_MBR_GeographicalPath_1[9]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RoadSegmentReferenceID.h" -#include "Position3D.h" -#include "RegionalExtension.h" - -#endif /* _GeographicalPath_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/GeometricProjection.c b/src/tmx/Asn_J2735/src/r2024/GeometricProjection.c new file mode 100644 index 000000000..76e5d79f8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GeometricProjection.c @@ -0,0 +1,243 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "GeometricProjection.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_6[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_GeometricProjection, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_6[] = { + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_6 = { + sizeof(struct GeometricProjection__regional), + offsetof(struct GeometricProjection__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_6 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_6, + sizeof(asn_DEF_regional_tags_6) + /sizeof(asn_DEF_regional_tags_6[0]) - 1, /* 1 */ + asn_DEF_regional_tags_6, /* Same as above */ + sizeof(asn_DEF_regional_tags_6) + /sizeof(asn_DEF_regional_tags_6[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_6, + 1, /* Single element */ + &asn_SPC_regional_specs_6 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_GeometricProjection_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct GeometricProjection, direction), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HeadingSlice, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "direction" + }, + { ATF_POINTER, 2, offsetof(struct GeometricProjection, extent), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Extent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "extent" + }, + { ATF_POINTER, 1, offsetof(struct GeometricProjection, laneWidth), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneWidth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneWidth" + }, + { ATF_NOFLAGS, 0, offsetof(struct GeometricProjection, circle), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Circle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "circle" + }, + { ATF_POINTER, 1, offsetof(struct GeometricProjection, regional), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + 0, + &asn_DEF_regional_6, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_GeometricProjection_oms_1[] = { 1, 2, 4 }; +static const ber_tlv_tag_t asn_DEF_GeometricProjection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_GeometricProjection_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* direction */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* extent */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* laneWidth */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* circle */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_GeometricProjection_specs_1 = { + sizeof(struct GeometricProjection), + offsetof(struct GeometricProjection, _asn_ctx), + asn_MAP_GeometricProjection_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_GeometricProjection_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_GeometricProjection = { + "GeometricProjection", + "GeometricProjection", + &asn_OP_SEQUENCE, + asn_DEF_GeometricProjection_tags_1, + sizeof(asn_DEF_GeometricProjection_tags_1) + /sizeof(asn_DEF_GeometricProjection_tags_1[0]), /* 1 */ + asn_DEF_GeometricProjection_tags_1, /* Same as above */ + sizeof(asn_DEF_GeometricProjection_tags_1) + /sizeof(asn_DEF_GeometricProjection_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_GeometricProjection_1, + 5, /* Elements count */ + &asn_SPC_GeometricProjection_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/GeometricProjection.h b/src/tmx/Asn_J2735/src/r2024/GeometricProjection.h deleted file mode 100644 index 63b6435b3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/GeometricProjection.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _GeometricProjection_H_ -#define _GeometricProjection_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "HeadingSlice.h" -#include "Extent.h" -#include "LaneWidth.h" -#include "Circle.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_GeometricProjection; - -/* GeometricProjection */ -typedef struct GeometricProjection { - HeadingSlice_t direction; - Extent_t *extent; /* OPTIONAL */ - LaneWidth_t *laneWidth; /* OPTIONAL */ - Circle_t circle; - struct GeometricProjection__regional { - A_SEQUENCE_OF(struct Reg_GeometricProjection) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} GeometricProjection_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_GeometricProjection; -extern asn_SEQUENCE_specifics_t asn_SPC_GeometricProjection_specs_1; -extern asn_TYPE_member_t asn_MBR_GeometricProjection_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _GeometricProjection_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/GraphicString.c b/src/tmx/Asn_J2735/src/r2024/GraphicString.c new file mode 100644 index 000000000..b76118710 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GraphicString.c @@ -0,0 +1,91 @@ +/*- + * Copyright (c) 2003 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * GraphicString basic type description. + */ +static const ber_tlv_tag_t asn_DEF_GraphicString_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (25 << 2)), /* [UNIVERSAL 25] IMPLICIT ...*/ + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ +}; +asn_TYPE_operation_t asn_OP_GraphicString = { + OCTET_STRING_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + OCTET_STRING_print, /* non-ascii string */ +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + OCTET_STRING_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ + OCTET_STRING_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + OCTET_STRING_decode_xer_hex, + OCTET_STRING_encode_xer, /* Can't expect it to be ASCII/UTF8 */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + OCTET_STRING_encode_jer, /* Can't expect it to be ASCII/UTF8 */ +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + OCTET_STRING_decode_oer, + OCTET_STRING_encode_oer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + OCTET_STRING_decode_uper, /* Implemented in terms of OCTET STRING */ + OCTET_STRING_encode_uper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + OCTET_STRING_decode_aper, /* Implemented in terms of OCTET STRING */ + OCTET_STRING_encode_aper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + OCTET_STRING_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_GraphicString = { + "GraphicString", + "GraphicString", + &asn_OP_GraphicString, + asn_DEF_GraphicString_tags, + sizeof(asn_DEF_GraphicString_tags) + / sizeof(asn_DEF_GraphicString_tags[0]) - 1, + asn_DEF_GraphicString_tags, + sizeof(asn_DEF_GraphicString_tags) + / sizeof(asn_DEF_GraphicString_tags[0]), + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + asn_generic_unknown_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; diff --git a/src/tmx/Asn_J2735/src/r2024/GraphicString.h b/src/tmx/Asn_J2735/src/r2024/GraphicString.h deleted file mode 100644 index 807e9d6b0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/GraphicString.h +++ /dev/null @@ -1,56 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _GraphicString_H_ -#define _GraphicString_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t GraphicString_t; /* Implemented via OCTET STRING */ - -extern asn_TYPE_descriptor_t asn_DEF_GraphicString; -extern asn_TYPE_operation_t asn_OP_GraphicString; - -#define GraphicString_free OCTET_STRING_free - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -#define GraphicString_print OCTET_STRING_print -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -#define GraphicString_compare OCTET_STRING_compare - -#define GraphicString_constraint asn_generic_unknown_constraint - -#if !defined(ASN_DISABLE_BER_SUPPORT) -#define GraphicString_decode_ber OCTET_STRING_decode_ber -#define GraphicString_encode_der OCTET_STRING_encode_der -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -#define GraphicString_decode_xer OCTET_STRING_decode_xer_hex -#define GraphicString_encode_xer OCTET_STRING_encode_xer -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -#define GraphicString_encode_jer OCTET_STRING_encode_jer -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -#define GraphicString_decode_uper OCTET_STRING_decode_uper -#define GraphicString_encode_uper OCTET_STRING_encode_uper -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -#define GraphicString_decode_aper OCTET_STRING_decode_aper -#define GraphicString_encode_aper OCTET_STRING_encode_aper -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#ifdef __cplusplus -} -#endif - -#endif /* _GraphicString_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/Grass.c b/src/tmx/Asn_J2735/src/r2024/Grass.c new file mode 100644 index 000000000..1fd2c4ad0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Grass.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Grass.h" + +asn_TYPE_member_t asn_MBR_Grass_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Grass, type), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GrassType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "type" + }, +}; +static const ber_tlv_tag_t asn_DEF_Grass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Grass_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* type */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Grass_specs_1 = { + sizeof(struct Grass), + offsetof(struct Grass, _asn_ctx), + asn_MAP_Grass_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Grass = { + "Grass", + "Grass", + &asn_OP_SEQUENCE, + asn_DEF_Grass_tags_1, + sizeof(asn_DEF_Grass_tags_1) + /sizeof(asn_DEF_Grass_tags_1[0]), /* 1 */ + asn_DEF_Grass_tags_1, /* Same as above */ + sizeof(asn_DEF_Grass_tags_1) + /sizeof(asn_DEF_Grass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Grass_1, + 1, /* Elements count */ + &asn_SPC_Grass_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Grass.h b/src/tmx/Asn_J2735/src/r2024/Grass.h deleted file mode 100644 index 30d2f8230..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Grass.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Grass_H_ -#define _Grass_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "GrassType.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Grass */ -typedef struct Grass { - GrassType_t type; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Grass_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Grass; -extern asn_SEQUENCE_specifics_t asn_SPC_Grass_specs_1; -extern asn_TYPE_member_t asn_MBR_Grass_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Grass_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/GrassType.c b/src/tmx/Asn_J2735/src/r2024/GrassType.c new file mode 100644 index 000000000..0515335d2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GrassType.c @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "GrassType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_GrassType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_GrassType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_GrassType_value2enum_1[] = { + { 0, 13, "lessThan30Mph" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_GrassType_enum2value_1[] = { + 0 /* lessThan30Mph(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_GrassType_specs_1 = { + asn_MAP_GrassType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_GrassType_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_GrassType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_GrassType = { + "GrassType", + "GrassType", + &asn_OP_NativeEnumerated, + asn_DEF_GrassType_tags_1, + sizeof(asn_DEF_GrassType_tags_1) + /sizeof(asn_DEF_GrassType_tags_1[0]), /* 1 */ + asn_DEF_GrassType_tags_1, /* Same as above */ + sizeof(asn_DEF_GrassType_tags_1) + /sizeof(asn_DEF_GrassType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_GrassType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_GrassType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_GrassType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/GrassType.h b/src/tmx/Asn_J2735/src/r2024/GrassType.h deleted file mode 100644 index f24a66850..000000000 --- a/src/tmx/Asn_J2735/src/r2024/GrassType.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _GrassType_H_ -#define _GrassType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum GrassType { - GrassType_lessThan30Mph = 0 - /* - * Enumeration is extensible - */ -} e_GrassType; - -/* GrassType */ -typedef long GrassType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_GrassType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_GrassType; -extern const asn_INTEGER_specifics_t asn_SPC_GrassType_specs_1; -asn_struct_free_f GrassType_free; -asn_struct_print_f GrassType_print; -asn_constr_check_f GrassType_constraint; -ber_type_decoder_f GrassType_decode_ber; -der_type_encoder_f GrassType_encode_der; -xer_type_decoder_f GrassType_decode_xer; -xer_type_encoder_f GrassType_encode_xer; -oer_type_decoder_f GrassType_decode_oer; -oer_type_encoder_f GrassType_encode_oer; -per_type_decoder_f GrassType_decode_uper; -per_type_encoder_f GrassType_encode_uper; -per_type_decoder_f GrassType_decode_aper; -per_type_encoder_f GrassType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _GrassType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Gravel.c b/src/tmx/Asn_J2735/src/r2024/Gravel.c new file mode 100644 index 000000000..804f000f5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Gravel.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Gravel.h" + +asn_TYPE_member_t asn_MBR_Gravel_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Gravel, type), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GravelType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "type" + }, +}; +static const ber_tlv_tag_t asn_DEF_Gravel_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Gravel_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* type */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Gravel_specs_1 = { + sizeof(struct Gravel), + offsetof(struct Gravel, _asn_ctx), + asn_MAP_Gravel_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Gravel = { + "Gravel", + "Gravel", + &asn_OP_SEQUENCE, + asn_DEF_Gravel_tags_1, + sizeof(asn_DEF_Gravel_tags_1) + /sizeof(asn_DEF_Gravel_tags_1[0]), /* 1 */ + asn_DEF_Gravel_tags_1, /* Same as above */ + sizeof(asn_DEF_Gravel_tags_1) + /sizeof(asn_DEF_Gravel_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Gravel_1, + 1, /* Elements count */ + &asn_SPC_Gravel_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Gravel.h b/src/tmx/Asn_J2735/src/r2024/Gravel.h deleted file mode 100644 index 94688f57b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Gravel.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Gravel_H_ -#define _Gravel_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "GravelType.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Gravel */ -typedef struct Gravel { - GravelType_t type; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Gravel_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Gravel; -extern asn_SEQUENCE_specifics_t asn_SPC_Gravel_specs_1; -extern asn_TYPE_member_t asn_MBR_Gravel_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Gravel_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/GravelType.c b/src/tmx/Asn_J2735/src/r2024/GravelType.c new file mode 100644 index 000000000..f789abb20 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GravelType.c @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "GravelType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_GravelType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_GravelType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_GravelType_value2enum_1[] = { + { 0, 11, "packedOiled" }, + { 1, 5, "loose" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_GravelType_enum2value_1[] = { + 1, /* loose(1) */ + 0 /* packedOiled(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_GravelType_specs_1 = { + asn_MAP_GravelType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_GravelType_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_GravelType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_GravelType = { + "GravelType", + "GravelType", + &asn_OP_NativeEnumerated, + asn_DEF_GravelType_tags_1, + sizeof(asn_DEF_GravelType_tags_1) + /sizeof(asn_DEF_GravelType_tags_1[0]), /* 1 */ + asn_DEF_GravelType_tags_1, /* Same as above */ + sizeof(asn_DEF_GravelType_tags_1) + /sizeof(asn_DEF_GravelType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_GravelType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_GravelType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_GravelType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/GravelType.h b/src/tmx/Asn_J2735/src/r2024/GravelType.h deleted file mode 100644 index ec9d59b9b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/GravelType.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _GravelType_H_ -#define _GravelType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum GravelType { - GravelType_packedOiled = 0, - GravelType_loose = 1 - /* - * Enumeration is extensible - */ -} e_GravelType; - -/* GravelType */ -typedef long GravelType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_GravelType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_GravelType; -extern const asn_INTEGER_specifics_t asn_SPC_GravelType_specs_1; -asn_struct_free_f GravelType_free; -asn_struct_print_f GravelType_print; -asn_constr_check_f GravelType_constraint; -ber_type_decoder_f GravelType_decode_ber; -der_type_encoder_f GravelType_encode_der; -xer_type_decoder_f GravelType_decode_xer; -xer_type_encoder_f GravelType_encode_xer; -oer_type_decoder_f GravelType_decode_oer; -oer_type_encoder_f GravelType_encode_oer; -per_type_decoder_f GravelType_decode_uper; -per_type_encoder_f GravelType_encode_uper; -per_type_decoder_f GravelType_decode_aper; -per_type_encoder_f GravelType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _GravelType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/GrossDistance.c b/src/tmx/Asn_J2735/src/r2024/GrossDistance.c new file mode 100644 index 000000000..4a8d4cfba --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GrossDistance.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataManagement" + * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "GrossDistance.h" + +int +GrossDistance_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 1023L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_GrossDistance_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..1023) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_GrossDistance_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_GrossDistance_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_GrossDistance = { + "GrossDistance", + "GrossDistance", + &asn_OP_NativeInteger, + asn_DEF_GrossDistance_tags_1, + sizeof(asn_DEF_GrossDistance_tags_1) + /sizeof(asn_DEF_GrossDistance_tags_1[0]), /* 1 */ + asn_DEF_GrossDistance_tags_1, /* Same as above */ + sizeof(asn_DEF_GrossDistance_tags_1) + /sizeof(asn_DEF_GrossDistance_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_GrossDistance_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_GrossDistance_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + GrossDistance_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/GrossDistance.h b/src/tmx/Asn_J2735/src/r2024/GrossDistance.h deleted file mode 100644 index 9861c9cb5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/GrossDistance.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataManagement" - * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _GrossDistance_H_ -#define _GrossDistance_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* GrossDistance */ -typedef long GrossDistance_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_GrossDistance_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_GrossDistance; -asn_struct_free_f GrossDistance_free; -asn_struct_print_f GrossDistance_print; -asn_constr_check_f GrossDistance_constraint; -ber_type_decoder_f GrossDistance_decode_ber; -der_type_encoder_f GrossDistance_encode_der; -xer_type_decoder_f GrossDistance_decode_xer; -xer_type_encoder_f GrossDistance_encode_xer; -oer_type_decoder_f GrossDistance_decode_oer; -oer_type_encoder_f GrossDistance_encode_oer; -per_type_decoder_f GrossDistance_decode_uper; -per_type_encoder_f GrossDistance_encode_uper; -per_type_decoder_f GrossDistance_decode_aper; -per_type_encoder_f GrossDistance_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _GrossDistance_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/GrossSpeed.c b/src/tmx/Asn_J2735/src/r2024/GrossSpeed.c new file mode 100644 index 000000000..d6ca6024a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/GrossSpeed.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "GrossSpeed.h" + +int +GrossSpeed_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 31L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_GrossSpeed_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..31) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_GrossSpeed_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 31 } /* (0..31) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_GrossSpeed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_GrossSpeed = { + "GrossSpeed", + "GrossSpeed", + &asn_OP_NativeInteger, + asn_DEF_GrossSpeed_tags_1, + sizeof(asn_DEF_GrossSpeed_tags_1) + /sizeof(asn_DEF_GrossSpeed_tags_1[0]), /* 1 */ + asn_DEF_GrossSpeed_tags_1, /* Same as above */ + sizeof(asn_DEF_GrossSpeed_tags_1) + /sizeof(asn_DEF_GrossSpeed_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_GrossSpeed_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_GrossSpeed_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + GrossSpeed_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/GrossSpeed.h b/src/tmx/Asn_J2735/src/r2024/GrossSpeed.h deleted file mode 100644 index b9bdbbb23..000000000 --- a/src/tmx/Asn_J2735/src/r2024/GrossSpeed.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _GrossSpeed_H_ -#define _GrossSpeed_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* GrossSpeed */ -typedef long GrossSpeed_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_GrossSpeed_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_GrossSpeed; -asn_struct_free_f GrossSpeed_free; -asn_struct_print_f GrossSpeed_print; -asn_constr_check_f GrossSpeed_constraint; -ber_type_decoder_f GrossSpeed_decode_ber; -der_type_encoder_f GrossSpeed_encode_der; -xer_type_decoder_f GrossSpeed_decode_xer; -xer_type_encoder_f GrossSpeed_encode_xer; -oer_type_decoder_f GrossSpeed_decode_oer; -oer_type_encoder_f GrossSpeed_encode_oer; -per_type_decoder_f GrossSpeed_decode_uper; -per_type_encoder_f GrossSpeed_encode_uper; -per_type_decoder_f GrossSpeed_decode_aper; -per_type_encoder_f GrossSpeed_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _GrossSpeed_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Header.c b/src/tmx/Asn_J2735/src/r2024/Header.c new file mode 100644 index 000000000..cd2b11dc8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Header.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Header.h" + +asn_TYPE_member_t asn_MBR_Header_1[] = { + { ATF_POINTER, 4, offsetof(struct Header, year), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "year" + }, + { ATF_POINTER, 3, offsetof(struct Header, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_POINTER, 2, offsetof(struct Header, secMark), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "secMark" + }, + { ATF_POINTER, 1, offsetof(struct Header, msgIssueRevision), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msgIssueRevision" + }, +}; +static const int asn_MAP_Header_oms_1[] = { 0, 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_Header_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Header_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* year */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* secMark */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* msgIssueRevision */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Header_specs_1 = { + sizeof(struct Header), + offsetof(struct Header, _asn_ctx), + asn_MAP_Header_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_Header_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Header = { + "Header", + "Header", + &asn_OP_SEQUENCE, + asn_DEF_Header_tags_1, + sizeof(asn_DEF_Header_tags_1) + /sizeof(asn_DEF_Header_tags_1[0]), /* 1 */ + asn_DEF_Header_tags_1, /* Same as above */ + sizeof(asn_DEF_Header_tags_1) + /sizeof(asn_DEF_Header_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Header_1, + 4, /* Elements count */ + &asn_SPC_Header_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Header.h b/src/tmx/Asn_J2735/src/r2024/Header.h deleted file mode 100644 index ef036d975..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Header.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Header_H_ -#define _Header_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DYear.h" -#include "MinuteOfTheYear.h" -#include "DSecond.h" -#include "Common_MsgCount.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Header */ -typedef struct Header { - DYear_t *year; /* OPTIONAL */ - MinuteOfTheYear_t *timeStamp; /* OPTIONAL */ - DSecond_t *secMark; /* OPTIONAL */ - Common_MsgCount_t *msgIssueRevision; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Header_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Header; -extern asn_SEQUENCE_specifics_t asn_SPC_Header_specs_1; -extern asn_TYPE_member_t asn_MBR_Header_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Header_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Heading.c b/src/tmx/Asn_J2735/src/r2024/Heading.c new file mode 100644 index 000000000..6342ad270 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Heading.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Heading.h" + +int +Heading_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 28800L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Heading_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..28800) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Heading_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 28800 } /* (0..28800) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Heading_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Heading = { + "Heading", + "Heading", + &asn_OP_NativeInteger, + asn_DEF_Heading_tags_1, + sizeof(asn_DEF_Heading_tags_1) + /sizeof(asn_DEF_Heading_tags_1[0]), /* 1 */ + asn_DEF_Heading_tags_1, /* Same as above */ + sizeof(asn_DEF_Heading_tags_1) + /sizeof(asn_DEF_Heading_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Heading_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Heading_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Heading_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Heading.h b/src/tmx/Asn_J2735/src/r2024/Heading.h deleted file mode 100644 index 8ea1d15d5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Heading.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Heading_H_ -#define _Heading_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Heading */ -typedef long Heading_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Heading_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Heading; -asn_struct_free_f Heading_free; -asn_struct_print_f Heading_print; -asn_constr_check_f Heading_constraint; -ber_type_decoder_f Heading_decode_ber; -der_type_encoder_f Heading_encode_der; -xer_type_decoder_f Heading_decode_xer; -xer_type_encoder_f Heading_encode_xer; -oer_type_decoder_f Heading_decode_oer; -oer_type_encoder_f Heading_encode_oer; -per_type_decoder_f Heading_decode_uper; -per_type_encoder_f Heading_encode_uper; -per_type_decoder_f Heading_decode_aper; -per_type_encoder_f Heading_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Heading_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/HeadingConfidence.c b/src/tmx/Asn_J2735/src/r2024/HeadingConfidence.c new file mode 100644 index 000000000..69460b7f6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/HeadingConfidence.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "HeadingConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_HeadingConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_HeadingConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_HeadingConfidence_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 9, "prec10deg" }, + { 2, 9, "prec05deg" }, + { 3, 9, "prec01deg" }, + { 4, 10, "prec0-1deg" }, + { 5, 11, "prec0-05deg" }, + { 6, 11, "prec0-01deg" }, + { 7, 13, "prec0-0125deg" } +}; +static const unsigned int asn_MAP_HeadingConfidence_enum2value_1[] = { + 7, /* prec0-0125deg(7) */ + 6, /* prec0-01deg(6) */ + 5, /* prec0-05deg(5) */ + 4, /* prec0-1deg(4) */ + 3, /* prec01deg(3) */ + 2, /* prec05deg(2) */ + 1, /* prec10deg(1) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_HeadingConfidence_specs_1 = { + asn_MAP_HeadingConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_HeadingConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_HeadingConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_HeadingConfidence = { + "HeadingConfidence", + "HeadingConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_HeadingConfidence_tags_1, + sizeof(asn_DEF_HeadingConfidence_tags_1) + /sizeof(asn_DEF_HeadingConfidence_tags_1[0]), /* 1 */ + asn_DEF_HeadingConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_HeadingConfidence_tags_1) + /sizeof(asn_DEF_HeadingConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_HeadingConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_HeadingConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_HeadingConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/HeadingConfidence.h b/src/tmx/Asn_J2735/src/r2024/HeadingConfidence.h deleted file mode 100644 index 17a7b4553..000000000 --- a/src/tmx/Asn_J2735/src/r2024/HeadingConfidence.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _HeadingConfidence_H_ -#define _HeadingConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum HeadingConfidence { - HeadingConfidence_unavailable = 0, - HeadingConfidence_prec10deg = 1, - HeadingConfidence_prec05deg = 2, - HeadingConfidence_prec01deg = 3, - HeadingConfidence_prec0_1deg = 4, - HeadingConfidence_prec0_05deg = 5, - HeadingConfidence_prec0_01deg = 6, - HeadingConfidence_prec0_0125deg = 7 -} e_HeadingConfidence; - -/* HeadingConfidence */ -typedef long HeadingConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_HeadingConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_HeadingConfidence; -extern const asn_INTEGER_specifics_t asn_SPC_HeadingConfidence_specs_1; -asn_struct_free_f HeadingConfidence_free; -asn_struct_print_f HeadingConfidence_print; -asn_constr_check_f HeadingConfidence_constraint; -ber_type_decoder_f HeadingConfidence_decode_ber; -der_type_encoder_f HeadingConfidence_encode_der; -xer_type_decoder_f HeadingConfidence_decode_xer; -xer_type_encoder_f HeadingConfidence_encode_xer; -oer_type_decoder_f HeadingConfidence_decode_oer; -oer_type_encoder_f HeadingConfidence_encode_oer; -per_type_decoder_f HeadingConfidence_decode_uper; -per_type_encoder_f HeadingConfidence_encode_uper; -per_type_decoder_f HeadingConfidence_decode_aper; -per_type_encoder_f HeadingConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _HeadingConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/HeadingDeg.c b/src/tmx/Asn_J2735/src/r2024/HeadingDeg.c new file mode 100644 index 000000000..0f111d2ec --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/HeadingDeg.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "HeadingDeg.h" + +int +HeadingDeg_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 359L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_HeadingDeg_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..359) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_HeadingDeg_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, 0, 359 } /* (0..359) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_HeadingDeg_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_HeadingDeg = { + "HeadingDeg", + "HeadingDeg", + &asn_OP_NativeInteger, + asn_DEF_HeadingDeg_tags_1, + sizeof(asn_DEF_HeadingDeg_tags_1) + /sizeof(asn_DEF_HeadingDeg_tags_1[0]), /* 1 */ + asn_DEF_HeadingDeg_tags_1, /* Same as above */ + sizeof(asn_DEF_HeadingDeg_tags_1) + /sizeof(asn_DEF_HeadingDeg_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_HeadingDeg_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_HeadingDeg_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + HeadingDeg_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/HeadingDeg.h b/src/tmx/Asn_J2735/src/r2024/HeadingDeg.h deleted file mode 100644 index a4f13bf35..000000000 --- a/src/tmx/Asn_J2735/src/r2024/HeadingDeg.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _HeadingDeg_H_ -#define _HeadingDeg_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* HeadingDeg */ -typedef long HeadingDeg_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_HeadingDeg_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_HeadingDeg; -asn_struct_free_f HeadingDeg_free; -asn_struct_print_f HeadingDeg_print; -asn_constr_check_f HeadingDeg_constraint; -ber_type_decoder_f HeadingDeg_decode_ber; -der_type_encoder_f HeadingDeg_encode_der; -xer_type_decoder_f HeadingDeg_decode_xer; -xer_type_encoder_f HeadingDeg_encode_xer; -oer_type_decoder_f HeadingDeg_decode_oer; -oer_type_encoder_f HeadingDeg_encode_oer; -per_type_decoder_f HeadingDeg_decode_uper; -per_type_encoder_f HeadingDeg_encode_uper; -per_type_decoder_f HeadingDeg_decode_aper; -per_type_encoder_f HeadingDeg_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _HeadingDeg_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/HeadingSlice.c b/src/tmx/Asn_J2735/src/r2024/HeadingSlice.c new file mode 100644 index 000000000..9c960d1e5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/HeadingSlice.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "HeadingSlice.h" + +int +HeadingSlice_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_HeadingSlice_constr_1 CC_NOTUSED = { + { 0, 0 }, + 16 /* (SIZE(16..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_HeadingSlice_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_HeadingSlice_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_HeadingSlice = { + "HeadingSlice", + "HeadingSlice", + &asn_OP_BIT_STRING, + asn_DEF_HeadingSlice_tags_1, + sizeof(asn_DEF_HeadingSlice_tags_1) + /sizeof(asn_DEF_HeadingSlice_tags_1[0]), /* 1 */ + asn_DEF_HeadingSlice_tags_1, /* Same as above */ + sizeof(asn_DEF_HeadingSlice_tags_1) + /sizeof(asn_DEF_HeadingSlice_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_HeadingSlice_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_HeadingSlice_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + HeadingSlice_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/HeadingSlice.h b/src/tmx/Asn_J2735/src/r2024/HeadingSlice.h deleted file mode 100644 index 27385ea2b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/HeadingSlice.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _HeadingSlice_H_ -#define _HeadingSlice_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum HeadingSlice { - HeadingSlice_from000_0to022_5degrees = 0, - HeadingSlice_from022_5to045_0degrees = 1, - HeadingSlice_from045_0to067_5degrees = 2, - HeadingSlice_from067_5to090_0degrees = 3, - HeadingSlice_from090_0to112_5degrees = 4, - HeadingSlice_from112_5to135_0degrees = 5, - HeadingSlice_from135_0to157_5degrees = 6, - HeadingSlice_from157_5to180_0degrees = 7, - HeadingSlice_from180_0to202_5degrees = 8, - HeadingSlice_from202_5to225_0degrees = 9, - HeadingSlice_from225_0to247_5degrees = 10, - HeadingSlice_from247_5to270_0degrees = 11, - HeadingSlice_from270_0to292_5degrees = 12, - HeadingSlice_from292_5to315_0degrees = 13, - HeadingSlice_from315_0to337_5degrees = 14, - HeadingSlice_from337_5to360_0degrees = 15 -} e_HeadingSlice; - -/* HeadingSlice */ -typedef BIT_STRING_t HeadingSlice_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_HeadingSlice_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_HeadingSlice; -asn_struct_free_f HeadingSlice_free; -asn_struct_print_f HeadingSlice_print; -asn_constr_check_f HeadingSlice_constraint; -ber_type_decoder_f HeadingSlice_decode_ber; -der_type_encoder_f HeadingSlice_encode_der; -xer_type_decoder_f HeadingSlice_decode_xer; -xer_type_encoder_f HeadingSlice_encode_xer; -oer_type_decoder_f HeadingSlice_decode_oer; -oer_type_encoder_f HeadingSlice_encode_oer; -per_type_decoder_f HeadingSlice_decode_uper; -per_type_encoder_f HeadingSlice_encode_uper; -per_type_decoder_f HeadingSlice_decode_aper; -per_type_encoder_f HeadingSlice_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _HeadingSlice_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/HeavyTruckCCMExtensions.c b/src/tmx/Asn_J2735/src/r2024/HeavyTruckCCMExtensions.c new file mode 100644 index 000000000..b03542c60 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/HeavyTruckCCMExtensions.c @@ -0,0 +1,374 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "HeavyTruckCCMExtensions.h" + +asn_TYPE_member_t asn_MBR_HeavyTruckCCMExtensions_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct HeavyTruckCCMExtensions, longCntrlState), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LongitudinalControlState, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longCntrlState" + }, + { ATF_POINTER, 17, offsetof(struct HeavyTruckCCMExtensions, targetId), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "targetId" + }, + { ATF_POINTER, 16, offsetof(struct HeavyTruckCCMExtensions, roadGrade), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadGrade, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadGrade" + }, + { ATF_POINTER, 15, offsetof(struct HeavyTruckCCMExtensions, brakePedalPos), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BrakePedalPosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "brakePedalPos" + }, + { ATF_POINTER, 14, offsetof(struct HeavyTruckCCMExtensions, accelPedalPos), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AcceleratorPedalPosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accelPedalPos" + }, + { ATF_POINTER, 13, offsetof(struct HeavyTruckCCMExtensions, desiredSpeed), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Speed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "desiredSpeed" + }, + { ATF_POINTER, 12, offsetof(struct HeavyTruckCCMExtensions, desiredAccel), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Acceleration, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "desiredAccel" + }, + { ATF_POINTER, 11, offsetof(struct HeavyTruckCCMExtensions, desiredTorque), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Torque, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "desiredTorque" + }, + { ATF_POINTER, 10, offsetof(struct HeavyTruckCCMExtensions, desiredTmRetarderTorque), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Torque, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "desiredTmRetarderTorque" + }, + { ATF_POINTER, 9, offsetof(struct HeavyTruckCCMExtensions, desiredEngRetarderTorque), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Torque, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "desiredEngRetarderTorque" + }, + { ATF_POINTER, 8, offsetof(struct HeavyTruckCCMExtensions, axesMvmt), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AxesMovement, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "axesMvmt" + }, + { ATF_POINTER, 7, offsetof(struct HeavyTruckCCMExtensions, separationDist), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SeparationDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "separationDist" + }, + { ATF_POINTER, 6, offsetof(struct HeavyTruckCCMExtensions, totalMass), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TotalMass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "totalMass" + }, + { ATF_POINTER, 5, offsetof(struct HeavyTruckCCMExtensions, maxAvailAccel), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MaxAvailableAcceleration, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maxAvailAccel" + }, + { ATF_POINTER, 4, offsetof(struct HeavyTruckCCMExtensions, maxAvailDecel), + (ASN_TAG_CLASS_CONTEXT | (14 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MaxAvailableDeceleration, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maxAvailDecel" + }, + { ATF_POINTER, 3, offsetof(struct HeavyTruckCCMExtensions, ccmFaultMode), + (ASN_TAG_CLASS_CONTEXT | (15 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CCMFaultMode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ccmFaultMode" + }, + { ATF_POINTER, 2, offsetof(struct HeavyTruckCCMExtensions, maneuverID), + (ASN_TAG_CLASS_CONTEXT | (16 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CooperativeControlMessage_ManeuverID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maneuverID" + }, + { ATF_POINTER, 1, offsetof(struct HeavyTruckCCMExtensions, frontCutIn), + (ASN_TAG_CLASS_CONTEXT | (17 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FrontCutIn, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "frontCutIn" + }, +}; +static const int asn_MAP_HeavyTruckCCMExtensions_oms_1[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 }; +static const ber_tlv_tag_t asn_DEF_HeavyTruckCCMExtensions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_HeavyTruckCCMExtensions_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* longCntrlState */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* targetId */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* roadGrade */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* brakePedalPos */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* accelPedalPos */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* desiredSpeed */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* desiredAccel */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* desiredTorque */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* desiredTmRetarderTorque */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* desiredEngRetarderTorque */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* axesMvmt */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* separationDist */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* totalMass */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* maxAvailAccel */ + { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* maxAvailDecel */ + { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* ccmFaultMode */ + { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* maneuverID */ + { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 } /* frontCutIn */ +}; +asn_SEQUENCE_specifics_t asn_SPC_HeavyTruckCCMExtensions_specs_1 = { + sizeof(struct HeavyTruckCCMExtensions), + offsetof(struct HeavyTruckCCMExtensions, _asn_ctx), + asn_MAP_HeavyTruckCCMExtensions_tag2el_1, + 18, /* Count of tags in the map */ + asn_MAP_HeavyTruckCCMExtensions_oms_1, /* Optional members */ + 17, 0, /* Root/Additions */ + 18, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_HeavyTruckCCMExtensions = { + "HeavyTruckCCMExtensions", + "HeavyTruckCCMExtensions", + &asn_OP_SEQUENCE, + asn_DEF_HeavyTruckCCMExtensions_tags_1, + sizeof(asn_DEF_HeavyTruckCCMExtensions_tags_1) + /sizeof(asn_DEF_HeavyTruckCCMExtensions_tags_1[0]), /* 1 */ + asn_DEF_HeavyTruckCCMExtensions_tags_1, /* Same as above */ + sizeof(asn_DEF_HeavyTruckCCMExtensions_tags_1) + /sizeof(asn_DEF_HeavyTruckCCMExtensions_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_HeavyTruckCCMExtensions_1, + 18, /* Elements count */ + &asn_SPC_HeavyTruckCCMExtensions_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/HeavyTruckCCMExtensions.h b/src/tmx/Asn_J2735/src/r2024/HeavyTruckCCMExtensions.h deleted file mode 100644 index df5c4b499..000000000 --- a/src/tmx/Asn_J2735/src/r2024/HeavyTruckCCMExtensions.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _HeavyTruckCCMExtensions_H_ -#define _HeavyTruckCCMExtensions_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LongitudinalControlState.h" -#include "TemporaryID.h" -#include "RoadGrade.h" -#include "BrakePedalPosition.h" -#include "AcceleratorPedalPosition.h" -#include "Speed.h" -#include "Acceleration.h" -#include "Torque.h" -#include "SeparationDistance.h" -#include "TotalMass.h" -#include "MaxAvailableAcceleration.h" -#include "MaxAvailableDeceleration.h" -#include "CCMFaultMode.h" -#include "CooperativeControlMessage_ManeuverID.h" -#include "FrontCutIn.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct AxesMovement; - -/* HeavyTruckCCMExtensions */ -typedef struct HeavyTruckCCMExtensions { - LongitudinalControlState_t longCntrlState; - TemporaryID_t *targetId; /* OPTIONAL */ - RoadGrade_t *roadGrade; /* OPTIONAL */ - BrakePedalPosition_t *brakePedalPos; /* OPTIONAL */ - AcceleratorPedalPosition_t *accelPedalPos; /* OPTIONAL */ - Speed_t *desiredSpeed; /* OPTIONAL */ - Acceleration_t *desiredAccel; /* OPTIONAL */ - Torque_t *desiredTorque; /* OPTIONAL */ - Torque_t *desiredTmRetarderTorque; /* OPTIONAL */ - Torque_t *desiredEngRetarderTorque; /* OPTIONAL */ - struct AxesMovement *axesMvmt; /* OPTIONAL */ - SeparationDistance_t *separationDist; /* OPTIONAL */ - TotalMass_t *totalMass; /* OPTIONAL */ - MaxAvailableAcceleration_t *maxAvailAccel; /* OPTIONAL */ - MaxAvailableDeceleration_t *maxAvailDecel; /* OPTIONAL */ - CCMFaultMode_t *ccmFaultMode; /* OPTIONAL */ - CooperativeControlMessage_ManeuverID_t *maneuverID; /* OPTIONAL */ - FrontCutIn_t *frontCutIn; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} HeavyTruckCCMExtensions_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_HeavyTruckCCMExtensions; -extern asn_SEQUENCE_specifics_t asn_SPC_HeavyTruckCCMExtensions_specs_1; -extern asn_TYPE_member_t asn_MBR_HeavyTruckCCMExtensions_1[18]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "AxesMovement.h" - -#endif /* _HeavyTruckCCMExtensions_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Holiday.c b/src/tmx/Asn_J2735/src/r2024/Holiday.c new file mode 100644 index 000000000..9facadb74 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Holiday.c @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Holiday.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Holiday_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Holiday_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Holiday_value2enum_1[] = { + { 0, 7, "weekday" }, + { 1, 7, "holiday" } +}; +static const unsigned int asn_MAP_Holiday_enum2value_1[] = { + 1, /* holiday(1) */ + 0 /* weekday(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_Holiday_specs_1 = { + asn_MAP_Holiday_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Holiday_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Holiday_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Holiday = { + "Holiday", + "Holiday", + &asn_OP_NativeEnumerated, + asn_DEF_Holiday_tags_1, + sizeof(asn_DEF_Holiday_tags_1) + /sizeof(asn_DEF_Holiday_tags_1[0]), /* 1 */ + asn_DEF_Holiday_tags_1, /* Same as above */ + sizeof(asn_DEF_Holiday_tags_1) + /sizeof(asn_DEF_Holiday_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Holiday_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Holiday_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Holiday_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Holiday.h b/src/tmx/Asn_J2735/src/r2024/Holiday.h deleted file mode 100644 index 3ad22dd0e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Holiday.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Holiday_H_ -#define _Holiday_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Holiday { - Holiday_weekday = 0, - Holiday_holiday = 1 -} e_Holiday; - -/* Holiday */ -typedef long Holiday_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Holiday_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Holiday; -extern const asn_INTEGER_specifics_t asn_SPC_Holiday_specs_1; -asn_struct_free_f Holiday_free; -asn_struct_print_f Holiday_print; -asn_constr_check_f Holiday_constraint; -ber_type_decoder_f Holiday_decode_ber; -der_type_encoder_f Holiday_encode_der; -xer_type_decoder_f Holiday_decode_xer; -xer_type_encoder_f Holiday_encode_xer; -oer_type_decoder_f Holiday_decode_oer; -oer_type_encoder_f Holiday_encode_oer; -per_type_decoder_f Holiday_decode_uper; -per_type_encoder_f Holiday_encode_uper; -per_type_decoder_f Holiday_decode_aper; -per_type_encoder_f Holiday_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Holiday_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Hour.c b/src/tmx/Asn_J2735/src/r2024/Hour.c new file mode 100644 index 000000000..25f0a3d3f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Hour.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Hour.h" + +int +Hour_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Hour_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Hour_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Hour_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Hour = { + "Hour", + "Hour", + &asn_OP_NativeInteger, + asn_DEF_Hour_tags_1, + sizeof(asn_DEF_Hour_tags_1) + /sizeof(asn_DEF_Hour_tags_1[0]), /* 1 */ + asn_DEF_Hour_tags_1, /* Same as above */ + sizeof(asn_DEF_Hour_tags_1) + /sizeof(asn_DEF_Hour_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Hour_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Hour_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Hour_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Hour.h b/src/tmx/Asn_J2735/src/r2024/Hour.h deleted file mode 100644 index 87237d282..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Hour.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Hour_H_ -#define _Hour_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Hour */ -typedef long Hour_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Hour_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Hour; -asn_struct_free_f Hour_free; -asn_struct_print_f Hour_print; -asn_constr_check_f Hour_constraint; -ber_type_decoder_f Hour_decode_ber; -der_type_encoder_f Hour_encode_der; -xer_type_decoder_f Hour_decode_xer; -xer_type_encoder_f Hour_encode_xer; -oer_type_decoder_f Hour_decode_oer; -oer_type_encoder_f Hour_encode_oer; -per_type_decoder_f Hour_decode_uper; -per_type_encoder_f Hour_encode_uper; -per_type_decoder_f Hour_decode_aper; -per_type_encoder_f Hour_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Hour_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/HumanPropelledType.c b/src/tmx/Asn_J2735/src/r2024/HumanPropelledType.c new file mode 100644 index 000000000..fdb23efbf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/HumanPropelledType.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "HumanPropelledType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_HumanPropelledType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_HumanPropelledType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_HumanPropelledType_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 10, "otherTypes" }, + { 2, 6, "onFoot" }, + { 3, 10, "skateboard" }, + { 4, 17, "pushOrKickScooter" }, + { 5, 10, "wheelchair" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_HumanPropelledType_enum2value_1[] = { + 2, /* onFoot(2) */ + 1, /* otherTypes(1) */ + 4, /* pushOrKickScooter(4) */ + 3, /* skateboard(3) */ + 0, /* unavailable(0) */ + 5 /* wheelchair(5) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_HumanPropelledType_specs_1 = { + asn_MAP_HumanPropelledType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_HumanPropelledType_enum2value_1, /* N => "tag"; sorted by N */ + 6, /* Number of elements in the maps */ + 7, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_HumanPropelledType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_HumanPropelledType = { + "HumanPropelledType", + "HumanPropelledType", + &asn_OP_NativeEnumerated, + asn_DEF_HumanPropelledType_tags_1, + sizeof(asn_DEF_HumanPropelledType_tags_1) + /sizeof(asn_DEF_HumanPropelledType_tags_1[0]), /* 1 */ + asn_DEF_HumanPropelledType_tags_1, /* Same as above */ + sizeof(asn_DEF_HumanPropelledType_tags_1) + /sizeof(asn_DEF_HumanPropelledType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_HumanPropelledType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_HumanPropelledType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_HumanPropelledType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/HumanPropelledType.h b/src/tmx/Asn_J2735/src/r2024/HumanPropelledType.h deleted file mode 100644 index 81ae495cd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/HumanPropelledType.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _HumanPropelledType_H_ -#define _HumanPropelledType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum HumanPropelledType { - HumanPropelledType_unavailable = 0, - HumanPropelledType_otherTypes = 1, - HumanPropelledType_onFoot = 2, - HumanPropelledType_skateboard = 3, - HumanPropelledType_pushOrKickScooter = 4, - HumanPropelledType_wheelchair = 5 - /* - * Enumeration is extensible - */ -} e_HumanPropelledType; - -/* HumanPropelledType */ -typedef long HumanPropelledType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_HumanPropelledType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_HumanPropelledType; -extern const asn_INTEGER_specifics_t asn_SPC_HumanPropelledType_specs_1; -asn_struct_free_f HumanPropelledType_free; -asn_struct_print_f HumanPropelledType_print; -asn_constr_check_f HumanPropelledType_constraint; -ber_type_decoder_f HumanPropelledType_decode_ber; -der_type_encoder_f HumanPropelledType_encode_der; -xer_type_decoder_f HumanPropelledType_decode_xer; -xer_type_encoder_f HumanPropelledType_encode_xer; -oer_type_decoder_f HumanPropelledType_decode_oer; -oer_type_encoder_f HumanPropelledType_encode_oer; -per_type_decoder_f HumanPropelledType_decode_uper; -per_type_encoder_f HumanPropelledType_encode_uper; -per_type_decoder_f HumanPropelledType_decode_aper; -per_type_encoder_f HumanPropelledType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _HumanPropelledType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IA5String.c b/src/tmx/Asn_J2735/src/r2024/IA5String.c new file mode 100644 index 000000000..876142d39 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IA5String.c @@ -0,0 +1,133 @@ +/*- + * Copyright (c) 2003 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * IA5String basic type description. + */ +static const ber_tlv_tag_t asn_DEF_IA5String_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), /* [UNIVERSAL 22] IMPLICIT ...*/ + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ +}; +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_DEF_IA5String_per_constraints = { + { APC_CONSTRAINED, 7, 7, 0, 0x7f }, /* Value */ + { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, /* Size */ + 0, 0 +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_operation_t asn_OP_IA5String = { + OCTET_STRING_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + OCTET_STRING_print_utf8, /* ASCII subset */ +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + OCTET_STRING_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ + OCTET_STRING_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + OCTET_STRING_decode_xer_utf8, + OCTET_STRING_encode_xer_utf8, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + OCTET_STRING_encode_jer_utf8, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + OCTET_STRING_decode_oer, + OCTET_STRING_encode_oer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + OCTET_STRING_decode_uper, + OCTET_STRING_encode_uper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + OCTET_STRING_decode_aper, + OCTET_STRING_encode_aper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + OCTET_STRING_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_IA5String = { + "IA5String", + "IA5String", + &asn_OP_IA5String, + asn_DEF_IA5String_tags, + sizeof(asn_DEF_IA5String_tags) + / sizeof(asn_DEF_IA5String_tags[0]) - 1, + asn_DEF_IA5String_tags, + sizeof(asn_DEF_IA5String_tags) + / sizeof(asn_DEF_IA5String_tags[0]), + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_DEF_IA5String_per_constraints, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + IA5String_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +int +IA5String_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + + if(st && st->buf) { + uint8_t *buf = st->buf; + uint8_t *end = buf + st->size; + /* + * IA5String is generally equivalent to 7bit ASCII. + * ISO/ITU-T T.50, 1963. + */ + for(; buf < end; buf++) { + if(*buf > 0x7F) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value byte %ld out of range: " + "%d > 127 (%s:%d)", + td->name, + (long)((buf - st->buf) + 1), + *buf, + __FILE__, __LINE__); + return -1; + } + } + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + return 0; +} + diff --git a/src/tmx/Asn_J2735/src/r2024/IA5String.h b/src/tmx/Asn_J2735/src/r2024/IA5String.h deleted file mode 100644 index 195f474a1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IA5String.h +++ /dev/null @@ -1,59 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _IA5String_H_ -#define _IA5String_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OCTET_STRING_t IA5String_t; /* Implemented via OCTET STRING */ - -/* - * IA5String ASN.1 type definition. - */ -extern asn_TYPE_descriptor_t asn_DEF_IA5String; -extern asn_TYPE_operation_t asn_OP_IA5String; - -#define IA5String_free OCTET_STRING_free - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -#define IA5String_print OCTET_STRING_print_utf8 -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -#define IA5String_compare OCTET_STRING_compare - -asn_constr_check_f IA5String_constraint; - -#if !defined(ASN_DISABLE_BER_SUPPORT) -#define IA5String_decode_ber OCTET_STRING_decode_ber -#define IA5String_encode_der OCTET_STRING_encode_der -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -#define IA5String_decode_xer OCTET_STRING_decode_xer_utf8 -#define IA5String_encode_xer OCTET_STRING_encode_xer_utf8 -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -#define IA5String_encode_jer OCTET_STRING_encode_jer_utf8 -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -#define IA5String_decode_uper OCTET_STRING_decode_uper -#define IA5String_encode_uper OCTET_STRING_encode_uper -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -#define IA5String_decode_aper OCTET_STRING_decode_aper -#define IA5String_encode_aper OCTET_STRING_encode_aper -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#ifdef __cplusplus -} -#endif - -#endif /* _IA5String_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/INTEGER.c b/src/tmx/Asn_J2735/src/r2024/INTEGER.c new file mode 100644 index 000000000..095063fef --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/INTEGER.c @@ -0,0 +1,738 @@ +/* + * Copyright (c) 2003-2019 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include + +/* + * INTEGER basic type description. + */ +static const ber_tlv_tag_t asn_DEF_INTEGER_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_operation_t asn_OP_INTEGER = { + INTEGER_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + INTEGER_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + INTEGER_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + ber_decode_primitive, + INTEGER_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + INTEGER_decode_xer, + INTEGER_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + INTEGER_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + INTEGER_decode_oer, /* OER decoder */ + INTEGER_encode_oer, /* Canonical OER encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + INTEGER_decode_uper, /* Unaligned PER decoder */ + INTEGER_encode_uper, /* Unaligned PER encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + INTEGER_decode_aper, /* Aligned PER decoder */ + INTEGER_encode_aper, /* Aligned PER encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + INTEGER_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ +0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_INTEGER = { + "INTEGER", + "INTEGER", + &asn_OP_INTEGER, + asn_DEF_INTEGER_tags, + sizeof(asn_DEF_INTEGER_tags) / sizeof(asn_DEF_INTEGER_tags[0]), + asn_DEF_INTEGER_tags, /* Same as above */ + sizeof(asn_DEF_INTEGER_tags) / sizeof(asn_DEF_INTEGER_tags[0]), + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + asn_generic_no_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +/* + * INTEGER specific human-readable output. + */ +ssize_t +INTEGER__dump(const asn_TYPE_descriptor_t *td, const INTEGER_t *st, asn_app_consume_bytes_f *cb, void *app_key, int plainOrXER) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + char scratch[32]; + uint8_t *buf = st->buf; + uint8_t *buf_end = st->buf + st->size; + intmax_t value; + ssize_t wrote = 0; + char *p; + int ret; + + if(specs && specs->field_unsigned) + ret = asn_INTEGER2umax(st, (uintmax_t *)&value); + else + ret = asn_INTEGER2imax(st, &value); + + /* Simple case: the integer size is small */ + if(ret == 0) { + const asn_INTEGER_enum_map_t *el; + el = (value >= 0 || !specs || !specs->field_unsigned) + ? INTEGER_map_value2enum(specs, value) : 0; + if(el) { + if(plainOrXER == 0) + return asn__format_to_callback(cb, app_key, + "%" ASN_PRIdMAX " (%s)", value, el->enum_name); + else + return asn__format_to_callback(cb, app_key, + "<%s/>", el->enum_name); + } else if(plainOrXER && specs && specs->strict_enumeration) { + ASN_DEBUG("ASN.1 forbids dealing with " + "unknown value of ENUMERATED type"); + errno = EPERM; + return -1; + } else { + return asn__format_to_callback(cb, app_key, + (specs && specs->field_unsigned) + ? "%" ASN_PRIuMAX + : "%" ASN_PRIdMAX, + value); + } + } else if(plainOrXER && specs && specs->strict_enumeration) { + /* + * Here and earlier, we cannot encode the ENUMERATED values + * if there is no corresponding identifier. + */ + ASN_DEBUG("ASN.1 forbids dealing with " + "unknown value of ENUMERATED type"); + errno = EPERM; + return -1; + } + + /* Output in the long xx:yy:zz... format */ + /* TODO: replace with generic algorithm (Knuth TAOCP Vol 2, 4.3.1) */ + for(p = scratch; buf < buf_end; buf++) { + const char * const h2c = "0123456789ABCDEF"; + if((p - scratch) >= (ssize_t)(sizeof(scratch) - 4)) { + /* Flush buffer */ + if(cb(scratch, p - scratch, app_key) < 0) + return -1; + wrote += p - scratch; + p = scratch; + } + *p++ = h2c[*buf >> 4]; + *p++ = h2c[*buf & 0x0F]; + *p++ = 0x3a; /* ":" */ + } + if(p != scratch) + p--; /* Remove the last ":" */ + + wrote += p - scratch; + return (cb(scratch, p - scratch, app_key) < 0) ? -1 : wrote; +} + +static int +INTEGER__compar_value2enum(const void *kp, const void *am) { + long a = *(const long *)kp; + const asn_INTEGER_enum_map_t *el = (const asn_INTEGER_enum_map_t *)am; + long b = el->nat_value; + if(a < b) return -1; + else if(a == b) return 0; + else return 1; +} + +const asn_INTEGER_enum_map_t * +INTEGER_map_value2enum(const asn_INTEGER_specifics_t *specs, long value) { + int count = specs ? specs->map_count : 0; + if(!count) return 0; + return (asn_INTEGER_enum_map_t *)bsearch(&value, specs->value2enum, + count, sizeof(specs->value2enum[0]), + INTEGER__compar_value2enum); +} + +static intmax_t +asn__integer_convert(const uint8_t *b, const uint8_t *end) { + uintmax_t value; + + /* Perform the sign initialization */ + /* Actually value = -(*b >> 7); gains nothing, yet unreadable! */ + if((*b >> 7)) { + value = (uintmax_t)(-1); + } else { + value = 0; + } + + /* Conversion engine */ + for(; b < end; b++) { + value = (value << 8) | *b; + } + + return value; +} + +int +asn_INTEGER2imax(const INTEGER_t *iptr, intmax_t *lptr) { + uint8_t *b, *end; + size_t size; + + /* Sanity checking */ + if(!iptr || !iptr->buf || !lptr) { + errno = EINVAL; + return -1; + } + + /* Cache the begin/end of the buffer */ + b = iptr->buf; /* Start of the INTEGER buffer */ + size = iptr->size; + end = b + size; /* Where to stop */ + + if(size > sizeof(intmax_t)) { + uint8_t *end1 = end - 1; + /* + * Slightly more advanced processing, + * able to process INTEGERs with >sizeof(intmax_t) bytes + * when the actual value is small, e.g. for intmax_t == int32_t + * (0x0000000000abcdef INTEGER would yield a fine 0x00abcdef int32_t) + */ + /* Skip out the insignificant leading bytes */ + for(; b < end1; b++) { + switch(*b) { + case 0x00: if((b[1] & 0x80) == 0) continue; break; + case 0xff: if((b[1] & 0x80) != 0) continue; break; + } + break; + } + + size = end - b; + if(size > sizeof(intmax_t)) { + /* Still cannot fit the sizeof(intmax_t) */ + errno = ERANGE; + return -1; + } + } + + /* Shortcut processing of a corner case */ + if(end == b) { + *lptr = 0; + return 0; + } + + *lptr = asn__integer_convert(b, end); + return 0; +} + +/* FIXME: negative INTEGER values are silently interpreted as large unsigned ones. */ +int +asn_INTEGER2umax(const INTEGER_t *iptr, uintmax_t *lptr) { + uint8_t *b, *end; + uintmax_t value; + size_t size; + + if(!iptr || !iptr->buf || !lptr) { + errno = EINVAL; + return -1; + } + + b = iptr->buf; + size = iptr->size; + end = b + size; + + /* If all extra leading bytes are zeroes, ignore them */ + for(; size > sizeof(value); b++, size--) { + if(*b) { + /* Value won't fit into uintmax_t */ + errno = ERANGE; + return -1; + } + } + + /* Conversion engine */ + for(value = 0; b < end; b++) + value = (value << 8) | *b; + + *lptr = value; + return 0; +} + +int +asn_umax2INTEGER(INTEGER_t *st, uintmax_t value) { + uint8_t *buf; + uint8_t *end; + uint8_t *b; + int shr; + + if(value <= ((~(uintmax_t)0) >> 1)) { + return asn_imax2INTEGER(st, value); + } + + buf = (uint8_t *)MALLOC(1 + sizeof(value)); + if(!buf) return -1; + + end = buf + (sizeof(value) + 1); + buf[0] = 0; /* INTEGERs are signed. 0-byte indicates positive. */ + for(b = buf + 1, shr = (sizeof(value) - 1) * 8; b < end; shr -= 8, b++) + *b = (uint8_t)(value >> shr); + + if(st->buf) FREEMEM(st->buf); + st->buf = buf; + st->size = 1 + sizeof(value); + + return 0; +} + +int +asn_imax2INTEGER(INTEGER_t *st, intmax_t value) { + uint8_t *buf, *bp; + uint8_t *p; + uint8_t *pstart; + uint8_t *pend1; + int littleEndian = 1; /* Run-time detection */ + int add; + + if(!st) { + errno = EINVAL; + return -1; + } + + buf = (uint8_t *)(long *)MALLOC(sizeof(value)); + if(!buf) return -1; + + if(*(char *)&littleEndian) { + pstart = (uint8_t *)&value + sizeof(value) - 1; + pend1 = (uint8_t *)&value; + add = -1; + } else { + pstart = (uint8_t *)&value; + pend1 = pstart + sizeof(value) - 1; + add = 1; + } + + /* + * If the contents octet consists of more than one octet, + * then bits of the first octet and bit 8 of the second octet: + * a) shall not all be ones; and + * b) shall not all be zero. + */ + for(p = pstart; p != pend1; p += add) { + switch(*p) { + case 0x00: if((*(p+add) & 0x80) == 0) + continue; + break; + case 0xff: if((*(p+add) & 0x80)) + continue; + break; + } + break; + } + /* Copy the integer body */ + for(bp = buf, pend1 += add; p != pend1; p += add) + *bp++ = *p; + + if(st->buf) FREEMEM(st->buf); + st->buf = buf; + st->size = bp - buf; + + return 0; +} + +int +asn_INTEGER2long(const INTEGER_t *iptr, long *l) { + intmax_t v; + if(asn_INTEGER2imax(iptr, &v) == 0) { + if(v < LONG_MIN || v > LONG_MAX) { + errno = ERANGE; + return -1; + } + *l = v; + return 0; + } else { + return -1; + } +} + +int +asn_INTEGER2ulong(const INTEGER_t *iptr, unsigned long *l) { + uintmax_t v; + if(asn_INTEGER2umax(iptr, &v) == 0) { + if(v > ULONG_MAX) { + errno = ERANGE; + return -1; + } + *l = v; + return 0; + } else { + return -1; + } +} + +int +asn_long2INTEGER(INTEGER_t *st, long value) { + return asn_imax2INTEGER(st, value); +} + +int +asn_ulong2INTEGER(INTEGER_t *st, unsigned long value) { + return asn_imax2INTEGER(st, value); +} + + +int +asn_uint642INTEGER(INTEGER_t *st, uint64_t value) { + uint8_t *buf; + uint8_t *end; + uint8_t *b; + int shr; + + if(value <= INT64_MAX) + return asn_int642INTEGER(st, value); + + buf = (uint8_t *)MALLOC(1 + sizeof(value)); + if(!buf) return -1; + + end = buf + (sizeof(value) + 1); + buf[0] = 0; + for(b = buf + 1, shr = (sizeof(value)-1)*8; b < end; shr -= 8, b++) + *b = (uint8_t)(value >> shr); + + if(st->buf) FREEMEM(st->buf); + st->buf = buf; + st->size = 1 + sizeof(value); + + return 0; +} + +int +asn_int642INTEGER(INTEGER_t *st, int64_t value) { + uint8_t *buf, *bp; + uint8_t *p; + uint8_t *pstart; + uint8_t *pend1; + int littleEndian = 1; /* Run-time detection */ + int add; + + if(!st) { + errno = EINVAL; + return -1; + } + + buf = (uint8_t *)MALLOC(sizeof(value)); + if(!buf) return -1; + + if(*(char *)&littleEndian) { + pstart = (uint8_t *)&value + sizeof(value) - 1; + pend1 = (uint8_t *)&value; + add = -1; + } else { + pstart = (uint8_t *)&value; + pend1 = pstart + sizeof(value) - 1; + add = 1; + } + + /* + * If the contents octet consists of more than one octet, + * then bits of the first octet and bit 8 of the second octet: + * a) shall not all be ones; and + * b) shall not all be zero. + */ + for(p = pstart; p != pend1; p += add) { + switch(*p) { + case 0x00: if((*(p+add) & 0x80) == 0) + continue; + break; + case 0xff: if((*(p+add) & 0x80)) + continue; + break; + } + break; + } + /* Copy the integer body */ + for(pstart = p, bp = buf, pend1 += add; p != pend1; p += add) + *bp++ = *p; + + if(st->buf) FREEMEM(st->buf); + st->buf = buf; + st->size = bp - buf; + + return 0; +} + +/* + * Parse the number in the given string until the given *end position, + * returning the position after the last parsed character back using the + * same (*end) pointer. + * WARNING: This behavior is different from the standard strtol/strtoimax(3). + */ +enum asn_strtox_result_e +asn_strtoimax_lim(const char *str, const char **end, intmax_t *intp) { + int sign = 1; + intmax_t value; + + const intmax_t asn1_intmax_max = ((~(uintmax_t)0) >> 1); + const intmax_t upper_boundary = asn1_intmax_max / 10; + intmax_t last_digit_max = asn1_intmax_max % 10; + + if(str >= *end) return ASN_STRTOX_ERROR_INVAL; + + switch(*str) { + case '-': + last_digit_max++; + sign = -1; + /* FALL THROUGH */ + case '+': + str++; + if(str >= *end) { + *end = str; + return ASN_STRTOX_EXPECT_MORE; + } + } + + for(value = 0; str < (*end); str++) { + if(*str >= 0x30 && *str <= 0x39) { + int d = *str - '0'; + if(value < upper_boundary) { + value = value * 10 + d; + } else if(value == upper_boundary) { + if(d <= last_digit_max) { + if(sign > 0) { + value = value * 10 + d; + } else { + sign = 1; + value = -value * 10 - d; + } + str += 1; + if(str < *end) { + // If digits continue, we're guaranteed out of range. + *end = str; + if(*str >= 0x30 && *str <= 0x39) { + return ASN_STRTOX_ERROR_RANGE; + } else { + *intp = sign * value; + return ASN_STRTOX_EXTRA_DATA; + } + } + break; + } else { + *end = str; + return ASN_STRTOX_ERROR_RANGE; + } + } else { + *end = str; + return ASN_STRTOX_ERROR_RANGE; + } + } else { + *end = str; + *intp = sign * value; + return ASN_STRTOX_EXTRA_DATA; + } + } + + *end = str; + *intp = sign * value; + return ASN_STRTOX_OK; +} + +/* + * Parse the number in the given string until the given *end position, + * returning the position after the last parsed character back using the + * same (*end) pointer. + * WARNING: This behavior is different from the standard strtoul/strtoumax(3). + */ +enum asn_strtox_result_e +asn_strtoumax_lim(const char *str, const char **end, uintmax_t *uintp) { + uintmax_t value; + + const uintmax_t asn1_uintmax_max = ((~(uintmax_t)0)); + const uintmax_t upper_boundary = asn1_uintmax_max / 10; + uintmax_t last_digit_max = asn1_uintmax_max % 10; + + if(str >= *end) return ASN_STRTOX_ERROR_INVAL; + + switch(*str) { + case '-': + return ASN_STRTOX_ERROR_INVAL; + case '+': + str++; + if(str >= *end) { + *end = str; + return ASN_STRTOX_EXPECT_MORE; + } + } + + for(value = 0; str < (*end); str++) { + if(*str >= 0x30 && *str <= 0x39) { + unsigned int d = *str - '0'; + if(value < upper_boundary) { + value = value * 10 + d; + } else if(value == upper_boundary) { + if(d <= last_digit_max) { + value = value * 10 + d; + str += 1; + if(str < *end) { + // If digits continue, we're guaranteed out of range. + *end = str; + if(*str >= 0x30 && *str <= 0x39) { + return ASN_STRTOX_ERROR_RANGE; + } else { + *uintp = value; + return ASN_STRTOX_EXTRA_DATA; + } + } + break; + } else { + *end = str; + return ASN_STRTOX_ERROR_RANGE; + } + } else { + *end = str; + return ASN_STRTOX_ERROR_RANGE; + } + } else { + *end = str; + *uintp = value; + return ASN_STRTOX_EXTRA_DATA; + } + } + + *end = str; + *uintp = value; + return ASN_STRTOX_OK; +} + +enum asn_strtox_result_e +asn_strtol_lim(const char *str, const char **end, long *lp) { + intmax_t value; + switch(asn_strtoimax_lim(str, end, &value)) { + case ASN_STRTOX_ERROR_RANGE: + return ASN_STRTOX_ERROR_RANGE; + case ASN_STRTOX_ERROR_INVAL: + return ASN_STRTOX_ERROR_INVAL; + case ASN_STRTOX_EXPECT_MORE: + return ASN_STRTOX_EXPECT_MORE; + case ASN_STRTOX_OK: + if(value >= LONG_MIN && value <= LONG_MAX) { + *lp = value; + return ASN_STRTOX_OK; + } else { + return ASN_STRTOX_ERROR_RANGE; + } + case ASN_STRTOX_EXTRA_DATA: + if(value >= LONG_MIN && value <= LONG_MAX) { + *lp = value; + return ASN_STRTOX_EXTRA_DATA; + } else { + return ASN_STRTOX_ERROR_RANGE; + } + } + + assert(!"Unreachable"); + return ASN_STRTOX_ERROR_INVAL; +} + +enum asn_strtox_result_e +asn_strtoul_lim(const char *str, const char **end, unsigned long *ulp) { + uintmax_t value; + switch(asn_strtoumax_lim(str, end, &value)) { + case ASN_STRTOX_ERROR_RANGE: + return ASN_STRTOX_ERROR_RANGE; + case ASN_STRTOX_ERROR_INVAL: + return ASN_STRTOX_ERROR_INVAL; + case ASN_STRTOX_EXPECT_MORE: + return ASN_STRTOX_EXPECT_MORE; + case ASN_STRTOX_OK: + if(value <= ULONG_MAX) { + *ulp = value; + return ASN_STRTOX_OK; + } else { + return ASN_STRTOX_ERROR_RANGE; + } + case ASN_STRTOX_EXTRA_DATA: + if(value <= ULONG_MAX) { + *ulp = value; + return ASN_STRTOX_EXTRA_DATA; + } else { + return ASN_STRTOX_ERROR_RANGE; + } + } + + assert(!"Unreachable"); + return ASN_STRTOX_ERROR_INVAL; +} + +int +INTEGER_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + const INTEGER_t *a = aptr; + const INTEGER_t *b = bptr; + + (void)td; + + if(a && b) { + if(a->size && b->size) { + int sign_a = (a->buf[0] & 0x80) ? -1 : 1; + int sign_b = (b->buf[0] & 0x80) ? -1 : 1; + + if(sign_a < sign_b) return -1; + if(sign_a > sign_b) return 1; + + /* The shortest integer wins, unless comparing negatives */ + if(a->size < b->size) { + return -1 * sign_a; + } else if(a->size > b->size) { + return 1 * sign_b; + } + + return sign_a * memcmp(a->buf, b->buf, a->size); + } else if(a->size) { + int sign = (a->buf[0] & 0x80) ? -1 : 1; + return (1) * sign; + } else if(b->size) { + int sign = (a->buf[0] & 0x80) ? -1 : 1; + return (-1) * sign; + } else { + return 0; + } + } else if(!a && !b) { + return 0; + } else if(!a) { + return -1; + } else { + return 1; + } + +} diff --git a/src/tmx/Asn_J2735/src/r2024/INTEGER.h b/src/tmx/Asn_J2735/src/r2024/INTEGER.h deleted file mode 100644 index 1666e0bce..000000000 --- a/src/tmx/Asn_J2735/src/r2024/INTEGER.h +++ /dev/null @@ -1,139 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _INTEGER_H_ -#define _INTEGER_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef ASN__PRIMITIVE_TYPE_t INTEGER_t; - -extern asn_TYPE_descriptor_t asn_DEF_INTEGER; -extern asn_TYPE_operation_t asn_OP_INTEGER; - -/* Map with to integer value association */ -typedef struct asn_INTEGER_enum_map_s { - long nat_value; /* associated native integer value */ - size_t enum_len; /* strlen("tag") */ - const char *enum_name; /* "tag" */ -} asn_INTEGER_enum_map_t; - -/* This type describes an enumeration for INTEGER and ENUMERATED types */ -typedef struct asn_INTEGER_specifics_s { - const asn_INTEGER_enum_map_t *value2enum; /* N -> "tag"; sorted by N */ - const unsigned int *enum2value; /* "tag" => N; sorted by tag */ - int map_count; /* Elements in either map */ - int extension; /* This map is extensible */ - int strict_enumeration; /* Enumeration set is fixed */ - int field_width; /* Size of native integer */ - int field_unsigned; /* Signed=0, unsigned=1 */ -} asn_INTEGER_specifics_t; - -ssize_t INTEGER__dump(const asn_TYPE_descriptor_t *td, - const INTEGER_t *st, - asn_app_consume_bytes_f *cb, - void *app_key, int plainOrXER); - -#define INTEGER_free ASN__PRIMITIVE_TYPE_free - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -asn_struct_print_f INTEGER_print; -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -asn_struct_compare_f INTEGER_compare; - -#define INTEGER_constraint asn_generic_no_constraint - -#if !defined(ASN_DISABLE_BER_SUPPORT) -#define INTEGER_decode_ber ber_decode_primitive -der_type_encoder_f INTEGER_encode_der; -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -xer_type_decoder_f INTEGER_decode_xer; -xer_type_encoder_f INTEGER_encode_xer; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f INTEGER_encode_jer; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -oer_type_decoder_f INTEGER_decode_oer; -oer_type_encoder_f INTEGER_encode_oer; -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -per_type_decoder_f INTEGER_decode_uper; -per_type_encoder_f INTEGER_encode_uper; -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -per_type_decoder_f INTEGER_decode_aper; -per_type_encoder_f INTEGER_encode_aper; -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -asn_random_fill_f INTEGER_random_fill; -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -/*********************************** - * Some handy conversion routines. * - ***********************************/ - -/* - * Natiwe size-independent conversion of native integers to/from INTEGER. - * (l_size) is in bytes. - * Returns 0 if it was possible to convert, -1 otherwise. - * -1/EINVAL: Mandatory argument missing - * -1/ERANGE: Value encoded is out of range for long representation - * -1/ENOMEM: Memory allocation failed (in asn_*2INTEGER()). - */ -int asn_INTEGER2imax(const INTEGER_t *i, intmax_t *l); -int asn_INTEGER2umax(const INTEGER_t *i, uintmax_t *l); -int asn_imax2INTEGER(INTEGER_t *i, intmax_t l); -int asn_umax2INTEGER(INTEGER_t *i, uintmax_t l); - -/* - * Size-specific conversion helpers. - */ -int asn_INTEGER2long(const INTEGER_t *i, long *l); -int asn_INTEGER2ulong(const INTEGER_t *i, unsigned long *l); -int asn_long2INTEGER(INTEGER_t *i, long l); -int asn_ulong2INTEGER(INTEGER_t *i, unsigned long l); -int asn_int642INTEGER(INTEGER_t *i, int64_t l); -int asn_uint642INTEGER(INTEGER_t *i, uint64_t l); - -/* A version of strtol/strtoimax(3) with nicer error reporting. */ -enum asn_strtox_result_e { - ASN_STRTOX_ERROR_RANGE = -3, /* Input outside of supported numeric range */ - ASN_STRTOX_ERROR_INVAL = -2, /* Invalid data encountered (e.g., "+-") */ - ASN_STRTOX_EXPECT_MORE = -1, /* More data expected (e.g. "+") */ - ASN_STRTOX_OK = 0, /* Conversion succeeded, number ends at (*end) */ - ASN_STRTOX_EXTRA_DATA = 1 /* Conversion succeeded, but the string has extra stuff */ -}; -enum asn_strtox_result_e asn_strtol_lim(const char *str, const char **end, - long *l); -enum asn_strtox_result_e asn_strtoul_lim(const char *str, const char **end, - unsigned long *l); -enum asn_strtox_result_e asn_strtoimax_lim(const char *str, const char **end, - intmax_t *l); -enum asn_strtox_result_e asn_strtoumax_lim(const char *str, const char **end, - uintmax_t *l); - -/* - * Convert the integer value into the corresponding enumeration map entry. - */ -const asn_INTEGER_enum_map_t *INTEGER_map_value2enum( - const asn_INTEGER_specifics_t *specs, long value); - -#ifdef __cplusplus -} -#endif - -#endif /* _INTEGER_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/INTEGER_aper.c b/src/tmx/Asn_J2735/src/r2024/INTEGER_aper.c new file mode 100644 index 000000000..fc88268ef --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/INTEGER_aper.c @@ -0,0 +1,308 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +INTEGER_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; + asn_dec_rval_t rval = { RC_OK, 0 }; + INTEGER_t *st = (INTEGER_t *)*sptr; + const asn_per_constraint_t *ct; + int repeat; + + (void)opt_codec_ctx; + + if(!st) { + st = (INTEGER_t *)(*sptr = CALLOC(1, sizeof(*st))); + if(!st) ASN__DECODE_FAILED; + } + + if(!constraints) constraints = td->encoding_constraints.per_constraints; + ct = constraints ? &constraints->value : 0; + + if(ct && ct->flags & APC_EXTENSIBLE) { + int inext = per_get_few_bits(pd, 1); + if(inext < 0) ASN__DECODE_STARVED; + if(inext) ct = 0; + } + + FREEMEM(st->buf); + st->buf = 0; + st->size = 0; + if(ct) { + if(ct->flags & APC_SEMI_CONSTRAINED) { + st->buf = (uint8_t *)CALLOC(1, 2); + if(!st->buf) ASN__DECODE_FAILED; + st->size = 1; + } else if(ct->flags & APC_CONSTRAINED && ct->range_bits >= 0) { + size_t size = (ct->range_bits + 7) >> 3; + st->buf = (uint8_t *)MALLOC(1 + size + 1); + if(!st->buf) ASN__DECODE_FAILED; + st->size = size; + } + } + + /* X.691, #12.2.2 */ + if(ct && ct->flags != APC_UNCONSTRAINED) { + /* #10.5.6 */ + ASN_DEBUG("Integer with range %d bits", ct->range_bits); + if(ct->range_bits >= 0) { + if (ct->range_bits > 16) { + int max_range_bytes = (ct->range_bits >> 3) + + (((ct->range_bits % 8) > 0) ? 1 : 0); + int length = 0, i; + long value = 0; + + for (i = 1; ; i++) { + int upper = 1 << i; + if (upper >= max_range_bytes) + break; + } + ASN_DEBUG("Can encode %d (%d bytes) in %d bits", ct->range_bits, + max_range_bytes, i); + + if ((length = per_get_few_bits(pd, i)) < 0) + ASN__DECODE_FAILED; + + /* X.691 #12.2.6 length determinant + lb (1) */ + length += 1; + ASN_DEBUG("Got length %d", length); + if (aper_get_align(pd) != 0) + ASN__DECODE_FAILED; + while (length--) { + int buf = per_get_few_bits(pd, 8); + if (buf < 0) + ASN__DECODE_FAILED; + value += (((long)buf) << (8 * length)); + } + + value += ct->lower_bound; + if((specs && specs->field_unsigned) + ? asn_uint642INTEGER(st, (unsigned long)value) + : asn_int642INTEGER(st, value)) + ASN__DECODE_FAILED; + ASN_DEBUG("Got value %ld + low %lld", + value, (long long int)ct->lower_bound); + } else { + long value = 0; + if (ct->range_bits < 8) { + value = per_get_few_bits(pd, ct->range_bits); + if(value < 0) ASN__DECODE_STARVED; + } else if (ct->range_bits == 8) { + if (aper_get_align(pd) < 0) + ASN__DECODE_FAILED; + value = per_get_few_bits(pd, ct->range_bits); + if(value < 0) ASN__DECODE_STARVED; + } else { + /* Align */ + if (aper_get_align(pd) < 0) + ASN__DECODE_FAILED; + value = per_get_few_bits(pd, 16); + if(value < 0) ASN__DECODE_STARVED; + } + value += ct->lower_bound; + if((specs && specs->field_unsigned) + ? asn_ulong2INTEGER(st, value) + : asn_long2INTEGER(st, value)) + ASN__DECODE_FAILED; + ASN_DEBUG("Got value %ld + low %lld", + value, (long long int)ct->lower_bound); + } + return rval; + } else { + ASN__DECODE_FAILED; + } + } else { + ASN_DEBUG("Decoding unconstrained integer %s", td->name); + } + + /* X.691, #12.2.3, #12.2.4 */ + do { + ssize_t len; + void *p; + int ret; + + /* Get the PER length */ + len = aper_get_length(pd, -1, -1, -1, &repeat); + if(len < 0) ASN__DECODE_STARVED; + + p = REALLOC(st->buf, st->size + len + 1); + if(!p) ASN__DECODE_FAILED; + st->buf = (uint8_t *)p; + + ret = per_get_many_bits(pd, &st->buf[st->size], 0, 8 * len); + if(ret < 0) ASN__DECODE_STARVED; + st->size += len; + } while(repeat); + st->buf[st->size] = 0; /* JIC */ + + /* #12.2.3 */ + if(ct && ct->lower_bound) { + /* + * TODO: replace by in-place arithmetics. + */ + long value; + if(asn_INTEGER2long(st, &value)) + ASN__DECODE_FAILED; + if(asn_long2INTEGER(st, value + ct->lower_bound)) + ASN__DECODE_FAILED; + } + + return rval; +} + +asn_enc_rval_t +INTEGER_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + const INTEGER_t *st = (const INTEGER_t *)sptr; + const uint8_t *buf; + const uint8_t *end; + const asn_per_constraint_t *ct; + long value = 0; + + if(!st || st->size == 0) ASN__ENCODE_FAILED; + + if(!constraints) constraints = td->encoding_constraints.per_constraints; + ct = constraints ? &constraints->value : 0; + + er.encoded = 0; + + if(ct) { + int inext = 0; + if(specs && specs->field_unsigned) { + unsigned long uval; + if(asn_INTEGER2ulong(st, &uval)) + ASN__ENCODE_FAILED; + /* Check proper range */ + if(ct->flags & APC_SEMI_CONSTRAINED) { + if(uval < (unsigned long)ct->lower_bound) + inext = 1; + } else if(ct->range_bits >= 0) { + if(uval < (unsigned long)ct->lower_bound + || uval > (unsigned long)ct->upper_bound) + inext = 1; + } + ASN_DEBUG("Value %lu (%02x/%zu) lb %lld ub %lld %s", + uval, st->buf[0], st->size, + (long long int)ct->lower_bound, + (long long int)ct->upper_bound, + inext ? "ext" : "fix"); + value = uval; + } else { + if(asn_INTEGER2long(st, &value)) ASN__ENCODE_FAILED; + /* Check proper range */ + if(ct->flags & APC_SEMI_CONSTRAINED) { + if(value < ct->lower_bound) + inext = 1; + } else if(ct->range_bits >= 0) { + if(value < ct->lower_bound + || value > ct->upper_bound) + inext = 1; + } + ASN_DEBUG("Value %lu (%02x/%zu) lb %lld ub %lld %s", + value, st->buf[0], st->size, + (long long int)ct->lower_bound, + (long long int)ct->upper_bound, + inext ? "ext" : "fix"); + } + if(ct->flags & APC_EXTENSIBLE) { + if(per_put_few_bits(po, inext, 1)) + ASN__ENCODE_FAILED; + if(inext) ct = 0; + } else if(inext) { + ASN__ENCODE_FAILED; + } + } + + /* X.691, #12.2.2 */ + if(ct && ct->range_bits >= 0) { + unsigned long v; + + /* #10.5.6 */ + ASN_DEBUG("Encoding integer %ld (%lld) with range %d bits", + value, (long long int)(value - ct->lower_bound), + ct->range_bits); + + v = value - ct->lower_bound; + + /* #12 <= 8 -> alignment ? */ + int range = ct->upper_bound - ct->lower_bound + 1; + if (ct->range_bits < 8 || (ct->range_bits == 8 && range < 256)) { + if(per_put_few_bits(po, 0x00 | v, ct->range_bits)) + ASN__ENCODE_FAILED; + } else if (ct->range_bits == 8) { + if(aper_put_align(po) < 0) + ASN__ENCODE_FAILED; + if(per_put_few_bits(po, 0x00 | v, ct->range_bits)) + ASN__ENCODE_FAILED; + } else if (ct->range_bits <= 16) { + /* Consume the bytes to align on octet */ + if(aper_put_align(po) < 0) + ASN__ENCODE_FAILED; + if(per_put_few_bits(po, 0x0000 | v, 16)) + ASN__ENCODE_FAILED; + } else { + /* TODO: extend to >64 bits */ + int64_t v64 = v; + int i, j; + int max_range_bytes = (ct->range_bits >> 3) + + (((ct->range_bits % 8) > 0) ? 1 : 0); + + for (i = 1; ; i++) { + int upper = 1 << i; + if (upper >= max_range_bytes) + break; + } + + for (j = sizeof(int64_t) -1; j != 0; j--) { + int64_t val; + val = v64 >> (j * 8); + if (val != 0) + break; + } + + /* Putting length in the minimum number of bits ex: 5 = 3bits */ + if (per_put_few_bits(po, j, i)) + ASN__ENCODE_FAILED; + + /* Consume the bits to align on octet */ + if (aper_put_align(po) < 0) + ASN__ENCODE_FAILED; + /* Put the value */ + for (i = 0; i <= j; i++) { + if(per_put_few_bits(po, (v64 >> (8 * (j - i))) & 0xff, 8)) + ASN__ENCODE_FAILED; + } + } + ASN__ENCODED_OK(er); + } + + if(ct && ct->lower_bound) { + ASN_DEBUG("Adjust lower bound to %lld", (long long int)ct->lower_bound); + /* TODO: adjust lower bound */ + ASN__ENCODE_FAILED; + } + + for(buf = st->buf, end = st->buf + st->size; buf < end;) { + int need_eom = 0; + ssize_t mayEncode = aper_put_length(po, -1, -1, end - buf, &need_eom); + if(mayEncode < 0) + ASN__ENCODE_FAILED; + if(per_put_many_bits(po, buf, 8 * mayEncode)) + ASN__ENCODE_FAILED; + buf += mayEncode; + if(need_eom && (aper_put_length(po, -1, -1, 0, NULL) < 0)) + ASN__ENCODE_FAILED; + } + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/INTEGER_ber.c b/src/tmx/Asn_J2735/src/r2024/INTEGER_ber.c new file mode 100644 index 000000000..8bd039eef --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/INTEGER_ber.c @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * Encode INTEGER type using DER. + */ +asn_enc_rval_t +INTEGER_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, + void *app_key) { + const INTEGER_t *st = (const INTEGER_t *)sptr; + asn_enc_rval_t rval; + INTEGER_t effective_integer; + + ASN_DEBUG("%s %s as INTEGER (tm=%d)", + cb?"Encoding":"Estimating", td->name, tag_mode); + + /* + * Canonicalize integer in the buffer. + * (Remove too long sign extension, remove some first 0x00 bytes) + */ + if(st->buf) { + uint8_t *buf = st->buf; + uint8_t *end1 = buf + st->size - 1; + int shift; + + /* Compute the number of superfluous leading bytes */ + for(; buf < end1; buf++) { + /* + * If the contents octets of an integer value encoding + * consist of more than one octet, then the bits of the + * first octet and bit 8 of the second octet: + * a) shall not all be ones; and + * b) shall not all be zero. + */ + switch(*buf) { + case 0x00: if((buf[1] & 0x80) == 0) + continue; + break; + case 0xff: if((buf[1] & 0x80)) + continue; + break; + } + break; + } + + /* Remove leading superfluous bytes from the integer */ + shift = buf - st->buf; + if(shift) { + union { + const uint8_t *c_buf; + uint8_t *nc_buf; + } unconst; + unconst.c_buf = st->buf; + effective_integer.buf = unconst.nc_buf + shift; + effective_integer.size = st->size - shift; + + st = &effective_integer; + } + } + + rval = der_encode_primitive(td, st, tag_mode, tag, cb, app_key); + if(rval.structure_ptr == &effective_integer) { + rval.structure_ptr = sptr; + } + return rval; +} diff --git a/src/tmx/Asn_J2735/src/r2024/INTEGER_oer.c b/src/tmx/Asn_J2735/src/r2024/INTEGER_oer.c new file mode 100644 index 000000000..19f276d54 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/INTEGER_oer.c @@ -0,0 +1,174 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +INTEGER_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, void **sptr, + const void *ptr, size_t size) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_dec_rval_t rval = {RC_OK, 0}; + INTEGER_t *st = (INTEGER_t *)*sptr; + struct asn_oer_constraint_number_s ct = {0, 0}; + size_t req_bytes; + + (void)opt_codec_ctx; + (void)specs; + + if(!st) { + st = (INTEGER_t *)(*sptr = CALLOC(1, sizeof(*st))); + if(!st) ASN__DECODE_FAILED; + } + + FREEMEM(st->buf); + st->buf = 0; + st->size = 0; + + if(!constraints) constraints = td->encoding_constraints.oer_constraints; + if(constraints) ct = constraints->value; + + if(ct.width) { + req_bytes = ct.width; + } else { + /* No lower bound and no upper bound, effectively */ + + ssize_t consumed = oer_fetch_length(ptr, size, &req_bytes); + if(consumed == 0) { + ASN__DECODE_STARVED; + } else if(consumed == -1) { + ASN__DECODE_FAILED; + } + rval.consumed += consumed; + ptr = (const char *)ptr + consumed; + size -= consumed; + } + + if(req_bytes > size) { + ASN__DECODE_STARVED; + } + + if(ct.positive) { + /* X.969 08/2015 10.2(a) */ + unsigned msb; /* Most significant bit */ + size_t useful_size; + + /* Check most significant bit */ + msb = *(const uint8_t *)ptr >> 7; /* yields 0 or 1 */ + useful_size = msb + req_bytes; + st->buf = (uint8_t *)MALLOC(useful_size + 1); + if(!st->buf) { + ASN__DECODE_FAILED; + } + + /* + * Record a large unsigned in a way not to confuse it + * with signed value. + */ + st->buf[0] = '\0'; + memcpy(st->buf + msb, ptr, req_bytes); + st->buf[useful_size] = '\0'; /* Just in case, 0-terminate */ + st->size = useful_size; + + rval.consumed += req_bytes; + return rval; + } else { + /* X.969 08/2015 10.2(b) */ + st->buf = (uint8_t *)MALLOC(req_bytes + 1); + if(!st->buf) { + ASN__DECODE_FAILED; + } + + memcpy(st->buf, ptr, req_bytes); + st->buf[req_bytes] = '\0'; /* Just in case, 0-terminate */ + st->size = req_bytes; + + rval.consumed += req_bytes; + return rval; + } +} + +/* + * Encode as Canonical OER. + */ +asn_enc_rval_t +INTEGER_encode_oer(const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, const void *sptr, + asn_app_consume_bytes_f *cb, void *app_key) { + const INTEGER_t *st = sptr; + asn_enc_rval_t er = {0,0,0}; + struct asn_oer_constraint_number_s ct = {0, 0}; + const uint8_t *buf; + const uint8_t *end; + size_t useful_bytes; + size_t req_bytes = 0; + int sign = 0; + + if(!st || st->size == 0) ASN__ENCODE_FAILED; + + if(!constraints) constraints = td->encoding_constraints.oer_constraints; + if(constraints) ct = constraints->value; + + er.encoded = 0; + + buf = st->buf; + end = buf + st->size; + + sign = (buf && buf < end) ? buf[0] & 0x80 : 0; + + /* Ignore 9 leading zeroes or ones */ + if(ct.positive) { + if(sign) { + /* The value given is a signed value. Can't proceed. */ + ASN__ENCODE_FAILED; + } + /* Remove leading zeros. */ + for(; buf + 1 < end; buf++) { + if(buf[0] != 0x0) break; + } + } else { + for(; buf + 1 < end; buf++) { + if(buf[0] == 0x0 && (buf[1] & 0x80) == 0) { + continue; + } else if(buf[0] == 0xff && (buf[1] & 0x80) != 0) { + continue; + } + break; + } + } + + useful_bytes = end - buf; + if(ct.width) { + req_bytes = ct.width; + } else { + ssize_t r = oer_serialize_length(useful_bytes, cb, app_key); + if(r < 0) { + ASN__ENCODE_FAILED; + } + er.encoded += r; + req_bytes = useful_bytes; + } + + if(req_bytes < useful_bytes) { + ASN__ENCODE_FAILED; + } + + er.encoded += req_bytes; + + for(; req_bytes > useful_bytes; req_bytes--) { + if(cb(sign?"\xff":"\0", 1, app_key) < 0) { + ASN__ENCODE_FAILED; + } + } + + if(cb(buf, useful_bytes, app_key) < 0) { + ASN__ENCODE_FAILED; + } + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/INTEGER_print.c b/src/tmx/Asn_J2735/src/r2024/INTEGER_print.c new file mode 100644 index 000000000..2d37dee01 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/INTEGER_print.c @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * INTEGER specific human-readable output. + */ +int +INTEGER_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + asn_app_consume_bytes_f *cb, void *app_key) { + const INTEGER_t *st = (const INTEGER_t *)sptr; + ssize_t ret; + + (void)ilevel; + + if(!st || !st->buf) + ret = cb("", 8, app_key); + else + ret = INTEGER__dump(td, st, cb, app_key, 0); + + return (ret < 0) ? -1 : 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/INTEGER_rfill.c b/src/tmx/Asn_J2735/src/r2024/INTEGER_rfill.c new file mode 100644 index 000000000..fab002385 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/INTEGER_rfill.c @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_random_fill_result_t +INTEGER_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + INTEGER_t *st = *sptr; + const asn_INTEGER_enum_map_t *emap; + size_t emap_len; + intmax_t value; + int find_inside_map; + + if(max_length == 0) return result_skipped; + + if(st == NULL) { + st = (INTEGER_t *)CALLOC(1, sizeof(*st)); + if(st == NULL) { + return result_failed; + } + } + + if(specs) { + emap = specs->value2enum; + emap_len = specs->map_count; + if(specs->strict_enumeration) { + find_inside_map = emap_len > 0; + } else { + find_inside_map = emap_len ? asn_random_between(0, 1) : 0; + } + } else { + emap = 0; + emap_len = 0; + find_inside_map = 0; + } + + if(find_inside_map) { + assert(emap_len > 0); + value = emap[asn_random_between(0, emap_len - 1)].nat_value; + } else { + static const long variants[] = { + -65536, -65535, -65534, -32769, -32768, -32767, -16385, -16384, + -16383, -257, -256, -255, -254, -129, -128, -127, + -126, -1, 0, 1, 126, 127, 128, 129, + 254, 255, 256, 257, 16383, 16384, 16385, 32767, + 32768, 32769, 65534, 65535, 65536, 65537}; + if(specs && specs->field_unsigned) { + assert(variants[18] == 0); + value = variants[asn_random_between( + 18, sizeof(variants) / sizeof(variants[0]) - 1)]; + } else { + value = variants[asn_random_between( + 0, sizeof(variants) / sizeof(variants[0]) - 1)]; + } + + if(!constraints) constraints = &td->encoding_constraints; +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + const asn_per_constraints_t *ct; + + ct = constraints ? constraints->per_constraints : 0; + if(ct && (ct->value.flags & APC_CONSTRAINED)) { + if(value < ct->value.lower_bound || value > ct->value.upper_bound) { + value = asn_random_between(ct->value.lower_bound, + ct->value.upper_bound); + } + } +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + } + + if(asn_imax2INTEGER(st, value)) { + if(st == *sptr) { + ASN_STRUCT_RESET(*td, st); + } else { + ASN_STRUCT_FREE(*td, st); + } + return result_failed; + } else { + *sptr = st; + result_ok.length = st->size; + return result_ok; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/INTEGER_uper.c b/src/tmx/Asn_J2735/src/r2024/INTEGER_uper.c new file mode 100644 index 000000000..ed65385fe --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/INTEGER_uper.c @@ -0,0 +1,236 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +INTEGER_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_dec_rval_t rval = { RC_OK, 0 }; + INTEGER_t *st = (INTEGER_t *)*sptr; + const asn_per_constraint_t *ct; + int repeat; + + (void)opt_codec_ctx; + + if(!st) { + st = (INTEGER_t *)(*sptr = CALLOC(1, sizeof(*st))); + if(!st) ASN__DECODE_FAILED; + } + + if(!constraints) constraints = td->encoding_constraints.per_constraints; + ct = constraints ? &constraints->value : 0; + + if(ct && ct->flags & APC_EXTENSIBLE) { + int inext = per_get_few_bits(pd, 1); + if(inext < 0) ASN__DECODE_STARVED; + if(inext) ct = 0; + } + + FREEMEM(st->buf); + st->buf = 0; + st->size = 0; + if(ct) { + if(ct->flags & APC_SEMI_CONSTRAINED) { + st->buf = (uint8_t *)CALLOC(1, 2); + if(!st->buf) ASN__DECODE_FAILED; + st->size = 1; + } else if(ct->flags & APC_CONSTRAINED && ct->range_bits >= 0) { + size_t size = (ct->range_bits + 7) >> 3; + st->buf = (uint8_t *)MALLOC(1 + size + 1); + if(!st->buf) ASN__DECODE_FAILED; + st->size = size; + } + } + + /* X.691-2008/11, #13.2.2, constrained whole number */ + if(ct && ct->flags != APC_UNCONSTRAINED) { + /* #11.5.6 */ + ASN_DEBUG("Integer with range %d bits", ct->range_bits); + if(ct->range_bits >= 0) { + if((size_t)ct->range_bits > 8 * sizeof(uintmax_t)) + ASN__DECODE_FAILED; + + if(specs && specs->field_unsigned) { + uintmax_t uvalue = 0; + if(uper_get_constrained_whole_number(pd, + &uvalue, ct->range_bits)) + ASN__DECODE_STARVED; + ASN_DEBUG("Got value %lu + low %ld", + uvalue, ct->lower_bound); + uvalue += ct->lower_bound; + if(asn_umax2INTEGER(st, uvalue)) + ASN__DECODE_FAILED; + } else { + uintmax_t uvalue = 0; + intmax_t svalue; + if(uper_get_constrained_whole_number(pd, + &uvalue, ct->range_bits)) + ASN__DECODE_STARVED; + ASN_DEBUG("Got value %lu + low %ld", + uvalue, ct->lower_bound); + if(per_imax_range_unrebase(uvalue, ct->lower_bound, + ct->upper_bound, &svalue) + || asn_imax2INTEGER(st, svalue)) { + ASN__DECODE_FAILED; + } + } + return rval; + } + } else { + ASN_DEBUG("Decoding unconstrained integer %s", td->name); + } + + /* X.691, #12.2.3, #12.2.4 */ + do { + ssize_t len = 0; + void *p = NULL; + int ret = 0; + + /* Get the PER length */ + len = uper_get_length(pd, -1, 0, &repeat); + if(len < 0) ASN__DECODE_STARVED; + + p = REALLOC(st->buf, st->size + len + 1); + if(!p) ASN__DECODE_FAILED; + st->buf = (uint8_t *)p; + + ret = per_get_many_bits(pd, &st->buf[st->size], 0, 8 * len); + if(ret < 0) ASN__DECODE_STARVED; + st->size += len; + } while(repeat); + st->buf[st->size] = 0; /* JIC */ + + /* #12.2.3 */ + if(ct && ct->lower_bound) { + /* + * TODO: replace by in-place arithmetic. + */ + long value = 0; + if(asn_INTEGER2long(st, &value)) + ASN__DECODE_FAILED; + if(asn_imax2INTEGER(st, value + ct->lower_bound)) + ASN__DECODE_FAILED; + } + + return rval; +} + +asn_enc_rval_t +INTEGER_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + const INTEGER_t *st = (const INTEGER_t *)sptr; + const uint8_t *buf; + const uint8_t *end; + const asn_per_constraint_t *ct; + union { + intmax_t s; + uintmax_t u; + } value; + + if(!st || st->size == 0) ASN__ENCODE_FAILED; + + if(!constraints) constraints = td->encoding_constraints.per_constraints; + ct = constraints ? &constraints->value : 0; + + er.encoded = 0; + + if(ct) { + int inext = 0; + if(specs && specs->field_unsigned) { + if(asn_INTEGER2umax(st, &value.u)) + ASN__ENCODE_FAILED; + /* Check proper range */ + if(ct->flags & APC_SEMI_CONSTRAINED) { + if(value.u < (uintmax_t)ct->lower_bound) + inext = 1; + } else if(ct->range_bits >= 0) { + if(value.u < (uintmax_t)ct->lower_bound + || value.u > (uintmax_t)ct->upper_bound) + inext = 1; + } + ASN_DEBUG("Value %lu (%02x/%" ASN_PRI_SIZE ") lb %lu ub %lu %s", + value.u, st->buf[0], st->size, + ct->lower_bound, ct->upper_bound, + inext ? "ext" : "fix"); + } else { + if(asn_INTEGER2imax(st, &value.s)) + ASN__ENCODE_FAILED; + /* Check proper range */ + if(ct->flags & APC_SEMI_CONSTRAINED) { + if(value.s < ct->lower_bound) + inext = 1; + } else if(ct->range_bits >= 0) { + if(value.s < ct->lower_bound + || value.s > ct->upper_bound) + inext = 1; + } + ASN_DEBUG("Value %ld (%02x/%" ASN_PRI_SIZE ") lb %ld ub %ld %s", + value.s, st->buf[0], st->size, + ct->lower_bound, ct->upper_bound, + inext ? "ext" : "fix"); + } + if(ct->flags & APC_EXTENSIBLE) { + if(per_put_few_bits(po, inext, 1)) + ASN__ENCODE_FAILED; + if(inext) ct = 0; + } else if(inext) { + ASN__ENCODE_FAILED; + } + } + + /* X.691-11/2008, #13.2.2, test if constrained whole number */ + if(ct && ct->range_bits >= 0) { + uintmax_t v; + /* #11.5.6 -> #11.3 */ + if(specs && specs->field_unsigned) { + if(((uintmax_t)ct->lower_bound > (uintmax_t)(ct->upper_bound) + || (value.u < (uintmax_t)ct->lower_bound)) + || (value.u > (uintmax_t)ct->upper_bound)) { + ASN_DEBUG("Value %lu to-be-encoded is outside the bounds [%lu, %lu]!", + value.u, ct->lower_bound, ct->upper_bound); + ASN__ENCODE_FAILED; + } + v = value.u - (uintmax_t)ct->lower_bound; + } else { + if(per_imax_range_rebase(value.s, ct->lower_bound, ct->upper_bound, &v)) { + ASN__ENCODE_FAILED; + } + } + ASN_DEBUG("Encoding integer %lu with range %d bits", + v, ct->range_bits); + if(uper_put_constrained_whole_number_u(po, v, ct->range_bits)) + ASN__ENCODE_FAILED; + ASN__ENCODED_OK(er); + } + + if(ct && ct->lower_bound) { + ASN_DEBUG("Adjust lower bound to %ld", ct->lower_bound); + /* TODO: adjust lower bound */ + ASN__ENCODE_FAILED; + } + + for(buf = st->buf, end = st->buf + st->size; buf < end;) { + int need_eom = 0; + ssize_t mayEncode = uper_put_length(po, end - buf, &need_eom); + if(mayEncode < 0) + ASN__ENCODE_FAILED; + if(per_put_many_bits(po, buf, 8 * mayEncode)) + ASN__ENCODE_FAILED; + buf += mayEncode; + if(need_eom && uper_put_length(po, 0, 0)) ASN__ENCODE_FAILED; + } + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/INTEGER_xer.c b/src/tmx/Asn_J2735/src/r2024/INTEGER_xer.c new file mode 100644 index 000000000..4f21c86a9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/INTEGER_xer.c @@ -0,0 +1,351 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +struct e2v_key { + const char *start; + const char *stop; + const asn_INTEGER_enum_map_t *vemap; + const unsigned int *evmap; +}; +static int +INTEGER__compar_enum2value(const void *kp, const void *am) { + const struct e2v_key *key = (const struct e2v_key *)kp; + const asn_INTEGER_enum_map_t *el = (const asn_INTEGER_enum_map_t *)am; + const char *ptr, *end, *name; + + /* Remap the element (sort by different criterion) */ + el = key->vemap + key->evmap[el - key->vemap]; + + /* Compare strings */ + for(ptr = key->start, end = key->stop, name = el->enum_name; + ptr < end; ptr++, name++) { + if(*ptr != *name || !*name) + return *(const unsigned char *)ptr - *(const unsigned char *)name; + } + return name[0] ? -1 : 0; +} + +static const asn_INTEGER_enum_map_t * +INTEGER_map_enum2value(const asn_INTEGER_specifics_t *specs, const char *lstart, + const char *lstop) { + const asn_INTEGER_enum_map_t *el_found; + int count = specs ? specs->map_count : 0; + struct e2v_key key; + const char *lp; + + if(!count) return NULL; + + /* Guaranteed: assert(lstart < lstop); */ + /* Figure out the tag name */ + for(lstart++, lp = lstart; lp < lstop; lp++) { + switch(*lp) { + case 9: case 10: case 11: case 12: case 13: case 32: /* WSP */ + case 0x2f: /* '/' */ case 0x3e: /* '>' */ + break; + default: + continue; + } + break; + } + if(lp == lstop) return NULL; /* No tag found */ + lstop = lp; + + key.start = lstart; + key.stop = lstop; + key.vemap = specs->value2enum; + key.evmap = specs->enum2value; + el_found = (asn_INTEGER_enum_map_t *)bsearch(&key, + specs->value2enum, count, sizeof(specs->value2enum[0]), + INTEGER__compar_enum2value); + if(el_found) { + /* Remap enum2value into value2enum */ + el_found = key.vemap + key.evmap[el_found - key.vemap]; + } + return el_found; +} + +static int +INTEGER_st_prealloc(INTEGER_t *st, int min_size) { + void *p = MALLOC(min_size + 1); + if(p) { + void *b = st->buf; + st->size = 0; + st->buf = p; + FREEMEM(b); + return 0; + } else { + return -1; + } +} + +/* + * Decode the chunk of XML text encoding INTEGER. + */ +static enum xer_pbd_rval +INTEGER__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, + const void *chunk_buf, size_t chunk_size) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + INTEGER_t *st = (INTEGER_t *)sptr; + intmax_t dec_value; + intmax_t hex_value = 0; + const char *lp; + const char *lstart = (const char *)chunk_buf; + const char *lstop = lstart + chunk_size; + enum { + ST_LEADSPACE, + ST_SKIPSPHEX, + ST_WAITDIGITS, + ST_DIGITS, + ST_DIGITS_TRAILSPACE, + ST_HEXDIGIT1, + ST_HEXDIGIT2, + ST_HEXDIGITS_TRAILSPACE, + ST_HEXCOLON, + ST_END_ENUM, + ST_UNEXPECTED + } state = ST_LEADSPACE; + const char *dec_value_start = 0; /* INVARIANT: always !0 in ST_DIGITS */ + const char *dec_value_end = 0; + + if(chunk_size) + ASN_DEBUG("INTEGER body %ld 0x%2x..0x%2x", + (long)chunk_size, *lstart, lstop[-1]); + + if(INTEGER_st_prealloc(st, (chunk_size/3) + 1)) + return XPBD_SYSTEM_FAILURE; + + /* + * We may have received a tag here. It will be processed inline. + * Use strtoul()-like code and serialize the result. + */ + for(lp = lstart; lp < lstop; lp++) { + int lv = *lp; + switch(lv) { + case 0x09: case 0x0a: case 0x0d: case 0x20: + switch(state) { + case ST_LEADSPACE: + case ST_DIGITS_TRAILSPACE: + case ST_HEXDIGITS_TRAILSPACE: + case ST_SKIPSPHEX: + continue; + case ST_DIGITS: + dec_value_end = lp; + state = ST_DIGITS_TRAILSPACE; + continue; + case ST_HEXCOLON: + state = ST_HEXDIGITS_TRAILSPACE; + continue; + default: + break; + } + break; + case 0x2d: /* '-' */ + if(state == ST_LEADSPACE) { + dec_value = 0; + dec_value_start = lp; + state = ST_WAITDIGITS; + continue; + } + break; + case 0x2b: /* '+' */ + if(state == ST_LEADSPACE) { + dec_value = 0; + dec_value_start = lp; + state = ST_WAITDIGITS; + continue; + } + break; + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: + case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: + switch(state) { + case ST_DIGITS: continue; + case ST_SKIPSPHEX: /* Fall through */ + case ST_HEXDIGIT1: + hex_value = (lv - 0x30) << 4; + state = ST_HEXDIGIT2; + continue; + case ST_HEXDIGIT2: + hex_value += (lv - 0x30); + state = ST_HEXCOLON; + st->buf[st->size++] = (uint8_t)hex_value; + continue; + case ST_HEXCOLON: + return XPBD_BROKEN_ENCODING; + case ST_LEADSPACE: + dec_value = 0; + dec_value_start = lp; + /* FALL THROUGH */ + case ST_WAITDIGITS: + state = ST_DIGITS; + continue; + default: + break; + } + break; + case 0x3c: /* '<', start of XML encoded enumeration */ + if(state == ST_LEADSPACE) { + const asn_INTEGER_enum_map_t *el; + el = INTEGER_map_enum2value( + (const asn_INTEGER_specifics_t *) + td->specifics, lstart, lstop); + if(el) { + ASN_DEBUG("Found \"%s\" => %ld", + el->enum_name, el->nat_value); + dec_value = el->nat_value; + state = ST_END_ENUM; + lp = lstop - 1; + continue; + } + ASN_DEBUG("Unknown identifier for INTEGER"); + } + return XPBD_BROKEN_ENCODING; + case 0x3a: /* ':' */ + if(state == ST_HEXCOLON) { + /* This colon is expected */ + state = ST_HEXDIGIT1; + continue; + } else if(state == ST_DIGITS) { + /* The colon here means that we have + * decoded the first two hexadecimal + * places as a decimal value. + * Switch decoding mode. */ + ASN_DEBUG("INTEGER re-evaluate as hex form"); + state = ST_SKIPSPHEX; + dec_value_start = 0; + lp = lstart - 1; + continue; + } else { + ASN_DEBUG("state %d at %ld", state, (long)(lp - lstart)); + break; + } + /* [A-Fa-f] */ + case 0x41:case 0x42:case 0x43:case 0x44:case 0x45:case 0x46: + case 0x61:case 0x62:case 0x63:case 0x64:case 0x65:case 0x66: + switch(state) { + case ST_SKIPSPHEX: + case ST_LEADSPACE: /* Fall through */ + case ST_HEXDIGIT1: + hex_value = lv - ((lv < 0x61) ? 0x41 : 0x61); + hex_value += 10; + hex_value <<= 4; + state = ST_HEXDIGIT2; + continue; + case ST_HEXDIGIT2: + hex_value += lv - ((lv < 0x61) ? 0x41 : 0x61); + hex_value += 10; + st->buf[st->size++] = (uint8_t)hex_value; + state = ST_HEXCOLON; + continue; + case ST_DIGITS: + ASN_DEBUG("INTEGER re-evaluate as hex form"); + state = ST_SKIPSPHEX; + dec_value_start = 0; + lp = lstart - 1; + continue; + default: + break; + } + break; + } + + /* Found extra non-numeric stuff */ + ASN_DEBUG("INTEGER :: Found non-numeric 0x%2x at %ld", + lv, (long)(lp - lstart)); + state = ST_UNEXPECTED; + break; + } + + switch(state) { + case ST_END_ENUM: + /* Got a complete and valid enumeration encoded as a tag. */ + break; + case ST_DIGITS: + dec_value_end = lstop; + /* FALL THROUGH */ + case ST_DIGITS_TRAILSPACE: + /* The last symbol encountered was a digit. */ + switch(asn_strtoimax_lim(dec_value_start, &dec_value_end, &dec_value)) { + case ASN_STRTOX_OK: + if(specs && specs->field_unsigned && (uintmax_t) dec_value <= ULONG_MAX) { + break; + } else if(dec_value >= LONG_MIN && dec_value <= LONG_MAX) { + break; + } else { + /* + * We model INTEGER on long for XER, + * to avoid rewriting all the tests at once. + */ + ASN_DEBUG("INTEGER exceeds long range"); + } + /* Fall through */ + case ASN_STRTOX_ERROR_RANGE: + ASN_DEBUG("INTEGER decode %s hit range limit", td->name); + return XPBD_DECODER_LIMIT; + case ASN_STRTOX_ERROR_INVAL: + case ASN_STRTOX_EXPECT_MORE: + case ASN_STRTOX_EXTRA_DATA: + return XPBD_BROKEN_ENCODING; + } + break; + case ST_HEXCOLON: + case ST_HEXDIGITS_TRAILSPACE: + st->buf[st->size] = 0; /* Just in case termination */ + return XPBD_BODY_CONSUMED; + case ST_HEXDIGIT1: + case ST_HEXDIGIT2: + case ST_SKIPSPHEX: + return XPBD_BROKEN_ENCODING; + case ST_LEADSPACE: + /* Content not found */ + return XPBD_NOT_BODY_IGNORE; + case ST_WAITDIGITS: + case ST_UNEXPECTED: + ASN_DEBUG("INTEGER: No useful digits (state %d)", state); + return XPBD_BROKEN_ENCODING; /* No digits */ + } + + /* + * Convert the result of parsing of enumeration or a straight + * decimal value into a BER representation. + */ + if(asn_imax2INTEGER(st, dec_value)) { + ASN_DEBUG("INTEGER decode %s conversion failed", td->name); + return XPBD_SYSTEM_FAILURE; + } + + return XPBD_BODY_CONSUMED; +} + +asn_dec_rval_t +INTEGER_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, size_t size) { + return xer_decode_primitive(opt_codec_ctx, td, + sptr, sizeof(INTEGER_t), opt_mname, + buf_ptr, size, INTEGER__xer_body_decode); +} + +asn_enc_rval_t +INTEGER_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const INTEGER_t *st = (const INTEGER_t *)sptr; + asn_enc_rval_t er = {0,0,0}; + + (void)ilevel; + (void)flags; + + if(!st || !st->buf) + ASN__ENCODE_FAILED; + + er.encoded = INTEGER__dump(td, st, cb, app_key, 1); + if(er.encoded < 0) ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/ITISEventType.c b/src/tmx/Asn_J2735/src/r2024/ITISEventType.c new file mode 100644 index 000000000..692b70d56 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ITISEventType.c @@ -0,0 +1,741 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ITISEventType.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ITISEventType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_ITISEventType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 37 } /* (0..37) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_ITISEventType_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.trafficConditions), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrafficConditions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trafficConditions" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.accidentsAndIncidents), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AccidentsAndIncidents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accidentsAndIncidents" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.closures), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Closures, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "closures" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.roadwork), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Roadwork, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadwork" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.obstruction), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Obstruction, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "obstruction" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.delayStatusCancellation), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DelayStatusCancellation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "delayStatusCancellation" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.unusualDriving), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UnusualDriving, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "unusualDriving" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.mobileSituation), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MobileSituation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mobileSituation" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.deviceStatus), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DeviceStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deviceStatus" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.restrictionClass), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RestrictionClass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "restrictionClass" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.incidentResponseStatus), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IncidentResponseStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "incidentResponseStatus" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.disasters), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Disasters, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "disasters" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.disturbances), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Disturbances, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "disturbances" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.sportingEvents), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SportingEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sportingEvents" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.specialEvents), + (ASN_TAG_CLASS_CONTEXT | (14 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpecialEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "specialEvents" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.parkingInformation), + (ASN_TAG_CLASS_CONTEXT | (15 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ParkingInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "parkingInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.systemInformation), + (ASN_TAG_CLASS_CONTEXT | (16 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SystemInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "systemInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.weatherConditions), + (ASN_TAG_CLASS_CONTEXT | (17 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WeatherConditions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "weatherConditions" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.precipitation), + (ASN_TAG_CLASS_CONTEXT | (18 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Precipitation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "precipitation" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.winds), + (ASN_TAG_CLASS_CONTEXT | (19 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Winds, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "winds" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.visibilityAndAirQuality), + (ASN_TAG_CLASS_CONTEXT | (20 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VisibilityAndAirQuality, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "visibilityAndAirQuality" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.temperature), + (ASN_TAG_CLASS_CONTEXT | (21 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Temperature, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "temperature" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.pavementConditions), + (ASN_TAG_CLASS_CONTEXT | (22 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PavementConditions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pavementConditions" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.winterDrivingRestrictions), + (ASN_TAG_CLASS_CONTEXT | (23 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WinterDrivingRestrictions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "winterDrivingRestrictions" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.winterDrivingIndex), + (ASN_TAG_CLASS_CONTEXT | (24 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WinterDrivingIndex, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "winterDrivingIndex" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.suggestionAdvice), + (ASN_TAG_CLASS_CONTEXT | (25 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SuggestionAdvice, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "suggestionAdvice" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.warningAdvice), + (ASN_TAG_CLASS_CONTEXT | (26 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WarningAdvice, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "warningAdvice" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.adviceInstructionsRecommendations), + (ASN_TAG_CLASS_CONTEXT | (27 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AdviceInstructionsRecommendations, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "adviceInstructionsRecommendations" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.adviceInstructionsMandatory), + (ASN_TAG_CLASS_CONTEXT | (28 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AdviceInstructionsMandatory, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "adviceInstructionsMandatory" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.laneRoadway), + (ASN_TAG_CLASS_CONTEXT | (29 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneRoadway, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneRoadway" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.alternateRoute), + (ASN_TAG_CLASS_CONTEXT | (30 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AlternateRoute, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "alternateRoute" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.transitMode), + (ASN_TAG_CLASS_CONTEXT | (31 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TransitMode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transitMode" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.vehicleGroupAffected), + (ASN_TAG_CLASS_CONTEXT | (32 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_J2540ITIS_VehicleGroupAffected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleGroupAffected" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.travelerGroupAffected), + (ASN_TAG_CLASS_CONTEXT | (33 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TravelerGroupAffected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "travelerGroupAffected" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.responderGroupAffected), + (ASN_TAG_CLASS_CONTEXT | (34 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_J2540ITIS_ResponderGroupAffected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "responderGroupAffected" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.incidentResponseEquipment), + (ASN_TAG_CLASS_CONTEXT | (35 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_J2540ITIS_IncidentResponseEquipment, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "incidentResponseEquipment" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.transitOperations), + (ASN_TAG_CLASS_CONTEXT | (36 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TransitOperations, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transitOperations" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITISEventType, choice.regulatorySigns), + (ASN_TAG_CLASS_CONTEXT | (37 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegulatoryAndWarningSigns, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regulatorySigns" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_ITISEventType_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* trafficConditions */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* accidentsAndIncidents */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* closures */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* roadwork */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* obstruction */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* delayStatusCancellation */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* unusualDriving */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* mobileSituation */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* deviceStatus */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* restrictionClass */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* incidentResponseStatus */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* disasters */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* disturbances */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* sportingEvents */ + { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* specialEvents */ + { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* parkingInformation */ + { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* systemInformation */ + { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 }, /* weatherConditions */ + { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 18, 0, 0 }, /* precipitation */ + { (ASN_TAG_CLASS_CONTEXT | (19 << 2)), 19, 0, 0 }, /* winds */ + { (ASN_TAG_CLASS_CONTEXT | (20 << 2)), 20, 0, 0 }, /* visibilityAndAirQuality */ + { (ASN_TAG_CLASS_CONTEXT | (21 << 2)), 21, 0, 0 }, /* temperature */ + { (ASN_TAG_CLASS_CONTEXT | (22 << 2)), 22, 0, 0 }, /* pavementConditions */ + { (ASN_TAG_CLASS_CONTEXT | (23 << 2)), 23, 0, 0 }, /* winterDrivingRestrictions */ + { (ASN_TAG_CLASS_CONTEXT | (24 << 2)), 24, 0, 0 }, /* winterDrivingIndex */ + { (ASN_TAG_CLASS_CONTEXT | (25 << 2)), 25, 0, 0 }, /* suggestionAdvice */ + { (ASN_TAG_CLASS_CONTEXT | (26 << 2)), 26, 0, 0 }, /* warningAdvice */ + { (ASN_TAG_CLASS_CONTEXT | (27 << 2)), 27, 0, 0 }, /* adviceInstructionsRecommendations */ + { (ASN_TAG_CLASS_CONTEXT | (28 << 2)), 28, 0, 0 }, /* adviceInstructionsMandatory */ + { (ASN_TAG_CLASS_CONTEXT | (29 << 2)), 29, 0, 0 }, /* laneRoadway */ + { (ASN_TAG_CLASS_CONTEXT | (30 << 2)), 30, 0, 0 }, /* alternateRoute */ + { (ASN_TAG_CLASS_CONTEXT | (31 << 2)), 31, 0, 0 }, /* transitMode */ + { (ASN_TAG_CLASS_CONTEXT | (32 << 2)), 32, 0, 0 }, /* vehicleGroupAffected */ + { (ASN_TAG_CLASS_CONTEXT | (33 << 2)), 33, 0, 0 }, /* travelerGroupAffected */ + { (ASN_TAG_CLASS_CONTEXT | (34 << 2)), 34, 0, 0 }, /* responderGroupAffected */ + { (ASN_TAG_CLASS_CONTEXT | (35 << 2)), 35, 0, 0 }, /* incidentResponseEquipment */ + { (ASN_TAG_CLASS_CONTEXT | (36 << 2)), 36, 0, 0 }, /* transitOperations */ + { (ASN_TAG_CLASS_CONTEXT | (37 << 2)), 37, 0, 0 } /* regulatorySigns */ +}; +static asn_CHOICE_specifics_t asn_SPC_ITISEventType_specs_1 = { + sizeof(struct ITISEventType), + offsetof(struct ITISEventType, _asn_ctx), + offsetof(struct ITISEventType, present), + sizeof(((struct ITISEventType *)0)->present), + asn_MAP_ITISEventType_tag2el_1, + 38, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_ITISEventType = { + "ITISEventType", + "ITISEventType", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ITISEventType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ITISEventType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_ITISEventType_1, + 38, /* Elements count */ + &asn_SPC_ITISEventType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ITISEventType.h b/src/tmx/Asn_J2735/src/r2024/ITISEventType.h deleted file mode 100644 index b4b3186b3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ITISEventType.h +++ /dev/null @@ -1,158 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ITISEventType_H_ -#define _ITISEventType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TrafficConditions.h" -#include "AccidentsAndIncidents.h" -#include "Closures.h" -#include "Roadwork.h" -#include "Obstruction.h" -#include "DelayStatusCancellation.h" -#include "UnusualDriving.h" -#include "MobileSituation.h" -#include "DeviceStatus.h" -#include "RestrictionClass.h" -#include "IncidentResponseStatus.h" -#include "Disasters.h" -#include "Disturbances.h" -#include "SportingEvents.h" -#include "SpecialEvents.h" -#include "ParkingInformation.h" -#include "SystemInformation.h" -#include "WeatherConditions.h" -#include "Precipitation.h" -#include "Winds.h" -#include "VisibilityAndAirQuality.h" -#include "Temperature.h" -#include "PavementConditions.h" -#include "WinterDrivingRestrictions.h" -#include "WinterDrivingIndex.h" -#include "SuggestionAdvice.h" -#include "WarningAdvice.h" -#include "AdviceInstructionsRecommendations.h" -#include "AdviceInstructionsMandatory.h" -#include "LaneRoadway.h" -#include "AlternateRoute.h" -#include "TransitMode.h" -#include "J2540ITIS_VehicleGroupAffected.h" -#include "TravelerGroupAffected.h" -#include "J2540ITIS_ResponderGroupAffected.h" -#include "J2540ITIS_IncidentResponseEquipment.h" -#include "TransitOperations.h" -#include "RegulatoryAndWarningSigns.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ITISEventType_PR { - ITISEventType_PR_NOTHING, /* No components present */ - ITISEventType_PR_trafficConditions, - ITISEventType_PR_accidentsAndIncidents, - ITISEventType_PR_closures, - ITISEventType_PR_roadwork, - ITISEventType_PR_obstruction, - ITISEventType_PR_delayStatusCancellation, - ITISEventType_PR_unusualDriving, - ITISEventType_PR_mobileSituation, - ITISEventType_PR_deviceStatus, - ITISEventType_PR_restrictionClass, - ITISEventType_PR_incidentResponseStatus, - ITISEventType_PR_disasters, - ITISEventType_PR_disturbances, - ITISEventType_PR_sportingEvents, - ITISEventType_PR_specialEvents, - ITISEventType_PR_parkingInformation, - ITISEventType_PR_systemInformation, - ITISEventType_PR_weatherConditions, - ITISEventType_PR_precipitation, - ITISEventType_PR_winds, - ITISEventType_PR_visibilityAndAirQuality, - ITISEventType_PR_temperature, - ITISEventType_PR_pavementConditions, - ITISEventType_PR_winterDrivingRestrictions, - ITISEventType_PR_winterDrivingIndex, - ITISEventType_PR_suggestionAdvice, - ITISEventType_PR_warningAdvice, - ITISEventType_PR_adviceInstructionsRecommendations, - ITISEventType_PR_adviceInstructionsMandatory, - ITISEventType_PR_laneRoadway, - ITISEventType_PR_alternateRoute, - ITISEventType_PR_transitMode, - ITISEventType_PR_vehicleGroupAffected, - ITISEventType_PR_travelerGroupAffected, - ITISEventType_PR_responderGroupAffected, - ITISEventType_PR_incidentResponseEquipment, - ITISEventType_PR_transitOperations, - ITISEventType_PR_regulatorySigns -} ITISEventType_PR; - -/* ITISEventType */ -typedef struct ITISEventType { - ITISEventType_PR present; - union ITISEventType_u { - TrafficConditions_t trafficConditions; - AccidentsAndIncidents_t accidentsAndIncidents; - Closures_t closures; - Roadwork_t roadwork; - Obstruction_t obstruction; - DelayStatusCancellation_t delayStatusCancellation; - UnusualDriving_t unusualDriving; - MobileSituation_t mobileSituation; - DeviceStatus_t deviceStatus; - RestrictionClass_t restrictionClass; - IncidentResponseStatus_t incidentResponseStatus; - Disasters_t disasters; - Disturbances_t disturbances; - SportingEvents_t sportingEvents; - SpecialEvents_t specialEvents; - ParkingInformation_t parkingInformation; - SystemInformation_t systemInformation; - WeatherConditions_t weatherConditions; - Precipitation_t precipitation; - Winds_t winds; - VisibilityAndAirQuality_t visibilityAndAirQuality; - Temperature_t temperature; - PavementConditions_t pavementConditions; - WinterDrivingRestrictions_t winterDrivingRestrictions; - WinterDrivingIndex_t winterDrivingIndex; - SuggestionAdvice_t suggestionAdvice; - WarningAdvice_t warningAdvice; - AdviceInstructionsRecommendations_t adviceInstructionsRecommendations; - AdviceInstructionsMandatory_t adviceInstructionsMandatory; - LaneRoadway_t laneRoadway; - AlternateRoute_t alternateRoute; - TransitMode_t transitMode; - J2540ITIS_VehicleGroupAffected_t vehicleGroupAffected; - TravelerGroupAffected_t travelerGroupAffected; - J2540ITIS_ResponderGroupAffected_t responderGroupAffected; - J2540ITIS_IncidentResponseEquipment_t incidentResponseEquipment; - TransitOperations_t transitOperations; - RegulatoryAndWarningSigns_t regulatorySigns; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ITISEventType_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ITISEventType; - -#ifdef __cplusplus -} -#endif - -#endif /* _ITISEventType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ITIS_GenericLocations.c b/src/tmx/Asn_J2735/src/r2024/ITIS_GenericLocations.c new file mode 100644 index 000000000..10258ddc3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ITIS_GenericLocations.c @@ -0,0 +1,258 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ITIS" + * found in "J2735-ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ITIS_GenericLocations.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ITIS_GenericLocations_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ITIS_GenericLocations_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 0, 95 } /* (0..95,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_ITIS_GenericLocations_value2enum_1[] = { + { 7937, 10, "on-bridges" }, + { 7938, 10, "in-tunnels" }, + { 7939, 27, "entering-or-leaving-tunnels" }, + { 7940, 8, "on-ramps" }, + { 7941, 25, "in-road-construction-area" }, + { 7942, 14, "around-a-curve" }, + { 7943, 14, "on-minor-roads" }, + { 7944, 21, "in-the-opposing-lanes" }, + { 7945, 19, "adjacent-to-roadway" }, + { 7946, 7, "on-bend" }, + { 7947, 19, "entire-intersection" }, + { 7948, 13, "in-the-median" }, + { 7949, 21, "moved-to-side-of-road" }, + { 7950, 17, "moved-to-shoulder" }, + { 7951, 14, "on-the-roadway" }, + { 7952, 15, "in-shaded-areas" }, + { 7953, 18, "in-low-lying-areas" }, + { 7954, 20, "in-the-downtown-area" }, + { 7955, 22, "in-the-inner-city-area" }, + { 7956, 8, "in-parts" }, + { 7957, 14, "in-some-places" }, + { 7958, 12, "in-the-ditch" }, + { 7959, 13, "in-the-valley" }, + { 7960, 11, "on-hill-top" }, + { 7961, 18, "near-the-foothills" }, + { 7962, 17, "at-high-altitudes" }, + { 7963, 13, "near-the-lake" }, + { 7964, 14, "near-the-shore" }, + { 7965, 24, "over-the-crest-of-a-hill" }, + { 7966, 25, "other-than-on-the-roadway" }, + { 7967, 14, "near-the-beach" }, + { 7968, 23, "near-beach-access-point" }, + { 7969, 11, "lower-level" }, + { 7970, 11, "upper-level" }, + { 7971, 7, "airport" }, + { 7972, 9, "concourse" }, + { 7973, 4, "gate" }, + { 7974, 13, "baggage-claim" }, + { 7975, 13, "customs-point" }, + { 7976, 7, "station" }, + { 7977, 8, "platform" }, + { 7978, 4, "dock" }, + { 7979, 5, "depot" }, + { 7980, 17, "ev-charging-point" }, + { 7981, 25, "information-welcome-point" }, + { 7982, 12, "at-rest-area" }, + { 7983, 15, "at-service-area" }, + { 7984, 16, "at-weigh-station" }, + { 7985, 12, "picnic-areas" }, + { 7986, 9, "rest-area" }, + { 7987, 16, "service-stations" }, + { 7988, 7, "toilets" }, + { 7989, 12, "on-the-right" }, + { 7990, 11, "on-the-left" }, + { 7991, 13, "in-the-center" }, + { 7992, 25, "in-the-opposite-direction" }, + { 7993, 13, "cross-traffic" }, + { 7994, 18, "northbound-traffic" }, + { 7995, 17, "eastbound-traffic" }, + { 7996, 18, "southbound-traffic" }, + { 7997, 17, "westbound-traffic" }, + { 7998, 5, "north" }, + { 7999, 5, "south" }, + { 8000, 4, "east" }, + { 8001, 4, "west" }, + { 8002, 9, "northeast" }, + { 8003, 9, "northwest" }, + { 8004, 9, "southeast" }, + { 8005, 9, "southwest" }, + { 8006, 13, "mountain-pass" }, + { 8007, 18, "reservation-center" }, + { 8008, 12, "nearby-basin" }, + { 8009, 9, "on-tracks" }, + { 8010, 3, "dip" }, + { 8011, 14, "traffic-circle" }, + { 8012, 17, "park-and-ride-lot" }, + { 8014, 2, "to" }, + { 8015, 2, "by" }, + { 8016, 7, "through" }, + { 8017, 7, "area-of" }, + { 8018, 5, "under" }, + { 8019, 4, "over" }, + { 8020, 4, "from" }, + { 8021, 11, "approaching" }, + { 8022, 11, "entering-at" }, + { 8023, 10, "exiting-at" }, + { 8024, 13, "across-tracks" }, + { 8025, 9, "in-street" }, + { 8026, 8, "on-curve" }, + { 8027, 8, "shoulder" }, + { 8028, 9, "crossover" }, + { 8029, 10, "cross-road" }, + { 8030, 9, "side-road" }, + { 8031, 8, "bus-stop" }, + { 8032, 12, "intersection" }, + { 8033, 13, "roadside-park" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ITIS_GenericLocations_enum2value_1[] = { + 86, /* across-tracks(8024) */ + 8, /* adjacent-to-roadway(7945) */ + 34, /* airport(7971) */ + 83, /* approaching(8021) */ + 79, /* area-of(8017) */ + 5, /* around-a-curve(7942) */ + 25, /* at-high-altitudes(7962) */ + 45, /* at-rest-area(7982) */ + 46, /* at-service-area(7983) */ + 47, /* at-weigh-station(7984) */ + 37, /* baggage-claim(7974) */ + 93, /* bus-stop(8031) */ + 77, /* by(8015) */ + 35, /* concourse(7972) */ + 91, /* cross-road(8029) */ + 56, /* cross-traffic(7993) */ + 90, /* crossover(8028) */ + 38, /* customs-point(7975) */ + 42, /* depot(7979) */ + 73, /* dip(8010) */ + 41, /* dock(7978) */ + 63, /* east(8000) */ + 58, /* eastbound-traffic(7995) */ + 84, /* entering-at(8022) */ + 2, /* entering-or-leaving-tunnels(7939) */ + 10, /* entire-intersection(7947) */ + 43, /* ev-charging-point(7980) */ + 85, /* exiting-at(8023) */ + 82, /* from(8020) */ + 36, /* gate(7973) */ + 16, /* in-low-lying-areas(7953) */ + 19, /* in-parts(7956) */ + 4, /* in-road-construction-area(7941) */ + 15, /* in-shaded-areas(7952) */ + 20, /* in-some-places(7957) */ + 87, /* in-street(8025) */ + 54, /* in-the-center(7991) */ + 21, /* in-the-ditch(7958) */ + 17, /* in-the-downtown-area(7954) */ + 18, /* in-the-inner-city-area(7955) */ + 11, /* in-the-median(7948) */ + 7, /* in-the-opposing-lanes(7944) */ + 55, /* in-the-opposite-direction(7992) */ + 22, /* in-the-valley(7959) */ + 1, /* in-tunnels(7938) */ + 44, /* information-welcome-point(7981) */ + 94, /* intersection(8032) */ + 32, /* lower-level(7969) */ + 69, /* mountain-pass(8006) */ + 13, /* moved-to-shoulder(7950) */ + 12, /* moved-to-side-of-road(7949) */ + 31, /* near-beach-access-point(7968) */ + 30, /* near-the-beach(7967) */ + 24, /* near-the-foothills(7961) */ + 26, /* near-the-lake(7963) */ + 27, /* near-the-shore(7964) */ + 71, /* nearby-basin(8008) */ + 61, /* north(7998) */ + 57, /* northbound-traffic(7994) */ + 65, /* northeast(8002) */ + 66, /* northwest(8003) */ + 9, /* on-bend(7946) */ + 0, /* on-bridges(7937) */ + 88, /* on-curve(8026) */ + 23, /* on-hill-top(7960) */ + 6, /* on-minor-roads(7943) */ + 3, /* on-ramps(7940) */ + 53, /* on-the-left(7990) */ + 52, /* on-the-right(7989) */ + 14, /* on-the-roadway(7951) */ + 72, /* on-tracks(8009) */ + 29, /* other-than-on-the-roadway(7966) */ + 81, /* over(8019) */ + 28, /* over-the-crest-of-a-hill(7965) */ + 75, /* park-and-ride-lot(8012) */ + 48, /* picnic-areas(7985) */ + 40, /* platform(7977) */ + 70, /* reservation-center(8007) */ + 49, /* rest-area(7986) */ + 95, /* roadside-park(8033) */ + 50, /* service-stations(7987) */ + 89, /* shoulder(8027) */ + 92, /* side-road(8030) */ + 62, /* south(7999) */ + 59, /* southbound-traffic(7996) */ + 67, /* southeast(8004) */ + 68, /* southwest(8005) */ + 39, /* station(7976) */ + 78, /* through(8016) */ + 76, /* to(8014) */ + 51, /* toilets(7988) */ + 74, /* traffic-circle(8011) */ + 80, /* under(8018) */ + 33, /* upper-level(7970) */ + 64, /* west(8001) */ + 60 /* westbound-traffic(7997) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_ITIS_GenericLocations_specs_1 = { + asn_MAP_ITIS_GenericLocations_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ITIS_GenericLocations_enum2value_1, /* N => "tag"; sorted by N */ + 96, /* Number of elements in the maps */ + 97, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ITIS_GenericLocations_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ITIS_GenericLocations = { + "GenericLocations", + "GenericLocations", + &asn_OP_NativeEnumerated, + asn_DEF_ITIS_GenericLocations_tags_1, + sizeof(asn_DEF_ITIS_GenericLocations_tags_1) + /sizeof(asn_DEF_ITIS_GenericLocations_tags_1[0]), /* 1 */ + asn_DEF_ITIS_GenericLocations_tags_1, /* Same as above */ + sizeof(asn_DEF_ITIS_GenericLocations_tags_1) + /sizeof(asn_DEF_ITIS_GenericLocations_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ITIS_GenericLocations_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ITIS_GenericLocations_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ITIS_GenericLocations_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ITIS_GenericLocations.h b/src/tmx/Asn_J2735/src/r2024/ITIS_GenericLocations.h deleted file mode 100644 index 3d0541d0e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ITIS_GenericLocations.h +++ /dev/null @@ -1,150 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ITIS" - * found in "J2735-ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ITIS_GenericLocations_H_ -#define _ITIS_GenericLocations_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ITIS_GenericLocations { - ITIS_GenericLocations_on_bridges = 7937, - ITIS_GenericLocations_in_tunnels = 7938, - ITIS_GenericLocations_entering_or_leaving_tunnels = 7939, - ITIS_GenericLocations_on_ramps = 7940, - ITIS_GenericLocations_in_road_construction_area = 7941, - ITIS_GenericLocations_around_a_curve = 7942, - ITIS_GenericLocations_on_curve = 8026, - ITIS_GenericLocations_on_tracks = 8009, - ITIS_GenericLocations_in_street = 8025, - ITIS_GenericLocations_shoulder = 8027, - ITIS_GenericLocations_on_minor_roads = 7943, - ITIS_GenericLocations_in_the_opposing_lanes = 7944, - ITIS_GenericLocations_adjacent_to_roadway = 7945, - ITIS_GenericLocations_across_tracks = 8024, - ITIS_GenericLocations_on_bend = 7946, - ITIS_GenericLocations_intersection = 8032, - ITIS_GenericLocations_entire_intersection = 7947, - ITIS_GenericLocations_in_the_median = 7948, - ITIS_GenericLocations_moved_to_side_of_road = 7949, - ITIS_GenericLocations_moved_to_shoulder = 7950, - ITIS_GenericLocations_on_the_roadway = 7951, - ITIS_GenericLocations_dip = 8010, - ITIS_GenericLocations_traffic_circle = 8011, - ITIS_GenericLocations_crossover = 8028, - ITIS_GenericLocations_cross_road = 8029, - ITIS_GenericLocations_side_road = 8030, - ITIS_GenericLocations_to = 8014, - ITIS_GenericLocations_by = 8015, - ITIS_GenericLocations_through = 8016, - ITIS_GenericLocations_area_of = 8017, - ITIS_GenericLocations_under = 8018, - ITIS_GenericLocations_over = 8019, - ITIS_GenericLocations_from = 8020, - ITIS_GenericLocations_approaching = 8021, - ITIS_GenericLocations_entering_at = 8022, - ITIS_GenericLocations_exiting_at = 8023, - ITIS_GenericLocations_in_shaded_areas = 7952, - ITIS_GenericLocations_in_low_lying_areas = 7953, - ITIS_GenericLocations_in_the_downtown_area = 7954, - ITIS_GenericLocations_in_the_inner_city_area = 7955, - ITIS_GenericLocations_in_parts = 7956, - ITIS_GenericLocations_in_some_places = 7957, - ITIS_GenericLocations_in_the_ditch = 7958, - ITIS_GenericLocations_in_the_valley = 7959, - ITIS_GenericLocations_on_hill_top = 7960, - ITIS_GenericLocations_near_the_foothills = 7961, - ITIS_GenericLocations_at_high_altitudes = 7962, - ITIS_GenericLocations_near_the_lake = 7963, - ITIS_GenericLocations_near_the_shore = 7964, - ITIS_GenericLocations_nearby_basin = 8008, - ITIS_GenericLocations_over_the_crest_of_a_hill = 7965, - ITIS_GenericLocations_other_than_on_the_roadway = 7966, - ITIS_GenericLocations_near_the_beach = 7967, - ITIS_GenericLocations_near_beach_access_point = 7968, - ITIS_GenericLocations_mountain_pass = 8006, - ITIS_GenericLocations_lower_level = 7969, - ITIS_GenericLocations_upper_level = 7970, - ITIS_GenericLocations_airport = 7971, - ITIS_GenericLocations_concourse = 7972, - ITIS_GenericLocations_gate = 7973, - ITIS_GenericLocations_baggage_claim = 7974, - ITIS_GenericLocations_customs_point = 7975, - ITIS_GenericLocations_reservation_center = 8007, - ITIS_GenericLocations_station = 7976, - ITIS_GenericLocations_platform = 7977, - ITIS_GenericLocations_dock = 7978, - ITIS_GenericLocations_depot = 7979, - ITIS_GenericLocations_ev_charging_point = 7980, - ITIS_GenericLocations_information_welcome_point = 7981, - ITIS_GenericLocations_at_rest_area = 7982, - ITIS_GenericLocations_at_service_area = 7983, - ITIS_GenericLocations_at_weigh_station = 7984, - ITIS_GenericLocations_roadside_park = 8033, - ITIS_GenericLocations_picnic_areas = 7985, - ITIS_GenericLocations_rest_area = 7986, - ITIS_GenericLocations_service_stations = 7987, - ITIS_GenericLocations_toilets = 7988, - ITIS_GenericLocations_bus_stop = 8031, - ITIS_GenericLocations_park_and_ride_lot = 8012, - ITIS_GenericLocations_on_the_right = 7989, - ITIS_GenericLocations_on_the_left = 7990, - ITIS_GenericLocations_in_the_center = 7991, - ITIS_GenericLocations_in_the_opposite_direction = 7992, - ITIS_GenericLocations_cross_traffic = 7993, - ITIS_GenericLocations_northbound_traffic = 7994, - ITIS_GenericLocations_eastbound_traffic = 7995, - ITIS_GenericLocations_southbound_traffic = 7996, - ITIS_GenericLocations_westbound_traffic = 7997, - ITIS_GenericLocations_north = 7998, - ITIS_GenericLocations_south = 7999, - ITIS_GenericLocations_east = 8000, - ITIS_GenericLocations_west = 8001, - ITIS_GenericLocations_northeast = 8002, - ITIS_GenericLocations_northwest = 8003, - ITIS_GenericLocations_southeast = 8004, - ITIS_GenericLocations_southwest = 8005 - /* - * Enumeration is extensible - */ -} e_ITIS_GenericLocations; - -/* ITIS_GenericLocations */ -typedef long ITIS_GenericLocations_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ITIS_GenericLocations_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ITIS_GenericLocations; -extern const asn_INTEGER_specifics_t asn_SPC_ITIS_GenericLocations_specs_1; -asn_struct_free_f ITIS_GenericLocations_free; -asn_struct_print_f ITIS_GenericLocations_print; -asn_constr_check_f ITIS_GenericLocations_constraint; -ber_type_decoder_f ITIS_GenericLocations_decode_ber; -der_type_encoder_f ITIS_GenericLocations_encode_der; -xer_type_decoder_f ITIS_GenericLocations_decode_xer; -xer_type_encoder_f ITIS_GenericLocations_encode_xer; -oer_type_decoder_f ITIS_GenericLocations_decode_oer; -oer_type_encoder_f ITIS_GenericLocations_encode_oer; -per_type_decoder_f ITIS_GenericLocations_decode_uper; -per_type_encoder_f ITIS_GenericLocations_encode_uper; -per_type_decoder_f ITIS_GenericLocations_decode_aper; -per_type_encoder_f ITIS_GenericLocations_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ITIS_GenericLocations_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodes.c b/src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodes.c new file mode 100644 index 000000000..caaa6e6ac --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodes.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ITIS" + * found in "J2735-ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ITIS_ITIScodes.h" + +int +ITIS_ITIScodes_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ITIS_ITIScodes_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ITIS_ITIScodes_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ITIS_ITIScodes_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ITIS_ITIScodes = { + "ITIScodes", + "ITIScodes", + &asn_OP_NativeInteger, + asn_DEF_ITIS_ITIScodes_tags_1, + sizeof(asn_DEF_ITIS_ITIScodes_tags_1) + /sizeof(asn_DEF_ITIS_ITIScodes_tags_1[0]), /* 1 */ + asn_DEF_ITIS_ITIScodes_tags_1, /* Same as above */ + sizeof(asn_DEF_ITIS_ITIScodes_tags_1) + /sizeof(asn_DEF_ITIS_ITIScodes_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ITIS_ITIScodes_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ITIS_ITIScodes_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ITIS_ITIScodes_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodes.h b/src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodes.h deleted file mode 100644 index 54c7748de..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodes.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ITIS" - * found in "J2735-ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ITIS_ITIScodes_H_ -#define _ITIS_ITIScodes_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ITIS_ITIScodes */ -typedef long ITIS_ITIScodes_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ITIS_ITIScodes_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ITIS_ITIScodes; -asn_struct_free_f ITIS_ITIScodes_free; -asn_struct_print_f ITIS_ITIScodes_print; -asn_constr_check_f ITIS_ITIScodes_constraint; -ber_type_decoder_f ITIS_ITIScodes_decode_ber; -der_type_encoder_f ITIS_ITIScodes_encode_der; -xer_type_decoder_f ITIS_ITIScodes_decode_xer; -xer_type_encoder_f ITIS_ITIScodes_encode_xer; -oer_type_decoder_f ITIS_ITIScodes_decode_oer; -oer_type_encoder_f ITIS_ITIScodes_encode_oer; -per_type_decoder_f ITIS_ITIScodes_decode_uper; -per_type_encoder_f ITIS_ITIScodes_encode_uper; -per_type_decoder_f ITIS_ITIScodes_decode_aper; -per_type_encoder_f ITIS_ITIScodes_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ITIS_ITIScodes_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodesAndText.c b/src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodesAndText.c new file mode 100644 index 000000000..329b75b11 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodesAndText.c @@ -0,0 +1,215 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ITIS" + * found in "J2735-ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ITIS_ITIScodesAndText.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_item_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_item_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ITIS_ITIScodesAndText_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..100)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ITIS_ITIScodesAndText_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 7, 7, 1, 100 } /* (SIZE(1..100)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_item_3[] = { + { ATF_NOFLAGS, 0, offsetof(struct ITIS_ITIScodesAndText__Member__item, choice.itis), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ITIScodes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "itis" + }, + { ATF_NOFLAGS, 0, offsetof(struct ITIS_ITIScodesAndText__Member__item, choice.text), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ITIStext, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "text" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_item_tag2el_3[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* itis */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* text */ +}; +static asn_CHOICE_specifics_t asn_SPC_item_specs_3 = { + sizeof(struct ITIS_ITIScodesAndText__Member__item), + offsetof(struct ITIS_ITIScodesAndText__Member__item, _asn_ctx), + offsetof(struct ITIS_ITIScodesAndText__Member__item, present), + sizeof(((struct ITIS_ITIScodesAndText__Member__item *)0)->present), + asn_MAP_item_tag2el_3, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_item_3 = { + "item", + "item", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_item_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_item_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_item_3, + 2, /* Elements count */ + &asn_SPC_item_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct ITIS_ITIScodesAndText__Member, item), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_item_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "item" + }, +}; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* item */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct ITIS_ITIScodesAndText__Member), + offsetof(struct ITIS_ITIScodesAndText__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Member_2, + 1, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ITIS_ITIScodesAndText_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ITIS_ITIScodesAndText_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ITIS_ITIScodesAndText_specs_1 = { + sizeof(struct ITIS_ITIScodesAndText), + offsetof(struct ITIS_ITIScodesAndText, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ITIS_ITIScodesAndText = { + "ITIScodesAndText", + "ITIScodesAndText", + &asn_OP_SEQUENCE_OF, + asn_DEF_ITIS_ITIScodesAndText_tags_1, + sizeof(asn_DEF_ITIS_ITIScodesAndText_tags_1) + /sizeof(asn_DEF_ITIS_ITIScodesAndText_tags_1[0]), /* 1 */ + asn_DEF_ITIS_ITIScodesAndText_tags_1, /* Same as above */ + sizeof(asn_DEF_ITIS_ITIScodesAndText_tags_1) + /sizeof(asn_DEF_ITIS_ITIScodesAndText_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ITIS_ITIScodesAndText_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ITIS_ITIScodesAndText_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_ITIS_ITIScodesAndText_1, + 1, /* Single element */ + &asn_SPC_ITIS_ITIScodesAndText_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodesAndText.h b/src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodesAndText.h deleted file mode 100644 index b9e89d1c1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ITIS_ITIScodesAndText.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ITIS" - * found in "J2735-ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ITIS_ITIScodesAndText_H_ -#define _ITIS_ITIScodesAndText_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "ITIS_ITIScodes.h" -#include "ITIS_ITIStext.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ITIS_ITIScodesAndText__Member__item_PR { - ITIS_ITIScodesAndText__Member__item_PR_NOTHING, /* No components present */ - ITIS_ITIScodesAndText__Member__item_PR_itis, - ITIS_ITIScodesAndText__Member__item_PR_text -} ITIS_ITIScodesAndText__Member__item_PR; - -/* Forward definitions */ -typedef struct ITIS_ITIScodesAndText__Member { - struct ITIS_ITIScodesAndText__Member__item { - ITIS_ITIScodesAndText__Member__item_PR present; - union ITIS_ITIScodesAndText__Member__item_u { - ITIS_ITIScodes_t itis; - ITIS_ITIStext_t text; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } item; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ITIS_ITIScodesAndText__Member; - -/* ITIS_ITIScodesAndText */ -typedef struct ITIS_ITIScodesAndText { - A_SEQUENCE_OF(ITIS_ITIScodesAndText__Member) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ITIS_ITIScodesAndText_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ITIS_ITIScodesAndText; -extern asn_SET_OF_specifics_t asn_SPC_ITIS_ITIScodesAndText_specs_1; -extern asn_TYPE_member_t asn_MBR_ITIS_ITIScodesAndText_1[1]; -extern asn_per_constraints_t asn_PER_type_ITIS_ITIScodesAndText_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _ITIS_ITIScodesAndText_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ITIS_ITIStext.c b/src/tmx/Asn_J2735/src/r2024/ITIS_ITIStext.c new file mode 100644 index 000000000..119d74f0e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ITIS_ITIStext.c @@ -0,0 +1,91 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ITIS" + * found in "J2735-ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ITIS_ITIStext.h" + +static int check_permitted_alphabet_1(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +int +ITIS_ITIStext_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 500UL) + && !check_permitted_alphabet_1(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using IA5String, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ITIS_ITIStext_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..500)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ITIS_ITIStext_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 9, 9, 1, 500 } /* (SIZE(1..500)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ITIS_ITIStext_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ITIS_ITIStext = { + "ITIStext", + "ITIStext", + &asn_OP_IA5String, + asn_DEF_ITIS_ITIStext_tags_1, + sizeof(asn_DEF_ITIS_ITIStext_tags_1) + /sizeof(asn_DEF_ITIS_ITIStext_tags_1[0]), /* 1 */ + asn_DEF_ITIS_ITIStext_tags_1, /* Same as above */ + sizeof(asn_DEF_ITIS_ITIStext_tags_1) + /sizeof(asn_DEF_ITIS_ITIStext_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ITIS_ITIStext_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ITIS_ITIStext_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ITIS_ITIStext_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ITIS_ITIStext.h b/src/tmx/Asn_J2735/src/r2024/ITIS_ITIStext.h deleted file mode 100644 index c4d403bb7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ITIS_ITIStext.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ITIS" - * found in "J2735-ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ITIS_ITIStext_H_ -#define _ITIS_ITIStext_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IA5String.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ITIS_ITIStext */ -typedef IA5String_t ITIS_ITIStext_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ITIS_ITIStext_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ITIS_ITIStext; -asn_struct_free_f ITIS_ITIStext_free; -asn_struct_print_f ITIS_ITIStext_print; -asn_constr_check_f ITIS_ITIStext_constraint; -ber_type_decoder_f ITIS_ITIStext_decode_ber; -der_type_encoder_f ITIS_ITIStext_encode_der; -xer_type_decoder_f ITIS_ITIStext_decode_xer; -xer_type_encoder_f ITIS_ITIStext_encode_xer; -oer_type_decoder_f ITIS_ITIStext_decode_oer; -oer_type_encoder_f ITIS_ITIStext_encode_oer; -per_type_decoder_f ITIS_ITIStext_decode_uper; -per_type_encoder_f ITIS_ITIStext_encode_uper; -per_type_decoder_f ITIS_ITIStext_decode_aper; -per_type_encoder_f ITIS_ITIStext_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ITIS_ITIStext_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ITIS_IncidentResponseEquipment.c b/src/tmx/Asn_J2735/src/r2024/ITIS_IncidentResponseEquipment.c new file mode 100644 index 000000000..8d1eee2c1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ITIS_IncidentResponseEquipment.c @@ -0,0 +1,210 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ITIS" + * found in "J2735-ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ITIS_IncidentResponseEquipment.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ITIS_IncidentResponseEquipment_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ITIS_IncidentResponseEquipment_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 0, 71 } /* (0..71,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_ITIS_IncidentResponseEquipment_value2enum_1[] = { + { 9985, 23, "ground-fire-suppression" }, + { 9986, 22, "heavy-ground-equipment" }, + { 9988, 8, "aircraft" }, + { 9989, 16, "marine-equipment" }, + { 9990, 17, "support-equipment" }, + { 9991, 19, "medical-rescue-unit" }, + { 9993, 5, "other" }, + { 9994, 29, "ground-fire-suppression-other" }, + { 9995, 6, "engine" }, + { 9996, 15, "truck-or-aerial" }, + { 9997, 5, "quint" }, + { 9998, 25, "tanker-pumper-combination" }, + { 10000, 11, "brush-truck" }, + { 10001, 28, "aircraft-rescue-firefighting" }, + { 10004, 28, "heavy-ground-equipment-other" }, + { 10005, 13, "dozer-or-plow" }, + { 10006, 7, "tractor" }, + { 10008, 16, "tanker-or-tender" }, + { 10024, 14, "aircraft-other" }, + { 10025, 26, "aircraft-fixed-wing-tanker" }, + { 10026, 10, "helitanker" }, + { 10027, 10, "helicopter" }, + { 10034, 22, "marine-equipment-other" }, + { 10035, 19, "fire-boat-with-pump" }, + { 10036, 12, "boat-no-pump" }, + { 10044, 23, "support-apparatus-other" }, + { 10045, 27, "breathing-apparatus-support" }, + { 10046, 18, "light-and-air-unit" }, + { 10054, 25, "medical-rescue-unit-other" }, + { 10055, 11, "rescue-unit" }, + { 10056, 24, "urban-search-rescue-unit" }, + { 10057, 17, "high-angle-rescue" }, + { 10058, 17, "crash-fire-rescue" }, + { 10059, 8, "bLS-unit" }, + { 10060, 8, "aLS-unit" }, + { 10075, 19, "mobile-command-post" }, + { 10076, 17, "chief-officer-car" }, + { 10077, 11, "hAZMAT-unit" }, + { 10078, 16, "type-i-hand-crew" }, + { 10079, 17, "type-ii-hand-crew" }, + { 10083, 23, "privately-owned-vehicle" }, + { 10084, 24, "other-apparatus-resource" }, + { 10085, 9, "ambulance" }, + { 10086, 14, "bomb-squad-van" }, + { 10087, 17, "combine-harvester" }, + { 10088, 20, "construction-vehicle" }, + { 10089, 12, "farm-tractor" }, + { 10090, 22, "grass-cutting-machines" }, + { 10091, 22, "hAZMAT-containment-tow" }, + { 10092, 9, "heavy-tow" }, + { 10093, 22, "hedge-cutting-machines" }, + { 10094, 9, "light-tow" }, + { 10095, 12, "mobile-crane" }, + { 10096, 25, "refuse-collection-vehicle" }, + { 10097, 19, "resurfacing-vehicle" }, + { 10098, 12, "road-sweeper" }, + { 10099, 32, "roadside-litter-collection-crews" }, + { 10100, 15, "salvage-vehicle" }, + { 10101, 10, "sand-truck" }, + { 10102, 8, "snowplow" }, + { 10103, 12, "steam-roller" }, + { 10104, 13, "swat-team-van" }, + { 10105, 20, "track-laying-vehicle" }, + { 10106, 15, "unknown-vehicle" }, + { 10107, 20, "white-lining-vehicle" }, + { 10108, 10, "dump-truck" }, + { 10109, 18, "supervisor-vehicle" }, + { 10110, 11, "snow-blower" }, + { 10111, 18, "rotary-snow-blower" }, + { 10112, 11, "road-grader" }, + { 10113, 11, "steam-truck" }, + { 10114, 11, "flatbed-tow" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ITIS_IncidentResponseEquipment_enum2value_1[] = { + 34, /* aLS-unit(10060) */ + 2, /* aircraft(9988) */ + 19, /* aircraft-fixed-wing-tanker(10025) */ + 18, /* aircraft-other(10024) */ + 13, /* aircraft-rescue-firefighting(10001) */ + 42, /* ambulance(10085) */ + 33, /* bLS-unit(10059) */ + 24, /* boat-no-pump(10036) */ + 43, /* bomb-squad-van(10086) */ + 26, /* breathing-apparatus-support(10045) */ + 12, /* brush-truck(10000) */ + 36, /* chief-officer-car(10076) */ + 44, /* combine-harvester(10087) */ + 45, /* construction-vehicle(10088) */ + 32, /* crash-fire-rescue(10058) */ + 15, /* dozer-or-plow(10005) */ + 65, /* dump-truck(10108) */ + 8, /* engine(9995) */ + 46, /* farm-tractor(10089) */ + 23, /* fire-boat-with-pump(10035) */ + 71, /* flatbed-tow(10114) */ + 47, /* grass-cutting-machines(10090) */ + 0, /* ground-fire-suppression(9985) */ + 7, /* ground-fire-suppression-other(9994) */ + 48, /* hAZMAT-containment-tow(10091) */ + 37, /* hAZMAT-unit(10077) */ + 1, /* heavy-ground-equipment(9986) */ + 14, /* heavy-ground-equipment-other(10004) */ + 49, /* heavy-tow(10092) */ + 50, /* hedge-cutting-machines(10093) */ + 21, /* helicopter(10027) */ + 20, /* helitanker(10026) */ + 31, /* high-angle-rescue(10057) */ + 27, /* light-and-air-unit(10046) */ + 51, /* light-tow(10094) */ + 3, /* marine-equipment(9989) */ + 22, /* marine-equipment-other(10034) */ + 5, /* medical-rescue-unit(9991) */ + 28, /* medical-rescue-unit-other(10054) */ + 35, /* mobile-command-post(10075) */ + 52, /* mobile-crane(10095) */ + 6, /* other(9993) */ + 41, /* other-apparatus-resource(10084) */ + 40, /* privately-owned-vehicle(10083) */ + 10, /* quint(9997) */ + 53, /* refuse-collection-vehicle(10096) */ + 29, /* rescue-unit(10055) */ + 54, /* resurfacing-vehicle(10097) */ + 69, /* road-grader(10112) */ + 55, /* road-sweeper(10098) */ + 56, /* roadside-litter-collection-crews(10099) */ + 68, /* rotary-snow-blower(10111) */ + 57, /* salvage-vehicle(10100) */ + 58, /* sand-truck(10101) */ + 67, /* snow-blower(10110) */ + 59, /* snowplow(10102) */ + 60, /* steam-roller(10103) */ + 70, /* steam-truck(10113) */ + 66, /* supervisor-vehicle(10109) */ + 25, /* support-apparatus-other(10044) */ + 4, /* support-equipment(9990) */ + 61, /* swat-team-van(10104) */ + 17, /* tanker-or-tender(10008) */ + 11, /* tanker-pumper-combination(9998) */ + 62, /* track-laying-vehicle(10105) */ + 16, /* tractor(10006) */ + 9, /* truck-or-aerial(9996) */ + 38, /* type-i-hand-crew(10078) */ + 39, /* type-ii-hand-crew(10079) */ + 63, /* unknown-vehicle(10106) */ + 30, /* urban-search-rescue-unit(10056) */ + 64 /* white-lining-vehicle(10107) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_ITIS_IncidentResponseEquipment_specs_1 = { + asn_MAP_ITIS_IncidentResponseEquipment_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ITIS_IncidentResponseEquipment_enum2value_1, /* N => "tag"; sorted by N */ + 72, /* Number of elements in the maps */ + 73, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ITIS_IncidentResponseEquipment_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ITIS_IncidentResponseEquipment = { + "IncidentResponseEquipment", + "IncidentResponseEquipment", + &asn_OP_NativeEnumerated, + asn_DEF_ITIS_IncidentResponseEquipment_tags_1, + sizeof(asn_DEF_ITIS_IncidentResponseEquipment_tags_1) + /sizeof(asn_DEF_ITIS_IncidentResponseEquipment_tags_1[0]), /* 1 */ + asn_DEF_ITIS_IncidentResponseEquipment_tags_1, /* Same as above */ + sizeof(asn_DEF_ITIS_IncidentResponseEquipment_tags_1) + /sizeof(asn_DEF_ITIS_IncidentResponseEquipment_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ITIS_IncidentResponseEquipment_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ITIS_IncidentResponseEquipment_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ITIS_IncidentResponseEquipment_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ITIS_IncidentResponseEquipment.h b/src/tmx/Asn_J2735/src/r2024/ITIS_IncidentResponseEquipment.h deleted file mode 100644 index 801805ba5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ITIS_IncidentResponseEquipment.h +++ /dev/null @@ -1,126 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ITIS" - * found in "J2735-ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ITIS_IncidentResponseEquipment_H_ -#define _ITIS_IncidentResponseEquipment_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ITIS_IncidentResponseEquipment { - ITIS_IncidentResponseEquipment_ground_fire_suppression = 9985, - ITIS_IncidentResponseEquipment_heavy_ground_equipment = 9986, - ITIS_IncidentResponseEquipment_aircraft = 9988, - ITIS_IncidentResponseEquipment_marine_equipment = 9989, - ITIS_IncidentResponseEquipment_support_equipment = 9990, - ITIS_IncidentResponseEquipment_medical_rescue_unit = 9991, - ITIS_IncidentResponseEquipment_other = 9993, - ITIS_IncidentResponseEquipment_ground_fire_suppression_other = 9994, - ITIS_IncidentResponseEquipment_engine = 9995, - ITIS_IncidentResponseEquipment_truck_or_aerial = 9996, - ITIS_IncidentResponseEquipment_quint = 9997, - ITIS_IncidentResponseEquipment_tanker_pumper_combination = 9998, - ITIS_IncidentResponseEquipment_brush_truck = 10000, - ITIS_IncidentResponseEquipment_aircraft_rescue_firefighting = 10001, - ITIS_IncidentResponseEquipment_heavy_ground_equipment_other = 10004, - ITIS_IncidentResponseEquipment_dozer_or_plow = 10005, - ITIS_IncidentResponseEquipment_tractor = 10006, - ITIS_IncidentResponseEquipment_tanker_or_tender = 10008, - ITIS_IncidentResponseEquipment_aircraft_other = 10024, - ITIS_IncidentResponseEquipment_aircraft_fixed_wing_tanker = 10025, - ITIS_IncidentResponseEquipment_helitanker = 10026, - ITIS_IncidentResponseEquipment_helicopter = 10027, - ITIS_IncidentResponseEquipment_marine_equipment_other = 10034, - ITIS_IncidentResponseEquipment_fire_boat_with_pump = 10035, - ITIS_IncidentResponseEquipment_boat_no_pump = 10036, - ITIS_IncidentResponseEquipment_support_apparatus_other = 10044, - ITIS_IncidentResponseEquipment_breathing_apparatus_support = 10045, - ITIS_IncidentResponseEquipment_light_and_air_unit = 10046, - ITIS_IncidentResponseEquipment_medical_rescue_unit_other = 10054, - ITIS_IncidentResponseEquipment_rescue_unit = 10055, - ITIS_IncidentResponseEquipment_urban_search_rescue_unit = 10056, - ITIS_IncidentResponseEquipment_high_angle_rescue = 10057, - ITIS_IncidentResponseEquipment_crash_fire_rescue = 10058, - ITIS_IncidentResponseEquipment_bLS_unit = 10059, - ITIS_IncidentResponseEquipment_aLS_unit = 10060, - ITIS_IncidentResponseEquipment_mobile_command_post = 10075, - ITIS_IncidentResponseEquipment_chief_officer_car = 10076, - ITIS_IncidentResponseEquipment_hAZMAT_unit = 10077, - ITIS_IncidentResponseEquipment_type_i_hand_crew = 10078, - ITIS_IncidentResponseEquipment_type_ii_hand_crew = 10079, - ITIS_IncidentResponseEquipment_privately_owned_vehicle = 10083, - ITIS_IncidentResponseEquipment_other_apparatus_resource = 10084, - ITIS_IncidentResponseEquipment_ambulance = 10085, - ITIS_IncidentResponseEquipment_bomb_squad_van = 10086, - ITIS_IncidentResponseEquipment_combine_harvester = 10087, - ITIS_IncidentResponseEquipment_construction_vehicle = 10088, - ITIS_IncidentResponseEquipment_farm_tractor = 10089, - ITIS_IncidentResponseEquipment_grass_cutting_machines = 10090, - ITIS_IncidentResponseEquipment_hAZMAT_containment_tow = 10091, - ITIS_IncidentResponseEquipment_heavy_tow = 10092, - ITIS_IncidentResponseEquipment_light_tow = 10094, - ITIS_IncidentResponseEquipment_flatbed_tow = 10114, - ITIS_IncidentResponseEquipment_hedge_cutting_machines = 10093, - ITIS_IncidentResponseEquipment_mobile_crane = 10095, - ITIS_IncidentResponseEquipment_refuse_collection_vehicle = 10096, - ITIS_IncidentResponseEquipment_resurfacing_vehicle = 10097, - ITIS_IncidentResponseEquipment_road_sweeper = 10098, - ITIS_IncidentResponseEquipment_roadside_litter_collection_crews = 10099, - ITIS_IncidentResponseEquipment_salvage_vehicle = 10100, - ITIS_IncidentResponseEquipment_sand_truck = 10101, - ITIS_IncidentResponseEquipment_snowplow = 10102, - ITIS_IncidentResponseEquipment_steam_roller = 10103, - ITIS_IncidentResponseEquipment_swat_team_van = 10104, - ITIS_IncidentResponseEquipment_track_laying_vehicle = 10105, - ITIS_IncidentResponseEquipment_unknown_vehicle = 10106, - ITIS_IncidentResponseEquipment_white_lining_vehicle = 10107, - ITIS_IncidentResponseEquipment_dump_truck = 10108, - ITIS_IncidentResponseEquipment_supervisor_vehicle = 10109, - ITIS_IncidentResponseEquipment_snow_blower = 10110, - ITIS_IncidentResponseEquipment_rotary_snow_blower = 10111, - ITIS_IncidentResponseEquipment_road_grader = 10112, - ITIS_IncidentResponseEquipment_steam_truck = 10113 - /* - * Enumeration is extensible - */ -} e_ITIS_IncidentResponseEquipment; - -/* ITIS_IncidentResponseEquipment */ -typedef long ITIS_IncidentResponseEquipment_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ITIS_IncidentResponseEquipment_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ITIS_IncidentResponseEquipment; -extern const asn_INTEGER_specifics_t asn_SPC_ITIS_IncidentResponseEquipment_specs_1; -asn_struct_free_f ITIS_IncidentResponseEquipment_free; -asn_struct_print_f ITIS_IncidentResponseEquipment_print; -asn_constr_check_f ITIS_IncidentResponseEquipment_constraint; -ber_type_decoder_f ITIS_IncidentResponseEquipment_decode_ber; -der_type_encoder_f ITIS_IncidentResponseEquipment_encode_der; -xer_type_decoder_f ITIS_IncidentResponseEquipment_decode_xer; -xer_type_encoder_f ITIS_IncidentResponseEquipment_encode_xer; -oer_type_decoder_f ITIS_IncidentResponseEquipment_decode_oer; -oer_type_encoder_f ITIS_IncidentResponseEquipment_encode_oer; -per_type_decoder_f ITIS_IncidentResponseEquipment_decode_uper; -per_type_encoder_f ITIS_IncidentResponseEquipment_encode_uper; -per_type_decoder_f ITIS_IncidentResponseEquipment_decode_aper; -per_type_encoder_f ITIS_IncidentResponseEquipment_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ITIS_IncidentResponseEquipment_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ITIS_ResponderGroupAffected.c b/src/tmx/Asn_J2735/src/r2024/ITIS_ResponderGroupAffected.c new file mode 100644 index 000000000..89870f404 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ITIS_ResponderGroupAffected.c @@ -0,0 +1,94 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ITIS" + * found in "J2735-ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ITIS_ResponderGroupAffected.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ITIS_ResponderGroupAffected_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ITIS_ResponderGroupAffected_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 13 } /* (0..13,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_ITIS_ResponderGroupAffected_value2enum_1[] = { + { 9729, 23, "emergency-vehicle-units" }, + { 9730, 29, "federal-law-enforcement-units" }, + { 9731, 18, "state-police-units" }, + { 9732, 19, "county-police-units" }, + { 9733, 18, "local-police-units" }, + { 9734, 15, "ambulance-units" }, + { 9735, 12, "rescue-units" }, + { 9736, 10, "fire-units" }, + { 9737, 12, "hAZMAT-units" }, + { 9738, 14, "light-tow-unit" }, + { 9739, 14, "heavy-tow-unit" }, + { 9740, 23, "freeway-service-patrols" }, + { 9741, 29, "transportation-response-units" }, + { 9742, 33, "private-contractor-response-units" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ITIS_ResponderGroupAffected_enum2value_1[] = { + 5, /* ambulance-units(9734) */ + 3, /* county-police-units(9732) */ + 0, /* emergency-vehicle-units(9729) */ + 1, /* federal-law-enforcement-units(9730) */ + 7, /* fire-units(9736) */ + 11, /* freeway-service-patrols(9740) */ + 8, /* hAZMAT-units(9737) */ + 10, /* heavy-tow-unit(9739) */ + 9, /* light-tow-unit(9738) */ + 4, /* local-police-units(9733) */ + 13, /* private-contractor-response-units(9742) */ + 6, /* rescue-units(9735) */ + 2, /* state-police-units(9731) */ + 12 /* transportation-response-units(9741) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_ITIS_ResponderGroupAffected_specs_1 = { + asn_MAP_ITIS_ResponderGroupAffected_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ITIS_ResponderGroupAffected_enum2value_1, /* N => "tag"; sorted by N */ + 14, /* Number of elements in the maps */ + 15, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ITIS_ResponderGroupAffected_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ITIS_ResponderGroupAffected = { + "ResponderGroupAffected", + "ResponderGroupAffected", + &asn_OP_NativeEnumerated, + asn_DEF_ITIS_ResponderGroupAffected_tags_1, + sizeof(asn_DEF_ITIS_ResponderGroupAffected_tags_1) + /sizeof(asn_DEF_ITIS_ResponderGroupAffected_tags_1[0]), /* 1 */ + asn_DEF_ITIS_ResponderGroupAffected_tags_1, /* Same as above */ + sizeof(asn_DEF_ITIS_ResponderGroupAffected_tags_1) + /sizeof(asn_DEF_ITIS_ResponderGroupAffected_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ITIS_ResponderGroupAffected_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ITIS_ResponderGroupAffected_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ITIS_ResponderGroupAffected_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ITIS_ResponderGroupAffected.h b/src/tmx/Asn_J2735/src/r2024/ITIS_ResponderGroupAffected.h deleted file mode 100644 index 2629695ae..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ITIS_ResponderGroupAffected.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ITIS" - * found in "J2735-ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ITIS_ResponderGroupAffected_H_ -#define _ITIS_ResponderGroupAffected_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ITIS_ResponderGroupAffected { - ITIS_ResponderGroupAffected_emergency_vehicle_units = 9729, - ITIS_ResponderGroupAffected_federal_law_enforcement_units = 9730, - ITIS_ResponderGroupAffected_state_police_units = 9731, - ITIS_ResponderGroupAffected_county_police_units = 9732, - ITIS_ResponderGroupAffected_local_police_units = 9733, - ITIS_ResponderGroupAffected_ambulance_units = 9734, - ITIS_ResponderGroupAffected_rescue_units = 9735, - ITIS_ResponderGroupAffected_fire_units = 9736, - ITIS_ResponderGroupAffected_hAZMAT_units = 9737, - ITIS_ResponderGroupAffected_light_tow_unit = 9738, - ITIS_ResponderGroupAffected_heavy_tow_unit = 9739, - ITIS_ResponderGroupAffected_freeway_service_patrols = 9740, - ITIS_ResponderGroupAffected_transportation_response_units = 9741, - ITIS_ResponderGroupAffected_private_contractor_response_units = 9742 - /* - * Enumeration is extensible - */ -} e_ITIS_ResponderGroupAffected; - -/* ITIS_ResponderGroupAffected */ -typedef long ITIS_ResponderGroupAffected_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ITIS_ResponderGroupAffected_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ITIS_ResponderGroupAffected; -extern const asn_INTEGER_specifics_t asn_SPC_ITIS_ResponderGroupAffected_specs_1; -asn_struct_free_f ITIS_ResponderGroupAffected_free; -asn_struct_print_f ITIS_ResponderGroupAffected_print; -asn_constr_check_f ITIS_ResponderGroupAffected_constraint; -ber_type_decoder_f ITIS_ResponderGroupAffected_decode_ber; -der_type_encoder_f ITIS_ResponderGroupAffected_encode_der; -xer_type_decoder_f ITIS_ResponderGroupAffected_decode_xer; -xer_type_encoder_f ITIS_ResponderGroupAffected_encode_xer; -oer_type_decoder_f ITIS_ResponderGroupAffected_decode_oer; -oer_type_encoder_f ITIS_ResponderGroupAffected_encode_oer; -per_type_decoder_f ITIS_ResponderGroupAffected_decode_uper; -per_type_encoder_f ITIS_ResponderGroupAffected_encode_uper; -per_type_decoder_f ITIS_ResponderGroupAffected_decode_aper; -per_type_encoder_f ITIS_ResponderGroupAffected_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ITIS_ResponderGroupAffected_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ITIS_VehicleGroupAffected.c b/src/tmx/Asn_J2735/src/r2024/ITIS_VehicleGroupAffected.c new file mode 100644 index 000000000..3b40c9628 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ITIS_VehicleGroupAffected.c @@ -0,0 +1,136 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ITIS" + * found in "J2735-ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ITIS_VehicleGroupAffected.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ITIS_VehicleGroupAffected_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ITIS_VehicleGroupAffected_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 6, 6, 0, 34 } /* (0..34,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_ITIS_VehicleGroupAffected_value2enum_1[] = { + { 9217, 12, "all-vehicles" }, + { 9218, 8, "bicycles" }, + { 9219, 11, "motorcycles" }, + { 9220, 4, "cars" }, + { 9221, 14, "light-vehicles" }, + { 9222, 23, "cars-and-light-vehicles" }, + { 9223, 18, "cars-with-trailers" }, + { 9224, 31, "cars-with-recreational-trailers" }, + { 9225, 22, "vehicles-with-trailers" }, + { 9226, 14, "heavy-vehicles" }, + { 9227, 6, "trucks" }, + { 9228, 5, "buses" }, + { 9229, 17, "articulated-buses" }, + { 9230, 12, "school-buses" }, + { 9231, 27, "vehicles-with-semi-trailers" }, + { 9232, 29, "vehicles-with-double-trailers" }, + { 9233, 21, "high-profile-vehicles" }, + { 9234, 13, "wide-vehicles" }, + { 9235, 13, "long-vehicles" }, + { 9236, 15, "hazardous-loads" }, + { 9237, 17, "exceptional-loads" }, + { 9238, 14, "abnormal-loads" }, + { 9239, 7, "convoys" }, + { 9240, 20, "maintenance-vehicles" }, + { 9241, 17, "delivery-vehicles" }, + { 9242, 42, "vehicles-with-even-numbered-license-plates" }, + { 9243, 41, "vehicles-with-odd-numbered-license-plates" }, + { 9244, 29, "vehicles-with-parking-permits" }, + { 9245, 34, "vehicles-with-catalytic-converters" }, + { 9246, 37, "vehicles-without-catalytic-converters" }, + { 9247, 20, "gas-powered-vehicles" }, + { 9248, 23, "diesel-powered-vehicles" }, + { 9249, 12, "lPG-vehicles" }, + { 9250, 16, "military-convoys" }, + { 9251, 17, "military-vehicles" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ITIS_VehicleGroupAffected_enum2value_1[] = { + 21, /* abnormal-loads(9238) */ + 0, /* all-vehicles(9217) */ + 12, /* articulated-buses(9229) */ + 1, /* bicycles(9218) */ + 11, /* buses(9228) */ + 3, /* cars(9220) */ + 5, /* cars-and-light-vehicles(9222) */ + 7, /* cars-with-recreational-trailers(9224) */ + 6, /* cars-with-trailers(9223) */ + 22, /* convoys(9239) */ + 24, /* delivery-vehicles(9241) */ + 31, /* diesel-powered-vehicles(9248) */ + 20, /* exceptional-loads(9237) */ + 30, /* gas-powered-vehicles(9247) */ + 19, /* hazardous-loads(9236) */ + 9, /* heavy-vehicles(9226) */ + 16, /* high-profile-vehicles(9233) */ + 32, /* lPG-vehicles(9249) */ + 4, /* light-vehicles(9221) */ + 18, /* long-vehicles(9235) */ + 23, /* maintenance-vehicles(9240) */ + 33, /* military-convoys(9250) */ + 34, /* military-vehicles(9251) */ + 2, /* motorcycles(9219) */ + 13, /* school-buses(9230) */ + 10, /* trucks(9227) */ + 28, /* vehicles-with-catalytic-converters(9245) */ + 15, /* vehicles-with-double-trailers(9232) */ + 25, /* vehicles-with-even-numbered-license-plates(9242) */ + 26, /* vehicles-with-odd-numbered-license-plates(9243) */ + 27, /* vehicles-with-parking-permits(9244) */ + 14, /* vehicles-with-semi-trailers(9231) */ + 8, /* vehicles-with-trailers(9225) */ + 29, /* vehicles-without-catalytic-converters(9246) */ + 17 /* wide-vehicles(9234) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_ITIS_VehicleGroupAffected_specs_1 = { + asn_MAP_ITIS_VehicleGroupAffected_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ITIS_VehicleGroupAffected_enum2value_1, /* N => "tag"; sorted by N */ + 35, /* Number of elements in the maps */ + 36, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ITIS_VehicleGroupAffected_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ITIS_VehicleGroupAffected = { + "VehicleGroupAffected", + "VehicleGroupAffected", + &asn_OP_NativeEnumerated, + asn_DEF_ITIS_VehicleGroupAffected_tags_1, + sizeof(asn_DEF_ITIS_VehicleGroupAffected_tags_1) + /sizeof(asn_DEF_ITIS_VehicleGroupAffected_tags_1[0]), /* 1 */ + asn_DEF_ITIS_VehicleGroupAffected_tags_1, /* Same as above */ + sizeof(asn_DEF_ITIS_VehicleGroupAffected_tags_1) + /sizeof(asn_DEF_ITIS_VehicleGroupAffected_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ITIS_VehicleGroupAffected_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ITIS_VehicleGroupAffected_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ITIS_VehicleGroupAffected_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ITIS_VehicleGroupAffected.h b/src/tmx/Asn_J2735/src/r2024/ITIS_VehicleGroupAffected.h deleted file mode 100644 index ac6bb004e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ITIS_VehicleGroupAffected.h +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ITIS" - * found in "J2735-ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ITIS_VehicleGroupAffected_H_ -#define _ITIS_VehicleGroupAffected_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ITIS_VehicleGroupAffected { - ITIS_VehicleGroupAffected_all_vehicles = 9217, - ITIS_VehicleGroupAffected_bicycles = 9218, - ITIS_VehicleGroupAffected_motorcycles = 9219, - ITIS_VehicleGroupAffected_cars = 9220, - ITIS_VehicleGroupAffected_light_vehicles = 9221, - ITIS_VehicleGroupAffected_cars_and_light_vehicles = 9222, - ITIS_VehicleGroupAffected_cars_with_trailers = 9223, - ITIS_VehicleGroupAffected_cars_with_recreational_trailers = 9224, - ITIS_VehicleGroupAffected_vehicles_with_trailers = 9225, - ITIS_VehicleGroupAffected_heavy_vehicles = 9226, - ITIS_VehicleGroupAffected_trucks = 9227, - ITIS_VehicleGroupAffected_buses = 9228, - ITIS_VehicleGroupAffected_articulated_buses = 9229, - ITIS_VehicleGroupAffected_school_buses = 9230, - ITIS_VehicleGroupAffected_vehicles_with_semi_trailers = 9231, - ITIS_VehicleGroupAffected_vehicles_with_double_trailers = 9232, - ITIS_VehicleGroupAffected_high_profile_vehicles = 9233, - ITIS_VehicleGroupAffected_wide_vehicles = 9234, - ITIS_VehicleGroupAffected_long_vehicles = 9235, - ITIS_VehicleGroupAffected_hazardous_loads = 9236, - ITIS_VehicleGroupAffected_exceptional_loads = 9237, - ITIS_VehicleGroupAffected_abnormal_loads = 9238, - ITIS_VehicleGroupAffected_convoys = 9239, - ITIS_VehicleGroupAffected_maintenance_vehicles = 9240, - ITIS_VehicleGroupAffected_delivery_vehicles = 9241, - ITIS_VehicleGroupAffected_vehicles_with_even_numbered_license_plates = 9242, - ITIS_VehicleGroupAffected_vehicles_with_odd_numbered_license_plates = 9243, - ITIS_VehicleGroupAffected_vehicles_with_parking_permits = 9244, - ITIS_VehicleGroupAffected_vehicles_with_catalytic_converters = 9245, - ITIS_VehicleGroupAffected_vehicles_without_catalytic_converters = 9246, - ITIS_VehicleGroupAffected_gas_powered_vehicles = 9247, - ITIS_VehicleGroupAffected_diesel_powered_vehicles = 9248, - ITIS_VehicleGroupAffected_lPG_vehicles = 9249, - ITIS_VehicleGroupAffected_military_convoys = 9250, - ITIS_VehicleGroupAffected_military_vehicles = 9251 - /* - * Enumeration is extensible - */ -} e_ITIS_VehicleGroupAffected; - -/* ITIS_VehicleGroupAffected */ -typedef long ITIS_VehicleGroupAffected_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ITIS_VehicleGroupAffected_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ITIS_VehicleGroupAffected; -extern const asn_INTEGER_specifics_t asn_SPC_ITIS_VehicleGroupAffected_specs_1; -asn_struct_free_f ITIS_VehicleGroupAffected_free; -asn_struct_print_f ITIS_VehicleGroupAffected_print; -asn_constr_check_f ITIS_VehicleGroupAffected_constraint; -ber_type_decoder_f ITIS_VehicleGroupAffected_decode_ber; -der_type_encoder_f ITIS_VehicleGroupAffected_encode_der; -xer_type_decoder_f ITIS_VehicleGroupAffected_decode_xer; -xer_type_encoder_f ITIS_VehicleGroupAffected_encode_xer; -oer_type_decoder_f ITIS_VehicleGroupAffected_decode_oer; -oer_type_encoder_f ITIS_VehicleGroupAffected_encode_oer; -per_type_decoder_f ITIS_VehicleGroupAffected_decode_uper; -per_type_encoder_f ITIS_VehicleGroupAffected_encode_uper; -per_type_decoder_f ITIS_VehicleGroupAffected_decode_aper; -per_type_encoder_f ITIS_VehicleGroupAffected_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ITIS_VehicleGroupAffected_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ITISgroups.c b/src/tmx/Asn_J2735/src/r2024/ITISgroups.c new file mode 100644 index 000000000..25a6bce57 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ITISgroups.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ITISgroups.h" + +int +ITISgroups_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ITISgroups_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ITISgroups_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ITISgroups_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ITISgroups = { + "ITISgroups", + "ITISgroups", + &asn_OP_NativeInteger, + asn_DEF_ITISgroups_tags_1, + sizeof(asn_DEF_ITISgroups_tags_1) + /sizeof(asn_DEF_ITISgroups_tags_1[0]), /* 1 */ + asn_DEF_ITISgroups_tags_1, /* Same as above */ + sizeof(asn_DEF_ITISgroups_tags_1) + /sizeof(asn_DEF_ITISgroups_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ITISgroups_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ITISgroups_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ITISgroups_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ITISgroups.h b/src/tmx/Asn_J2735/src/r2024/ITISgroups.h deleted file mode 100644 index 82f400f21..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ITISgroups.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ITISgroups_H_ -#define _ITISgroups_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ITISgroups { - ITISgroups_trafficConditions = 1, - ITISgroups_accidentsAndIncidents = 2, - ITISgroups_closures = 3, - ITISgroups_roadwork = 4, - ITISgroups_obstruction = 5, - ITISgroups_delayStatusCancellation = 6, - ITISgroups_unusualDriving = 7, - ITISgroups_mobileSituation = 8, - ITISgroups_deviceStatus = 9, - ITISgroups_restrictionClass = 10, - ITISgroups_incidentResponseStatus = 11, - ITISgroups_disasters = 12, - ITISgroups_disturbances = 13, - ITISgroups_sportingEvents = 14, - ITISgroups_specialEvents = 15, - ITISgroups_parkingInformation = 16, - ITISgroups_systemInformation = 17, - ITISgroups_weatherConditions = 18, - ITISgroups_precipitation = 19, - ITISgroups_winds = 20, - ITISgroups_visibilityAndAirQuality = 21, - ITISgroups_temperature = 22, - ITISgroups_pavementConditions = 23, - ITISgroups_winterDrivingRestrictions = 24, - ITISgroups_winterDrivingIndex = 25, - ITISgroups_suggestionAdvice = 26, - ITISgroups_warningAdvice = 27, - ITISgroups_adviceInstructionsRecommendations = 28, - ITISgroups_adviceInstructionsMandatory = 29, - ITISgroups_qualifiers = 30, - ITISgroups_genericLocations = 31, - ITISgroups_laneRoadway = 32, - ITISgroups_alternateRoute = 33, - ITISgroups_units = 34, - ITISgroups_transitMode = 35, - ITISgroups_vehicleGroupAffected = 36, - ITISgroups_travelerGroupAffected = 37, - ITISgroups_responderGroupAffected = 38, - ITISgroups_incidentResponseEquipment = 39, - ITISgroups_assetStatus = 40, - ITISgroups_roadsideAssets = 41, - ITISgroups_transitOperations = 42, - ITISgroups_objects = 43, - ITISgroups_validManeuvers = 44, - ITISgroups_largeNumbers = 45, - ITISgroups_namedObjects = 46, - ITISgroups_recreationalObjectsAndActivities = 47, - ITISgroups_regulatoryAndWarningSigns = 48, - ITISgroups_smallNumbers = 49, - ITISgroups_states = 50, - ITISgroups_structures = 51, - ITISgroups_streetSuffixes = 52, - ITISgroups_mUTCDLocations = 53 -} e_ITISgroups; - -/* ITISgroups */ -typedef long ITISgroups_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ITISgroups_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ITISgroups; -asn_struct_free_f ITISgroups_free; -asn_struct_print_f ITISgroups_print; -asn_constr_check_f ITISgroups_constraint; -ber_type_decoder_f ITISgroups_decode_ber; -der_type_encoder_f ITISgroups_encode_der; -xer_type_decoder_f ITISgroups_decode_xer; -xer_type_encoder_f ITISgroups_encode_xer; -oer_type_decoder_f ITISgroups_decode_oer; -oer_type_encoder_f ITISgroups_encode_oer; -per_type_decoder_f ITISgroups_decode_uper; -per_type_encoder_f ITISgroups_encode_uper; -per_type_decoder_f ITISgroups_decode_aper; -per_type_encoder_f ITISgroups_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ITISgroups_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ITIStextPhrase.c b/src/tmx/Asn_J2735/src/r2024/ITIStextPhrase.c new file mode 100644 index 000000000..dafe168cc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ITIStextPhrase.c @@ -0,0 +1,91 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ITIStextPhrase.h" + +static int check_permitted_alphabet_1(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +int +ITIStextPhrase_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 16UL) + && !check_permitted_alphabet_1(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using IA5String, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ITIStextPhrase_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ITIStextPhrase_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ITIStextPhrase_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ITIStextPhrase = { + "ITIStextPhrase", + "ITIStextPhrase", + &asn_OP_IA5String, + asn_DEF_ITIStextPhrase_tags_1, + sizeof(asn_DEF_ITIStextPhrase_tags_1) + /sizeof(asn_DEF_ITIStextPhrase_tags_1[0]), /* 1 */ + asn_DEF_ITIStextPhrase_tags_1, /* Same as above */ + sizeof(asn_DEF_ITIStextPhrase_tags_1) + /sizeof(asn_DEF_ITIStextPhrase_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ITIStextPhrase_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ITIStextPhrase_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ITIStextPhrase_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ITIStextPhrase.h b/src/tmx/Asn_J2735/src/r2024/ITIStextPhrase.h deleted file mode 100644 index 8bb3b2d97..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ITIStextPhrase.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ITIStextPhrase_H_ -#define _ITIStextPhrase_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IA5String.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ITIStextPhrase */ -typedef IA5String_t ITIStextPhrase_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ITIStextPhrase_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ITIStextPhrase; -asn_struct_free_f ITIStextPhrase_free; -asn_struct_print_f ITIStextPhrase_print; -asn_constr_check_f ITIStextPhrase_constraint; -ber_type_decoder_f ITIStextPhrase_decode_ber; -der_type_encoder_f ITIStextPhrase_encode_der; -xer_type_decoder_f ITIStextPhrase_decode_xer; -xer_type_encoder_f ITIStextPhrase_encode_xer; -oer_type_decoder_f ITIStextPhrase_decode_oer; -oer_type_encoder_f ITIStextPhrase_encode_oer; -per_type_decoder_f ITIStextPhrase_decode_uper; -per_type_encoder_f ITIStextPhrase_encode_uper; -per_type_decoder_f ITIStextPhrase_decode_aper; -per_type_encoder_f ITIStextPhrase_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ITIStextPhrase_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Ice.c b/src/tmx/Asn_J2735/src/r2024/Ice.c new file mode 100644 index 000000000..588636628 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Ice.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Ice.h" + +asn_TYPE_member_t asn_MBR_Ice_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Ice, type), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IceType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "type" + }, +}; +static const ber_tlv_tag_t asn_DEF_Ice_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Ice_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* type */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Ice_specs_1 = { + sizeof(struct Ice), + offsetof(struct Ice, _asn_ctx), + asn_MAP_Ice_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Ice = { + "Ice", + "Ice", + &asn_OP_SEQUENCE, + asn_DEF_Ice_tags_1, + sizeof(asn_DEF_Ice_tags_1) + /sizeof(asn_DEF_Ice_tags_1[0]), /* 1 */ + asn_DEF_Ice_tags_1, /* Same as above */ + sizeof(asn_DEF_Ice_tags_1) + /sizeof(asn_DEF_Ice_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Ice_1, + 1, /* Elements count */ + &asn_SPC_Ice_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Ice.h b/src/tmx/Asn_J2735/src/r2024/Ice.h deleted file mode 100644 index 2df27326f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Ice.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Ice_H_ -#define _Ice_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IceType.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Ice */ -typedef struct Ice { - IceType_t type; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Ice_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Ice; -extern asn_SEQUENCE_specifics_t asn_SPC_Ice_specs_1; -extern asn_TYPE_member_t asn_MBR_Ice_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Ice_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IceType.c b/src/tmx/Asn_J2735/src/r2024/IceType.c new file mode 100644 index 000000000..41b6b2c8c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IceType.c @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IceType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_IceType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_IceType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_IceType_value2enum_1[] = { + { 0, 6, "smooth" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_IceType_enum2value_1[] = { + 0 /* smooth(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_IceType_specs_1 = { + asn_MAP_IceType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_IceType_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_IceType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_IceType = { + "IceType", + "IceType", + &asn_OP_NativeEnumerated, + asn_DEF_IceType_tags_1, + sizeof(asn_DEF_IceType_tags_1) + /sizeof(asn_DEF_IceType_tags_1[0]), /* 1 */ + asn_DEF_IceType_tags_1, /* Same as above */ + sizeof(asn_DEF_IceType_tags_1) + /sizeof(asn_DEF_IceType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_IceType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_IceType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_IceType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IceType.h b/src/tmx/Asn_J2735/src/r2024/IceType.h deleted file mode 100644 index 77c5728f8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IceType.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IceType_H_ -#define _IceType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum IceType { - IceType_smooth = 0 - /* - * Enumeration is extensible - */ -} e_IceType; - -/* IceType */ -typedef long IceType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_IceType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_IceType; -extern const asn_INTEGER_specifics_t asn_SPC_IceType_specs_1; -asn_struct_free_f IceType_free; -asn_struct_print_f IceType_print; -asn_constr_check_f IceType_constraint; -ber_type_decoder_f IceType_decode_ber; -der_type_encoder_f IceType_encode_der; -xer_type_decoder_f IceType_decode_xer; -xer_type_encoder_f IceType_encode_xer; -oer_type_decoder_f IceType_decode_oer; -oer_type_encoder_f IceType_encode_oer; -per_type_decoder_f IceType_decode_uper; -per_type_encoder_f IceType_encode_uper; -per_type_decoder_f IceType_decode_aper; -per_type_encoder_f IceType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _IceType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IncidentResponseStatus.c b/src/tmx/Asn_J2735/src/r2024/IncidentResponseStatus.c new file mode 100644 index 000000000..5a192ee97 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IncidentResponseStatus.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IncidentResponseStatus.h" + +int +IncidentResponseStatus_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_IncidentResponseStatus_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_IncidentResponseStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_IncidentResponseStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_IncidentResponseStatus = { + "IncidentResponseStatus", + "IncidentResponseStatus", + &asn_OP_NativeInteger, + asn_DEF_IncidentResponseStatus_tags_1, + sizeof(asn_DEF_IncidentResponseStatus_tags_1) + /sizeof(asn_DEF_IncidentResponseStatus_tags_1[0]), /* 1 */ + asn_DEF_IncidentResponseStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_IncidentResponseStatus_tags_1) + /sizeof(asn_DEF_IncidentResponseStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_IncidentResponseStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_IncidentResponseStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + IncidentResponseStatus_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IncidentResponseStatus.h b/src/tmx/Asn_J2735/src/r2024/IncidentResponseStatus.h deleted file mode 100644 index ef47c801f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IncidentResponseStatus.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IncidentResponseStatus_H_ -#define _IncidentResponseStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum IncidentResponseStatus { - IncidentResponseStatus_unconfirmed_report = 2817, - IncidentResponseStatus_initial_response_en_route = 2818, - IncidentResponseStatus_follow_up_response_en_route = 2819, - IncidentResponseStatus_initial_response_on_scene = 2820, - IncidentResponseStatus_follow_up_response_on_scene = 2821, - IncidentResponseStatus_confirmed_report = 2822, - IncidentResponseStatus_scene_is_unsecured_at_this_time = 2823, - IncidentResponseStatus_response_scene_secured = 2824, - IncidentResponseStatus_rescue_and_recovery_work_in_progress = 2825, - IncidentResponseStatus_extraction_in_progress = 2826, - IncidentResponseStatus_clearance_work_in_progress = 2827, - IncidentResponseStatus_body_removal_operations = 2828, - IncidentResponseStatus_fire_containment_contained = 2829, - IncidentResponseStatus_fire_containment_not_contained = 2830, - IncidentResponseStatus_event_cleared = 2831, - IncidentResponseStatus_traffic_clearing = 2832, - IncidentResponseStatus_incident_closed = 2833 -} e_IncidentResponseStatus; - -/* IncidentResponseStatus */ -typedef long IncidentResponseStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_IncidentResponseStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_IncidentResponseStatus; -asn_struct_free_f IncidentResponseStatus_free; -asn_struct_print_f IncidentResponseStatus_print; -asn_constr_check_f IncidentResponseStatus_constraint; -ber_type_decoder_f IncidentResponseStatus_decode_ber; -der_type_encoder_f IncidentResponseStatus_encode_der; -xer_type_decoder_f IncidentResponseStatus_decode_xer; -xer_type_encoder_f IncidentResponseStatus_encode_xer; -oer_type_decoder_f IncidentResponseStatus_decode_oer; -oer_type_encoder_f IncidentResponseStatus_encode_oer; -per_type_decoder_f IncidentResponseStatus_decode_uper; -per_type_encoder_f IncidentResponseStatus_encode_uper; -per_type_decoder_f IncidentResponseStatus_decode_aper; -per_type_encoder_f IncidentResponseStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _IncidentResponseStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IncidentsContainer.c b/src/tmx/Asn_J2735/src/r2024/IncidentsContainer.c new file mode 100644 index 000000000..4fc072521 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IncidentsContainer.c @@ -0,0 +1,189 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IncidentsContainer.h" + +static int +memb_responderType_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 5UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_responderType_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..5)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_responderType_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 5 } /* (SIZE(1..5)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_responderType_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..5)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_responderType_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 5 } /* (SIZE(1..5)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_responderType_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_ITIS_ResponderGroupAffected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_responderType_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_responderType_specs_2 = { + sizeof(struct IncidentsContainer__responderType), + offsetof(struct IncidentsContainer__responderType, _asn_ctx), + 1, /* XER encoding is XMLValueList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_responderType_2 = { + "responderType", + "responderType", + &asn_OP_SEQUENCE_OF, + asn_DEF_responderType_tags_2, + sizeof(asn_DEF_responderType_tags_2) + /sizeof(asn_DEF_responderType_tags_2[0]) - 1, /* 1 */ + asn_DEF_responderType_tags_2, /* Same as above */ + sizeof(asn_DEF_responderType_tags_2) + /sizeof(asn_DEF_responderType_tags_2[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_responderType_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_responderType_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_responderType_2, + 1, /* Single element */ + &asn_SPC_responderType_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_IncidentsContainer_1[] = { + { ATF_POINTER, 1, offsetof(struct IncidentsContainer, responderType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_responderType_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_responderType_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_responderType_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_responderType_constraint_1 + }, + 0, 0, /* No default value */ + "responderType" + }, + { ATF_NOFLAGS, 0, offsetof(struct IncidentsContainer, incidentLocation), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "incidentLocation" + }, +}; +static const int asn_MAP_IncidentsContainer_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_IncidentsContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_IncidentsContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* responderType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* incidentLocation */ +}; +asn_SEQUENCE_specifics_t asn_SPC_IncidentsContainer_specs_1 = { + sizeof(struct IncidentsContainer), + offsetof(struct IncidentsContainer, _asn_ctx), + asn_MAP_IncidentsContainer_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_IncidentsContainer_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_IncidentsContainer = { + "IncidentsContainer", + "IncidentsContainer", + &asn_OP_SEQUENCE, + asn_DEF_IncidentsContainer_tags_1, + sizeof(asn_DEF_IncidentsContainer_tags_1) + /sizeof(asn_DEF_IncidentsContainer_tags_1[0]), /* 1 */ + asn_DEF_IncidentsContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_IncidentsContainer_tags_1) + /sizeof(asn_DEF_IncidentsContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_IncidentsContainer_1, + 2, /* Elements count */ + &asn_SPC_IncidentsContainer_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IncidentsContainer.h b/src/tmx/Asn_J2735/src/r2024/IncidentsContainer.h deleted file mode 100644 index f805a2e05..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IncidentsContainer.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IncidentsContainer_H_ -#define _IncidentsContainer_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RegionInfo.h" -#include "ITIS_ResponderGroupAffected.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* IncidentsContainer */ -typedef struct IncidentsContainer { - struct IncidentsContainer__responderType { - A_SEQUENCE_OF(ITIS_ResponderGroupAffected_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *responderType; - RegionInfo_t incidentLocation; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} IncidentsContainer_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IncidentsContainer; -extern asn_SEQUENCE_specifics_t asn_SPC_IncidentsContainer_specs_1; -extern asn_TYPE_member_t asn_MBR_IncidentsContainer_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _IncidentsContainer_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Int1Signed.c b/src/tmx/Asn_J2735/src/r2024/Int1Signed.c new file mode 100644 index 000000000..cb057bdc1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Int1Signed.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Int1Signed.h" + +int +Int1Signed_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -128L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Int1Signed_constr_1 CC_NOTUSED = { + { 1, 0 } /* (-128..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Int1Signed_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -128, 127 } /* (-128..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Int1Signed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Int1Signed = { + "Int1Signed", + "Int1Signed", + &asn_OP_NativeInteger, + asn_DEF_Int1Signed_tags_1, + sizeof(asn_DEF_Int1Signed_tags_1) + /sizeof(asn_DEF_Int1Signed_tags_1[0]), /* 1 */ + asn_DEF_Int1Signed_tags_1, /* Same as above */ + sizeof(asn_DEF_Int1Signed_tags_1) + /sizeof(asn_DEF_Int1Signed_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Int1Signed_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Int1Signed_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Int1Signed_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Int1Signed.h b/src/tmx/Asn_J2735/src/r2024/Int1Signed.h deleted file mode 100644 index 9f2db247b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Int1Signed.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Int1Signed_H_ -#define _Int1Signed_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Int1Signed */ -typedef long Int1Signed_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Int1Signed; -asn_struct_free_f Int1Signed_free; -asn_struct_print_f Int1Signed_print; -asn_constr_check_f Int1Signed_constraint; -ber_type_decoder_f Int1Signed_decode_ber; -der_type_encoder_f Int1Signed_encode_der; -xer_type_decoder_f Int1Signed_decode_xer; -xer_type_encoder_f Int1Signed_encode_xer; -oer_type_decoder_f Int1Signed_decode_oer; -oer_type_encoder_f Int1Signed_encode_oer; -per_type_decoder_f Int1Signed_decode_uper; -per_type_encoder_f Int1Signed_encode_uper; -per_type_decoder_f Int1Signed_decode_aper; -per_type_encoder_f Int1Signed_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Int1Signed_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Int1Unsigned.c b/src/tmx/Asn_J2735/src/r2024/Int1Unsigned.c new file mode 100644 index 000000000..56e9d89db --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Int1Unsigned.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Int1Unsigned.h" + +int +Int1Unsigned_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Int1Unsigned_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Int1Unsigned_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Int1Unsigned_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Int1Unsigned = { + "Int1Unsigned", + "Int1Unsigned", + &asn_OP_NativeInteger, + asn_DEF_Int1Unsigned_tags_1, + sizeof(asn_DEF_Int1Unsigned_tags_1) + /sizeof(asn_DEF_Int1Unsigned_tags_1[0]), /* 1 */ + asn_DEF_Int1Unsigned_tags_1, /* Same as above */ + sizeof(asn_DEF_Int1Unsigned_tags_1) + /sizeof(asn_DEF_Int1Unsigned_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Int1Unsigned_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Int1Unsigned_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Int1Unsigned_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Int1Unsigned.h b/src/tmx/Asn_J2735/src/r2024/Int1Unsigned.h deleted file mode 100644 index 93134f89e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Int1Unsigned.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Int1Unsigned_H_ -#define _Int1Unsigned_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Int1Unsigned */ -typedef long Int1Unsigned_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Int1Unsigned_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Int1Unsigned; -asn_struct_free_f Int1Unsigned_free; -asn_struct_print_f Int1Unsigned_print; -asn_constr_check_f Int1Unsigned_constraint; -ber_type_decoder_f Int1Unsigned_decode_ber; -der_type_encoder_f Int1Unsigned_encode_der; -xer_type_decoder_f Int1Unsigned_decode_xer; -xer_type_encoder_f Int1Unsigned_encode_xer; -oer_type_decoder_f Int1Unsigned_decode_oer; -oer_type_encoder_f Int1Unsigned_encode_oer; -per_type_decoder_f Int1Unsigned_decode_uper; -per_type_encoder_f Int1Unsigned_encode_uper; -per_type_decoder_f Int1Unsigned_decode_aper; -per_type_encoder_f Int1Unsigned_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Int1Unsigned_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Int2Signed.c b/src/tmx/Asn_J2735/src/r2024/Int2Signed.c new file mode 100644 index 000000000..90b3baef2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Int2Signed.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Int2Signed.h" + +int +Int2Signed_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32768L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Int2Signed_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32768..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Int2Signed_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Int2Signed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Int2Signed = { + "Int2Signed", + "Int2Signed", + &asn_OP_NativeInteger, + asn_DEF_Int2Signed_tags_1, + sizeof(asn_DEF_Int2Signed_tags_1) + /sizeof(asn_DEF_Int2Signed_tags_1[0]), /* 1 */ + asn_DEF_Int2Signed_tags_1, /* Same as above */ + sizeof(asn_DEF_Int2Signed_tags_1) + /sizeof(asn_DEF_Int2Signed_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Int2Signed_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Int2Signed_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Int2Signed_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Int2Signed.h b/src/tmx/Asn_J2735/src/r2024/Int2Signed.h deleted file mode 100644 index 7f5a8ee38..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Int2Signed.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Int2Signed_H_ -#define _Int2Signed_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Int2Signed */ -typedef long Int2Signed_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Int2Signed_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Int2Signed; -asn_struct_free_f Int2Signed_free; -asn_struct_print_f Int2Signed_print; -asn_constr_check_f Int2Signed_constraint; -ber_type_decoder_f Int2Signed_decode_ber; -der_type_encoder_f Int2Signed_encode_der; -xer_type_decoder_f Int2Signed_decode_xer; -xer_type_encoder_f Int2Signed_encode_xer; -oer_type_decoder_f Int2Signed_decode_oer; -oer_type_encoder_f Int2Signed_encode_oer; -per_type_decoder_f Int2Signed_decode_uper; -per_type_encoder_f Int2Signed_encode_uper; -per_type_decoder_f Int2Signed_decode_aper; -per_type_encoder_f Int2Signed_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Int2Signed_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Int2Unsigned.c b/src/tmx/Asn_J2735/src/r2024/Int2Unsigned.c new file mode 100644 index 000000000..9840e8fd4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Int2Unsigned.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Int2Unsigned.h" + +int +Int2Unsigned_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Int2Unsigned_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Int2Unsigned_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Int2Unsigned_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Int2Unsigned = { + "Int2Unsigned", + "Int2Unsigned", + &asn_OP_NativeInteger, + asn_DEF_Int2Unsigned_tags_1, + sizeof(asn_DEF_Int2Unsigned_tags_1) + /sizeof(asn_DEF_Int2Unsigned_tags_1[0]), /* 1 */ + asn_DEF_Int2Unsigned_tags_1, /* Same as above */ + sizeof(asn_DEF_Int2Unsigned_tags_1) + /sizeof(asn_DEF_Int2Unsigned_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Int2Unsigned_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Int2Unsigned_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Int2Unsigned_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Int2Unsigned.h b/src/tmx/Asn_J2735/src/r2024/Int2Unsigned.h deleted file mode 100644 index 19e0dd43b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Int2Unsigned.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Int2Unsigned_H_ -#define _Int2Unsigned_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Int2Unsigned */ -typedef long Int2Unsigned_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Int2Unsigned_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Int2Unsigned; -asn_struct_free_f Int2Unsigned_free; -asn_struct_print_f Int2Unsigned_print; -asn_constr_check_f Int2Unsigned_constraint; -ber_type_decoder_f Int2Unsigned_decode_ber; -der_type_encoder_f Int2Unsigned_encode_der; -xer_type_decoder_f Int2Unsigned_decode_xer; -xer_type_encoder_f Int2Unsigned_encode_xer; -oer_type_decoder_f Int2Unsigned_decode_oer; -oer_type_encoder_f Int2Unsigned_encode_oer; -per_type_decoder_f Int2Unsigned_decode_uper; -per_type_encoder_f Int2Unsigned_encode_uper; -per_type_decoder_f Int2Unsigned_decode_aper; -per_type_encoder_f Int2Unsigned_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Int2Unsigned_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Int3Unsigned.c b/src/tmx/Asn_J2735/src/r2024/Int3Unsigned.c new file mode 100644 index 000000000..28b510e0f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Int3Unsigned.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Int3Unsigned.h" + +int +Int3Unsigned_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 16777215L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Int3Unsigned_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..16777215) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Int3Unsigned_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 24, -1, 0, 16777215 } /* (0..16777215) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Int3Unsigned_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Int3Unsigned = { + "Int3Unsigned", + "Int3Unsigned", + &asn_OP_NativeInteger, + asn_DEF_Int3Unsigned_tags_1, + sizeof(asn_DEF_Int3Unsigned_tags_1) + /sizeof(asn_DEF_Int3Unsigned_tags_1[0]), /* 1 */ + asn_DEF_Int3Unsigned_tags_1, /* Same as above */ + sizeof(asn_DEF_Int3Unsigned_tags_1) + /sizeof(asn_DEF_Int3Unsigned_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Int3Unsigned_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Int3Unsigned_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Int3Unsigned_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Int3Unsigned.h b/src/tmx/Asn_J2735/src/r2024/Int3Unsigned.h deleted file mode 100644 index 29998b68d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Int3Unsigned.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Int3Unsigned_H_ -#define _Int3Unsigned_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Int3Unsigned */ -typedef long Int3Unsigned_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Int3Unsigned_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Int3Unsigned; -asn_struct_free_f Int3Unsigned_free; -asn_struct_print_f Int3Unsigned_print; -asn_constr_check_f Int3Unsigned_constraint; -ber_type_decoder_f Int3Unsigned_decode_ber; -der_type_encoder_f Int3Unsigned_encode_der; -xer_type_decoder_f Int3Unsigned_decode_xer; -xer_type_encoder_f Int3Unsigned_encode_xer; -oer_type_decoder_f Int3Unsigned_decode_oer; -oer_type_encoder_f Int3Unsigned_encode_oer; -per_type_decoder_f Int3Unsigned_decode_uper; -per_type_encoder_f Int3Unsigned_encode_uper; -per_type_decoder_f Int3Unsigned_decode_aper; -per_type_encoder_f Int3Unsigned_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Int3Unsigned_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Int4Signed.c b/src/tmx/Asn_J2735/src/r2024/Int4Signed.c new file mode 100644 index 000000000..552b88689 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Int4Signed.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Int4Signed.h" + +int +Int4Signed_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= (-2147483647L - 1) && value <= 2147483647L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Int4Signed_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-2147483648..2147483647) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Int4Signed_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, (-2147483647L - 1), 2147483647 } /* (-2147483648..2147483647) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Int4Signed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Int4Signed = { + "Int4Signed", + "Int4Signed", + &asn_OP_NativeInteger, + asn_DEF_Int4Signed_tags_1, + sizeof(asn_DEF_Int4Signed_tags_1) + /sizeof(asn_DEF_Int4Signed_tags_1[0]), /* 1 */ + asn_DEF_Int4Signed_tags_1, /* Same as above */ + sizeof(asn_DEF_Int4Signed_tags_1) + /sizeof(asn_DEF_Int4Signed_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Int4Signed_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Int4Signed_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Int4Signed_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Int4Signed.h b/src/tmx/Asn_J2735/src/r2024/Int4Signed.h deleted file mode 100644 index 036a5f90e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Int4Signed.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Int4Signed_H_ -#define _Int4Signed_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Int4Signed */ -typedef long Int4Signed_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Int4Signed_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Int4Signed; -asn_struct_free_f Int4Signed_free; -asn_struct_print_f Int4Signed_print; -asn_constr_check_f Int4Signed_constraint; -ber_type_decoder_f Int4Signed_decode_ber; -der_type_encoder_f Int4Signed_encode_der; -xer_type_decoder_f Int4Signed_decode_xer; -xer_type_encoder_f Int4Signed_encode_xer; -oer_type_decoder_f Int4Signed_decode_oer; -oer_type_encoder_f Int4Signed_encode_oer; -per_type_decoder_f Int4Signed_decode_uper; -per_type_encoder_f Int4Signed_encode_uper; -per_type_decoder_f Int4Signed_decode_aper; -per_type_encoder_f Int4Signed_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Int4Signed_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Int4Unsigned.c b/src/tmx/Asn_J2735/src/r2024/Int4Unsigned.c new file mode 100644 index 000000000..ba88f8076 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Int4Unsigned.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Int4Unsigned.h" + +int +Int4Unsigned_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Int4Unsigned_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..4294967295) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Int4Unsigned_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +const asn_INTEGER_specifics_t asn_SPC_Int4Unsigned_specs_1 = { + 0, 0, 0, 0, 0, + 0, /* Native long size */ + 1 /* Unsigned representation */ +}; +static const ber_tlv_tag_t asn_DEF_Int4Unsigned_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Int4Unsigned = { + "Int4Unsigned", + "Int4Unsigned", + &asn_OP_NativeInteger, + asn_DEF_Int4Unsigned_tags_1, + sizeof(asn_DEF_Int4Unsigned_tags_1) + /sizeof(asn_DEF_Int4Unsigned_tags_1[0]), /* 1 */ + asn_DEF_Int4Unsigned_tags_1, /* Same as above */ + sizeof(asn_DEF_Int4Unsigned_tags_1) + /sizeof(asn_DEF_Int4Unsigned_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Int4Unsigned_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Int4Unsigned_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Int4Unsigned_constraint + }, + 0, 0, /* No members */ + &asn_SPC_Int4Unsigned_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Int4Unsigned.h b/src/tmx/Asn_J2735/src/r2024/Int4Unsigned.h deleted file mode 100644 index ec7509d7f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Int4Unsigned.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Int4Unsigned_H_ -#define _Int4Unsigned_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Int4Unsigned */ -typedef unsigned long Int4Unsigned_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Int4Unsigned_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Int4Unsigned; -extern const asn_INTEGER_specifics_t asn_SPC_Int4Unsigned_specs_1; -asn_struct_free_f Int4Unsigned_free; -asn_struct_print_f Int4Unsigned_print; -asn_constr_check_f Int4Unsigned_constraint; -ber_type_decoder_f Int4Unsigned_decode_ber; -der_type_encoder_f Int4Unsigned_encode_der; -xer_type_decoder_f Int4Unsigned_decode_xer; -xer_type_encoder_f Int4Unsigned_encode_xer; -oer_type_decoder_f Int4Unsigned_decode_oer; -oer_type_encoder_f Int4Unsigned_encode_oer; -per_type_decoder_f Int4Unsigned_decode_uper; -per_type_encoder_f Int4Unsigned_encode_uper; -per_type_decoder_f Int4Unsigned_decode_aper; -per_type_encoder_f Int4Unsigned_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Int4Unsigned_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Int8Signed.c b/src/tmx/Asn_J2735/src/r2024/Int8Signed.c new file mode 100644 index 000000000..dc6da9b67 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Int8Signed.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Int8Signed.h" + +int +Int8Signed_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const INTEGER_t *st = (const INTEGER_t *)sptr; + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(asn_INTEGER2long(st, &value)) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value too large (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if((value >= -9223372036854775808L && value <= 9223372036854775807L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using INTEGER, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Int8Signed_constr_1 CC_NOTUSED = { + { 8, 0 } /* (-9223372036854775808..9223372036854775807) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Int8Signed_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 64, -1, -9223372036854775808, 9223372036854775807 } /* (-9223372036854775808..9223372036854775807) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Int8Signed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Int8Signed = { + "Int8Signed", + "Int8Signed", + &asn_OP_INTEGER, + asn_DEF_Int8Signed_tags_1, + sizeof(asn_DEF_Int8Signed_tags_1) + /sizeof(asn_DEF_Int8Signed_tags_1[0]), /* 1 */ + asn_DEF_Int8Signed_tags_1, /* Same as above */ + sizeof(asn_DEF_Int8Signed_tags_1) + /sizeof(asn_DEF_Int8Signed_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Int8Signed_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Int8Signed_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Int8Signed_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Int8Signed.h b/src/tmx/Asn_J2735/src/r2024/Int8Signed.h deleted file mode 100644 index 3c96ca83a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Int8Signed.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Int8Signed_H_ -#define _Int8Signed_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "INTEGER.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Int8Signed */ -typedef INTEGER_t Int8Signed_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Int8Signed; -asn_struct_free_f Int8Signed_free; -asn_struct_print_f Int8Signed_print; -asn_constr_check_f Int8Signed_constraint; -ber_type_decoder_f Int8Signed_decode_ber; -der_type_encoder_f Int8Signed_encode_der; -xer_type_decoder_f Int8Signed_decode_xer; -xer_type_encoder_f Int8Signed_encode_xer; -oer_type_decoder_f Int8Signed_decode_oer; -oer_type_encoder_f Int8Signed_encode_oer; -per_type_decoder_f Int8Signed_decode_uper; -per_type_encoder_f Int8Signed_encode_uper; -per_type_decoder_f Int8Signed_decode_aper; -per_type_encoder_f Int8Signed_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Int8Signed_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Int8Unsigned.c b/src/tmx/Asn_J2735/src/r2024/Int8Unsigned.c new file mode 100644 index 000000000..aa24b06c3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Int8Unsigned.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Int8Unsigned.h" + +int +Int8Unsigned_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const INTEGER_t *st = (const INTEGER_t *)sptr; + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(asn_INTEGER2long(st, &value)) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value too large (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if((value >= 0L && value <= 9223372036854775807L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using INTEGER, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Int8Unsigned_constr_1 CC_NOTUSED = { + { 8, 1 } /* (0..9223372036854775807) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Int8Unsigned_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 63, -1, 0, 9223372036854775807 } /* (0..9223372036854775807) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Int8Unsigned_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Int8Unsigned = { + "Int8Unsigned", + "Int8Unsigned", + &asn_OP_INTEGER, + asn_DEF_Int8Unsigned_tags_1, + sizeof(asn_DEF_Int8Unsigned_tags_1) + /sizeof(asn_DEF_Int8Unsigned_tags_1[0]), /* 1 */ + asn_DEF_Int8Unsigned_tags_1, /* Same as above */ + sizeof(asn_DEF_Int8Unsigned_tags_1) + /sizeof(asn_DEF_Int8Unsigned_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Int8Unsigned_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Int8Unsigned_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Int8Unsigned_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Int8Unsigned.h b/src/tmx/Asn_J2735/src/r2024/Int8Unsigned.h deleted file mode 100644 index 50123550d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Int8Unsigned.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Int8Unsigned_H_ -#define _Int8Unsigned_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "INTEGER.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Int8Unsigned */ -typedef INTEGER_t Int8Unsigned_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Int8Unsigned; -asn_struct_free_f Int8Unsigned_free; -asn_struct_print_f Int8Unsigned_print; -asn_constr_check_f Int8Unsigned_constraint; -ber_type_decoder_f Int8Unsigned_decode_ber; -der_type_encoder_f Int8Unsigned_encode_der; -xer_type_decoder_f Int8Unsigned_decode_xer; -xer_type_encoder_f Int8Unsigned_encode_xer; -oer_type_decoder_f Int8Unsigned_decode_oer; -oer_type_encoder_f Int8Unsigned_encode_oer; -per_type_decoder_f Int8Unsigned_decode_uper; -per_type_encoder_f Int8Unsigned_encode_uper; -per_type_decoder_f Int8Unsigned_decode_aper; -per_type_encoder_f Int8Unsigned_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Int8Unsigned_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionAccessPoint.c b/src/tmx/Asn_J2735/src/r2024/IntersectionAccessPoint.c new file mode 100644 index 000000000..21bd0592a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IntersectionAccessPoint.c @@ -0,0 +1,111 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IntersectionAccessPoint.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_IntersectionAccessPoint_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_IntersectionAccessPoint_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_IntersectionAccessPoint_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct IntersectionAccessPoint, choice.lane), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lane" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionAccessPoint, choice.approach), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ApproachID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "approach" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionAccessPoint, choice.connection), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneConnectionID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "connection" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_IntersectionAccessPoint_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lane */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* approach */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* connection */ +}; +asn_CHOICE_specifics_t asn_SPC_IntersectionAccessPoint_specs_1 = { + sizeof(struct IntersectionAccessPoint), + offsetof(struct IntersectionAccessPoint, _asn_ctx), + offsetof(struct IntersectionAccessPoint, present), + sizeof(((struct IntersectionAccessPoint *)0)->present), + asn_MAP_IntersectionAccessPoint_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, + 3 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_IntersectionAccessPoint = { + "IntersectionAccessPoint", + "IntersectionAccessPoint", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_IntersectionAccessPoint_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_IntersectionAccessPoint_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_IntersectionAccessPoint_1, + 3, /* Elements count */ + &asn_SPC_IntersectionAccessPoint_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionAccessPoint.h b/src/tmx/Asn_J2735/src/r2024/IntersectionAccessPoint.h deleted file mode 100644 index 00735b330..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IntersectionAccessPoint.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IntersectionAccessPoint_H_ -#define _IntersectionAccessPoint_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LaneID.h" -#include "ApproachID.h" -#include "LaneConnectionID.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum IntersectionAccessPoint_PR { - IntersectionAccessPoint_PR_NOTHING, /* No components present */ - IntersectionAccessPoint_PR_lane, - IntersectionAccessPoint_PR_approach, - IntersectionAccessPoint_PR_connection - /* Extensions may appear below */ - -} IntersectionAccessPoint_PR; - -/* IntersectionAccessPoint */ -typedef struct IntersectionAccessPoint { - IntersectionAccessPoint_PR present; - union IntersectionAccessPoint_u { - LaneID_t lane; - ApproachID_t approach; - LaneConnectionID_t connection; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} IntersectionAccessPoint_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IntersectionAccessPoint; -extern asn_CHOICE_specifics_t asn_SPC_IntersectionAccessPoint_specs_1; -extern asn_TYPE_member_t asn_MBR_IntersectionAccessPoint_1[3]; -extern asn_per_constraints_t asn_PER_type_IntersectionAccessPoint_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _IntersectionAccessPoint_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionCollision.c b/src/tmx/Asn_J2735/src/r2024/IntersectionCollision.c new file mode 100644 index 000000000..952d4e7ff --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IntersectionCollision.c @@ -0,0 +1,333 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "IntersectionCollision" + * found in "J2735-IntersectionCollision-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IntersectionCollision.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_11 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_11 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_11 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_11 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_11[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_IntersectionCollision, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_11[] = { + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_11 = { + sizeof(struct IntersectionCollision__regional), + offsetof(struct IntersectionCollision__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_11 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_11, + sizeof(asn_DEF_regional_tags_11) + /sizeof(asn_DEF_regional_tags_11[0]) - 1, /* 1 */ + asn_DEF_regional_tags_11, /* Same as above */ + sizeof(asn_DEF_regional_tags_11) + /sizeof(asn_DEF_regional_tags_11[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_11, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_11, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_11, + 1, /* Single element */ + &asn_SPC_regional_specs_11 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_IntersectionCollision_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct IntersectionCollision, msgCnt), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msgCnt" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionCollision, id), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_POINTER, 4, offsetof(struct IntersectionCollision, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_POINTER, 3, offsetof(struct IntersectionCollision, partOne), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BSMcoreData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "partOne" + }, + { ATF_POINTER, 2, offsetof(struct IntersectionCollision, path), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PathHistory, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "path" + }, + { ATF_POINTER, 1, offsetof(struct IntersectionCollision, pathPrediction), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PathPrediction, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pathPrediction" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionCollision, intersectionID), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IntersectionReferenceID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "intersectionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionCollision, laneNumber), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ApproachOrLane, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneNumber" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionCollision, eventFlag), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleEventFlags, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventFlag" + }, + { ATF_POINTER, 1, offsetof(struct IntersectionCollision, regional), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + 0, + &asn_DEF_regional_11, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_11, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_11, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_IntersectionCollision_oms_1[] = { 2, 3, 4, 5, 9 }; +static const ber_tlv_tag_t asn_DEF_IntersectionCollision_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_IntersectionCollision_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* msgCnt */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* partOne */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* path */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* pathPrediction */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* intersectionID */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* laneNumber */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* eventFlag */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_IntersectionCollision_specs_1 = { + sizeof(struct IntersectionCollision), + offsetof(struct IntersectionCollision, _asn_ctx), + asn_MAP_IntersectionCollision_tag2el_1, + 10, /* Count of tags in the map */ + asn_MAP_IntersectionCollision_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 10, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_IntersectionCollision = { + "IntersectionCollision", + "IntersectionCollision", + &asn_OP_SEQUENCE, + asn_DEF_IntersectionCollision_tags_1, + sizeof(asn_DEF_IntersectionCollision_tags_1) + /sizeof(asn_DEF_IntersectionCollision_tags_1[0]), /* 1 */ + asn_DEF_IntersectionCollision_tags_1, /* Same as above */ + sizeof(asn_DEF_IntersectionCollision_tags_1) + /sizeof(asn_DEF_IntersectionCollision_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_IntersectionCollision_1, + 10, /* Elements count */ + &asn_SPC_IntersectionCollision_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionCollision.h b/src/tmx/Asn_J2735/src/r2024/IntersectionCollision.h deleted file mode 100644 index a45250225..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IntersectionCollision.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "IntersectionCollision" - * found in "J2735-IntersectionCollision-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IntersectionCollision_H_ -#define _IntersectionCollision_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_MsgCount.h" -#include "TemporaryID.h" -#include "MinuteOfTheYear.h" -#include "IntersectionReferenceID.h" -#include "ApproachOrLane.h" -#include "VehicleEventFlags.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct BSMcoreData; -struct PathHistory; -struct PathPrediction; -struct Reg_IntersectionCollision; - -/* IntersectionCollision */ -typedef struct IntersectionCollision { - Common_MsgCount_t msgCnt; - TemporaryID_t id; - MinuteOfTheYear_t *timeStamp; /* OPTIONAL */ - struct BSMcoreData *partOne; /* OPTIONAL */ - struct PathHistory *path; /* OPTIONAL */ - struct PathPrediction *pathPrediction; /* OPTIONAL */ - IntersectionReferenceID_t intersectionID; - ApproachOrLane_t laneNumber; - VehicleEventFlags_t eventFlag; - struct IntersectionCollision__regional { - A_SEQUENCE_OF(struct Reg_IntersectionCollision) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} IntersectionCollision_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IntersectionCollision; -extern asn_SEQUENCE_specifics_t asn_SPC_IntersectionCollision_specs_1; -extern asn_TYPE_member_t asn_MBR_IntersectionCollision_1[10]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "BSMcoreData.h" -#include "PathHistory.h" -#include "PathPrediction.h" -#include "RegionalExtension.h" - -#endif /* _IntersectionCollision_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionGeometry.c b/src/tmx/Asn_J2735/src/r2024/IntersectionGeometry.c new file mode 100644 index 000000000..320c3f259 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IntersectionGeometry.c @@ -0,0 +1,333 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IntersectionGeometry.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_10 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_10 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_10 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_10 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_10[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_IntersectionGeometry, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_10[] = { + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_10 = { + sizeof(struct IntersectionGeometry__regional), + offsetof(struct IntersectionGeometry__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_10 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_10, + sizeof(asn_DEF_regional_tags_10) + /sizeof(asn_DEF_regional_tags_10[0]) - 1, /* 1 */ + asn_DEF_regional_tags_10, /* Same as above */ + sizeof(asn_DEF_regional_tags_10) + /sizeof(asn_DEF_regional_tags_10[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_10, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_10, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_10, + 1, /* Single element */ + &asn_SPC_regional_specs_10 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_IntersectionGeometry_1[] = { + { ATF_POINTER, 1, offsetof(struct IntersectionGeometry, name), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveName, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "name" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionGeometry, id), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IntersectionReferenceID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionGeometry, revision), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "revision" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionGeometry, refPoint), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "refPoint" + }, + { ATF_POINTER, 2, offsetof(struct IntersectionGeometry, laneWidth), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneWidth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneWidth" + }, + { ATF_POINTER, 1, offsetof(struct IntersectionGeometry, speedLimits), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedLimitList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedLimits" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionGeometry, laneSet), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneSet" + }, + { ATF_POINTER, 3, offsetof(struct IntersectionGeometry, preemptPriorityData), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PreemptPriorityList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "preemptPriorityData" + }, + { ATF_POINTER, 2, offsetof(struct IntersectionGeometry, regional), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + 0, + &asn_DEF_regional_10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_10, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_10, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, + { ATF_POINTER, 1, offsetof(struct IntersectionGeometry, roadAuthorityID), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RoadAuthorityID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadAuthorityID" + }, +}; +static const int asn_MAP_IntersectionGeometry_oms_1[] = { 0, 4, 5, 7, 8, 9 }; +static const ber_tlv_tag_t asn_DEF_IntersectionGeometry_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_IntersectionGeometry_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* name */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* revision */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* refPoint */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* laneWidth */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* speedLimits */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* laneSet */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* preemptPriorityData */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* regional */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* roadAuthorityID */ +}; +asn_SEQUENCE_specifics_t asn_SPC_IntersectionGeometry_specs_1 = { + sizeof(struct IntersectionGeometry), + offsetof(struct IntersectionGeometry, _asn_ctx), + asn_MAP_IntersectionGeometry_tag2el_1, + 10, /* Count of tags in the map */ + asn_MAP_IntersectionGeometry_oms_1, /* Optional members */ + 5, 1, /* Root/Additions */ + 9, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_IntersectionGeometry = { + "IntersectionGeometry", + "IntersectionGeometry", + &asn_OP_SEQUENCE, + asn_DEF_IntersectionGeometry_tags_1, + sizeof(asn_DEF_IntersectionGeometry_tags_1) + /sizeof(asn_DEF_IntersectionGeometry_tags_1[0]), /* 1 */ + asn_DEF_IntersectionGeometry_tags_1, /* Same as above */ + sizeof(asn_DEF_IntersectionGeometry_tags_1) + /sizeof(asn_DEF_IntersectionGeometry_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_IntersectionGeometry_1, + 10, /* Elements count */ + &asn_SPC_IntersectionGeometry_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionGeometry.h b/src/tmx/Asn_J2735/src/r2024/IntersectionGeometry.h deleted file mode 100644 index 5d667f6ae..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IntersectionGeometry.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IntersectionGeometry_H_ -#define _IntersectionGeometry_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DescriptiveName.h" -#include "IntersectionReferenceID.h" -#include "Common_MsgCount.h" -#include "Position3D.h" -#include "LaneWidth.h" -#include "LaneList.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct SpeedLimitList; -struct PreemptPriorityList; -struct RoadAuthorityID; -struct Reg_IntersectionGeometry; - -/* IntersectionGeometry */ -typedef struct IntersectionGeometry { - DescriptiveName_t *name; /* OPTIONAL */ - IntersectionReferenceID_t id; - Common_MsgCount_t revision; - Position3D_t refPoint; - LaneWidth_t *laneWidth; /* OPTIONAL */ - struct SpeedLimitList *speedLimits; /* OPTIONAL */ - LaneList_t laneSet; - struct PreemptPriorityList *preemptPriorityData; /* OPTIONAL */ - struct IntersectionGeometry__regional { - A_SEQUENCE_OF(struct Reg_IntersectionGeometry) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - struct RoadAuthorityID *roadAuthorityID; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} IntersectionGeometry_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IntersectionGeometry; -extern asn_SEQUENCE_specifics_t asn_SPC_IntersectionGeometry_specs_1; -extern asn_TYPE_member_t asn_MBR_IntersectionGeometry_1[10]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "SpeedLimitList.h" -#include "PreemptPriorityList.h" -#include "RoadAuthorityID.h" -#include "RegionalExtension.h" - -#endif /* _IntersectionGeometry_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionGeometryList.c b/src/tmx/Asn_J2735/src/r2024/IntersectionGeometryList.c new file mode 100644 index 000000000..ae81873c7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IntersectionGeometryList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IntersectionGeometryList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_IntersectionGeometryList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_IntersectionGeometryList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_IntersectionGeometryList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IntersectionGeometry, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_IntersectionGeometryList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_IntersectionGeometryList_specs_1 = { + sizeof(struct IntersectionGeometryList), + offsetof(struct IntersectionGeometryList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_IntersectionGeometryList = { + "IntersectionGeometryList", + "IntersectionGeometryList", + &asn_OP_SEQUENCE_OF, + asn_DEF_IntersectionGeometryList_tags_1, + sizeof(asn_DEF_IntersectionGeometryList_tags_1) + /sizeof(asn_DEF_IntersectionGeometryList_tags_1[0]), /* 1 */ + asn_DEF_IntersectionGeometryList_tags_1, /* Same as above */ + sizeof(asn_DEF_IntersectionGeometryList_tags_1) + /sizeof(asn_DEF_IntersectionGeometryList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_IntersectionGeometryList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_IntersectionGeometryList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_IntersectionGeometryList_1, + 1, /* Single element */ + &asn_SPC_IntersectionGeometryList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionGeometryList.h b/src/tmx/Asn_J2735/src/r2024/IntersectionGeometryList.h deleted file mode 100644 index a815fd783..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IntersectionGeometryList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IntersectionGeometryList_H_ -#define _IntersectionGeometryList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IntersectionGeometry; - -/* IntersectionGeometryList */ -typedef struct IntersectionGeometryList { - A_SEQUENCE_OF(struct IntersectionGeometry) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} IntersectionGeometryList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IntersectionGeometryList; -extern asn_SET_OF_specifics_t asn_SPC_IntersectionGeometryList_specs_1; -extern asn_TYPE_member_t asn_MBR_IntersectionGeometryList_1[1]; -extern asn_per_constraints_t asn_PER_type_IntersectionGeometryList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IntersectionGeometry.h" - -#endif /* _IntersectionGeometryList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionID.c b/src/tmx/Asn_J2735/src/r2024/IntersectionID.c new file mode 100644 index 000000000..a9b2b0b07 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IntersectionID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IntersectionID.h" + +int +IntersectionID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_IntersectionID_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_IntersectionID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_IntersectionID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_IntersectionID = { + "IntersectionID", + "IntersectionID", + &asn_OP_NativeInteger, + asn_DEF_IntersectionID_tags_1, + sizeof(asn_DEF_IntersectionID_tags_1) + /sizeof(asn_DEF_IntersectionID_tags_1[0]), /* 1 */ + asn_DEF_IntersectionID_tags_1, /* Same as above */ + sizeof(asn_DEF_IntersectionID_tags_1) + /sizeof(asn_DEF_IntersectionID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_IntersectionID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_IntersectionID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + IntersectionID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionID.h b/src/tmx/Asn_J2735/src/r2024/IntersectionID.h deleted file mode 100644 index 4f9223f3e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IntersectionID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IntersectionID_H_ -#define _IntersectionID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* IntersectionID */ -typedef long IntersectionID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_IntersectionID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_IntersectionID; -asn_struct_free_f IntersectionID_free; -asn_struct_print_f IntersectionID_print; -asn_constr_check_f IntersectionID_constraint; -ber_type_decoder_f IntersectionID_decode_ber; -der_type_encoder_f IntersectionID_encode_der; -xer_type_decoder_f IntersectionID_decode_xer; -xer_type_encoder_f IntersectionID_encode_xer; -oer_type_decoder_f IntersectionID_decode_oer; -oer_type_encoder_f IntersectionID_encode_oer; -per_type_decoder_f IntersectionID_decode_uper; -per_type_encoder_f IntersectionID_encode_uper; -per_type_decoder_f IntersectionID_decode_aper; -per_type_encoder_f IntersectionID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _IntersectionID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionReferenceID.c b/src/tmx/Asn_J2735/src/r2024/IntersectionReferenceID.c new file mode 100644 index 000000000..c4db786c3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IntersectionReferenceID.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IntersectionReferenceID.h" + +asn_TYPE_member_t asn_MBR_IntersectionReferenceID_1[] = { + { ATF_POINTER, 1, offsetof(struct IntersectionReferenceID, region), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadRegulatorID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "region" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionReferenceID, id), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IntersectionID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, +}; +static const int asn_MAP_IntersectionReferenceID_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_IntersectionReferenceID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_IntersectionReferenceID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* region */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* id */ +}; +asn_SEQUENCE_specifics_t asn_SPC_IntersectionReferenceID_specs_1 = { + sizeof(struct IntersectionReferenceID), + offsetof(struct IntersectionReferenceID, _asn_ctx), + asn_MAP_IntersectionReferenceID_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_IntersectionReferenceID_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_IntersectionReferenceID = { + "IntersectionReferenceID", + "IntersectionReferenceID", + &asn_OP_SEQUENCE, + asn_DEF_IntersectionReferenceID_tags_1, + sizeof(asn_DEF_IntersectionReferenceID_tags_1) + /sizeof(asn_DEF_IntersectionReferenceID_tags_1[0]), /* 1 */ + asn_DEF_IntersectionReferenceID_tags_1, /* Same as above */ + sizeof(asn_DEF_IntersectionReferenceID_tags_1) + /sizeof(asn_DEF_IntersectionReferenceID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_IntersectionReferenceID_1, + 2, /* Elements count */ + &asn_SPC_IntersectionReferenceID_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionReferenceID.h b/src/tmx/Asn_J2735/src/r2024/IntersectionReferenceID.h deleted file mode 100644 index 364228c97..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IntersectionReferenceID.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IntersectionReferenceID_H_ -#define _IntersectionReferenceID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RoadRegulatorID.h" -#include "IntersectionID.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* IntersectionReferenceID */ -typedef struct IntersectionReferenceID { - RoadRegulatorID_t *region; /* OPTIONAL */ - IntersectionID_t id; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} IntersectionReferenceID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IntersectionReferenceID; -extern asn_SEQUENCE_specifics_t asn_SPC_IntersectionReferenceID_specs_1; -extern asn_TYPE_member_t asn_MBR_IntersectionReferenceID_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _IntersectionReferenceID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionState-addGrpC.c b/src/tmx/Asn_J2735/src/r2024/IntersectionState-addGrpC.c new file mode 100644 index 000000000..0e0cac728 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IntersectionState-addGrpC.c @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IntersectionState-addGrpC.h" + +asn_TYPE_member_t asn_MBR_IntersectionState_addGrpC_1[] = { + { ATF_POINTER, 1, offsetof(struct IntersectionState_addGrpC, activePrioritizations), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PrioritizationResponseList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "activePrioritizations" + }, +}; +static const int asn_MAP_IntersectionState_addGrpC_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_IntersectionState_addGrpC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_IntersectionState_addGrpC_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* activePrioritizations */ +}; +asn_SEQUENCE_specifics_t asn_SPC_IntersectionState_addGrpC_specs_1 = { + sizeof(struct IntersectionState_addGrpC), + offsetof(struct IntersectionState_addGrpC, _asn_ctx), + asn_MAP_IntersectionState_addGrpC_tag2el_1, + 1, /* Count of tags in the map */ + asn_MAP_IntersectionState_addGrpC_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_IntersectionState_addGrpC = { + "IntersectionState-addGrpC", + "IntersectionState-addGrpC", + &asn_OP_SEQUENCE, + asn_DEF_IntersectionState_addGrpC_tags_1, + sizeof(asn_DEF_IntersectionState_addGrpC_tags_1) + /sizeof(asn_DEF_IntersectionState_addGrpC_tags_1[0]), /* 1 */ + asn_DEF_IntersectionState_addGrpC_tags_1, /* Same as above */ + sizeof(asn_DEF_IntersectionState_addGrpC_tags_1) + /sizeof(asn_DEF_IntersectionState_addGrpC_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_IntersectionState_addGrpC_1, + 1, /* Elements count */ + &asn_SPC_IntersectionState_addGrpC_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionState-addGrpC.h b/src/tmx/Asn_J2735/src/r2024/IntersectionState-addGrpC.h deleted file mode 100644 index c23f4e92e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IntersectionState-addGrpC.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IntersectionState_addGrpC_H_ -#define _IntersectionState_addGrpC_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct PrioritizationResponseList; - -/* IntersectionState-addGrpC */ -typedef struct IntersectionState_addGrpC { - struct PrioritizationResponseList *activePrioritizations; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} IntersectionState_addGrpC_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IntersectionState_addGrpC; -extern asn_SEQUENCE_specifics_t asn_SPC_IntersectionState_addGrpC_specs_1; -extern asn_TYPE_member_t asn_MBR_IntersectionState_addGrpC_1[1]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "PrioritizationResponseList.h" - -#endif /* _IntersectionState_addGrpC_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionState.c b/src/tmx/Asn_J2735/src/r2024/IntersectionState.c new file mode 100644 index 000000000..3bc110c28 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IntersectionState.c @@ -0,0 +1,351 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IntersectionState.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_11 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_11 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_11 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_11 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_11[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_IntersectionState, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_11[] = { + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_11 = { + sizeof(struct IntersectionState__regional), + offsetof(struct IntersectionState__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_11 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_11, + sizeof(asn_DEF_regional_tags_11) + /sizeof(asn_DEF_regional_tags_11[0]) - 1, /* 1 */ + asn_DEF_regional_tags_11, /* Same as above */ + sizeof(asn_DEF_regional_tags_11) + /sizeof(asn_DEF_regional_tags_11[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_11, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_11, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_11, + 1, /* Single element */ + &asn_SPC_regional_specs_11 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_IntersectionState_1[] = { + { ATF_POINTER, 1, offsetof(struct IntersectionState, name), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveName, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "name" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionState, id), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IntersectionReferenceID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionState, revision), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "revision" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionState, status), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IntersectionStatusObject, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "status" + }, + { ATF_POINTER, 3, offsetof(struct IntersectionState, moy), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "moy" + }, + { ATF_POINTER, 2, offsetof(struct IntersectionState, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_POINTER, 1, offsetof(struct IntersectionState, enabledLanes), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EnabledLaneList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "enabledLanes" + }, + { ATF_NOFLAGS, 0, offsetof(struct IntersectionState, states), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MovementList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "states" + }, + { ATF_POINTER, 3, offsetof(struct IntersectionState, maneuverAssistList), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ManeuverAssistList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maneuverAssistList" + }, + { ATF_POINTER, 2, offsetof(struct IntersectionState, regional), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + 0, + &asn_DEF_regional_11, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_11, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_11, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, + { ATF_POINTER, 1, offsetof(struct IntersectionState, roadAuthorityID), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RoadAuthorityID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadAuthorityID" + }, +}; +static const int asn_MAP_IntersectionState_oms_1[] = { 0, 4, 5, 6, 8, 9, 10 }; +static const ber_tlv_tag_t asn_DEF_IntersectionState_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_IntersectionState_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* name */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* revision */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* status */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* moy */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* enabledLanes */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* states */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* maneuverAssistList */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* regional */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 } /* roadAuthorityID */ +}; +asn_SEQUENCE_specifics_t asn_SPC_IntersectionState_specs_1 = { + sizeof(struct IntersectionState), + offsetof(struct IntersectionState, _asn_ctx), + asn_MAP_IntersectionState_tag2el_1, + 11, /* Count of tags in the map */ + asn_MAP_IntersectionState_oms_1, /* Optional members */ + 6, 1, /* Root/Additions */ + 10, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_IntersectionState = { + "IntersectionState", + "IntersectionState", + &asn_OP_SEQUENCE, + asn_DEF_IntersectionState_tags_1, + sizeof(asn_DEF_IntersectionState_tags_1) + /sizeof(asn_DEF_IntersectionState_tags_1[0]), /* 1 */ + asn_DEF_IntersectionState_tags_1, /* Same as above */ + sizeof(asn_DEF_IntersectionState_tags_1) + /sizeof(asn_DEF_IntersectionState_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_IntersectionState_1, + 11, /* Elements count */ + &asn_SPC_IntersectionState_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionState.h b/src/tmx/Asn_J2735/src/r2024/IntersectionState.h deleted file mode 100644 index 7c891b879..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IntersectionState.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IntersectionState_H_ -#define _IntersectionState_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DescriptiveName.h" -#include "IntersectionReferenceID.h" -#include "Common_MsgCount.h" -#include "IntersectionStatusObject.h" -#include "MinuteOfTheYear.h" -#include "DSecond.h" -#include "MovementList.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct EnabledLaneList; -struct ManeuverAssistList; -struct RoadAuthorityID; -struct Reg_IntersectionState; - -/* IntersectionState */ -typedef struct IntersectionState { - DescriptiveName_t *name; /* OPTIONAL */ - IntersectionReferenceID_t id; - Common_MsgCount_t revision; - IntersectionStatusObject_t status; - MinuteOfTheYear_t *moy; /* OPTIONAL */ - DSecond_t *timeStamp; /* OPTIONAL */ - struct EnabledLaneList *enabledLanes; /* OPTIONAL */ - MovementList_t states; - struct ManeuverAssistList *maneuverAssistList; /* OPTIONAL */ - struct IntersectionState__regional { - A_SEQUENCE_OF(struct Reg_IntersectionState) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - struct RoadAuthorityID *roadAuthorityID; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} IntersectionState_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IntersectionState; -extern asn_SEQUENCE_specifics_t asn_SPC_IntersectionState_specs_1; -extern asn_TYPE_member_t asn_MBR_IntersectionState_1[11]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "EnabledLaneList.h" -#include "ManeuverAssistList.h" -#include "RoadAuthorityID.h" -#include "RegionalExtension.h" - -#endif /* _IntersectionState_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionStateList.c b/src/tmx/Asn_J2735/src/r2024/IntersectionStateList.c new file mode 100644 index 000000000..91c808c64 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IntersectionStateList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IntersectionStateList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_IntersectionStateList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_IntersectionStateList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_IntersectionStateList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IntersectionState, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_IntersectionStateList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_IntersectionStateList_specs_1 = { + sizeof(struct IntersectionStateList), + offsetof(struct IntersectionStateList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_IntersectionStateList = { + "IntersectionStateList", + "IntersectionStateList", + &asn_OP_SEQUENCE_OF, + asn_DEF_IntersectionStateList_tags_1, + sizeof(asn_DEF_IntersectionStateList_tags_1) + /sizeof(asn_DEF_IntersectionStateList_tags_1[0]), /* 1 */ + asn_DEF_IntersectionStateList_tags_1, /* Same as above */ + sizeof(asn_DEF_IntersectionStateList_tags_1) + /sizeof(asn_DEF_IntersectionStateList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_IntersectionStateList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_IntersectionStateList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_IntersectionStateList_1, + 1, /* Single element */ + &asn_SPC_IntersectionStateList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionStateList.h b/src/tmx/Asn_J2735/src/r2024/IntersectionStateList.h deleted file mode 100644 index 439467262..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IntersectionStateList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IntersectionStateList_H_ -#define _IntersectionStateList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IntersectionState; - -/* IntersectionStateList */ -typedef struct IntersectionStateList { - A_SEQUENCE_OF(struct IntersectionState) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} IntersectionStateList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IntersectionStateList; -extern asn_SET_OF_specifics_t asn_SPC_IntersectionStateList_specs_1; -extern asn_TYPE_member_t asn_MBR_IntersectionStateList_1[1]; -extern asn_per_constraints_t asn_PER_type_IntersectionStateList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IntersectionState.h" - -#endif /* _IntersectionStateList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionStatusObject.c b/src/tmx/Asn_J2735/src/r2024/IntersectionStatusObject.c new file mode 100644 index 000000000..1189b42ca --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IntersectionStatusObject.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IntersectionStatusObject.h" + +int +IntersectionStatusObject_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_IntersectionStatusObject_constr_1 CC_NOTUSED = { + { 0, 0 }, + 16 /* (SIZE(16..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_IntersectionStatusObject_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_IntersectionStatusObject_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_IntersectionStatusObject = { + "IntersectionStatusObject", + "IntersectionStatusObject", + &asn_OP_BIT_STRING, + asn_DEF_IntersectionStatusObject_tags_1, + sizeof(asn_DEF_IntersectionStatusObject_tags_1) + /sizeof(asn_DEF_IntersectionStatusObject_tags_1[0]), /* 1 */ + asn_DEF_IntersectionStatusObject_tags_1, /* Same as above */ + sizeof(asn_DEF_IntersectionStatusObject_tags_1) + /sizeof(asn_DEF_IntersectionStatusObject_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_IntersectionStatusObject_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_IntersectionStatusObject_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + IntersectionStatusObject_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IntersectionStatusObject.h b/src/tmx/Asn_J2735/src/r2024/IntersectionStatusObject.h deleted file mode 100644 index ed790f569..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IntersectionStatusObject.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IntersectionStatusObject_H_ -#define _IntersectionStatusObject_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum IntersectionStatusObject { - IntersectionStatusObject_manualControlIsEnabled = 0, - IntersectionStatusObject_stopTimeIsActivated = 1, - IntersectionStatusObject_failureFlash = 2, - IntersectionStatusObject_preemptIsActive = 3, - IntersectionStatusObject_signalPriorityIsActive = 4, - IntersectionStatusObject_fixedTimeOperation = 5, - IntersectionStatusObject_trafficDependentOperation = 6, - IntersectionStatusObject_standbyOperation = 7, - IntersectionStatusObject_failureMode = 8, - IntersectionStatusObject_off = 9, - IntersectionStatusObject_recentMAPmessageUpdate = 10, - IntersectionStatusObject_recentChangeInMAPassignedLanesIDsUsed = 11, - IntersectionStatusObject_noValidMAPisAvailableAtThisTime = 12, - IntersectionStatusObject_noValidSPATisAvailableAtThisTime = 13 -} e_IntersectionStatusObject; - -/* IntersectionStatusObject */ -typedef BIT_STRING_t IntersectionStatusObject_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_IntersectionStatusObject_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_IntersectionStatusObject; -asn_struct_free_f IntersectionStatusObject_free; -asn_struct_print_f IntersectionStatusObject_print; -asn_constr_check_f IntersectionStatusObject_constraint; -ber_type_decoder_f IntersectionStatusObject_decode_ber; -der_type_encoder_f IntersectionStatusObject_encode_der; -xer_type_decoder_f IntersectionStatusObject_decode_xer; -xer_type_encoder_f IntersectionStatusObject_encode_xer; -oer_type_decoder_f IntersectionStatusObject_decode_oer; -oer_type_encoder_f IntersectionStatusObject_encode_oer; -per_type_decoder_f IntersectionStatusObject_decode_uper; -per_type_encoder_f IntersectionStatusObject_encode_uper; -per_type_decoder_f IntersectionStatusObject_decode_aper; -per_type_encoder_f IntersectionStatusObject_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _IntersectionStatusObject_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IsDolly.c b/src/tmx/Asn_J2735/src/r2024/IsDolly.c new file mode 100644 index 000000000..6b63f41f9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IsDolly.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IsDolly.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_IsDolly_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_IsDolly = { + "IsDolly", + "IsDolly", + &asn_OP_BOOLEAN, + asn_DEF_IsDolly_tags_1, + sizeof(asn_DEF_IsDolly_tags_1) + /sizeof(asn_DEF_IsDolly_tags_1[0]), /* 1 */ + asn_DEF_IsDolly_tags_1, /* Same as above */ + sizeof(asn_DEF_IsDolly_tags_1) + /sizeof(asn_DEF_IsDolly_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IsDolly.h b/src/tmx/Asn_J2735/src/r2024/IsDolly.h deleted file mode 100644 index 286fd21a1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IsDolly.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IsDolly_H_ -#define _IsDolly_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* IsDolly */ -typedef BOOLEAN_t IsDolly_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_IsDolly; -asn_struct_free_f IsDolly_free; -asn_struct_print_f IsDolly_print; -asn_constr_check_f IsDolly_constraint; -ber_type_decoder_f IsDolly_decode_ber; -der_type_encoder_f IsDolly_encode_der; -xer_type_decoder_f IsDolly_decode_xer; -xer_type_encoder_f IsDolly_encode_xer; -oer_type_decoder_f IsDolly_decode_oer; -oer_type_encoder_f IsDolly_encode_oer; -per_type_decoder_f IsDolly_decode_uper; -per_type_encoder_f IsDolly_encode_uper; -per_type_decoder_f IsDolly_decode_aper; -per_type_encoder_f IsDolly_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _IsDolly_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Iso3833VehicleType.c b/src/tmx/Asn_J2735/src/r2024/Iso3833VehicleType.c new file mode 100644 index 000000000..9ae918aa2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Iso3833VehicleType.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Iso3833VehicleType.h" + +int +Iso3833VehicleType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 100L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Iso3833VehicleType_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..100) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Iso3833VehicleType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Iso3833VehicleType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Iso3833VehicleType = { + "Iso3833VehicleType", + "Iso3833VehicleType", + &asn_OP_NativeInteger, + asn_DEF_Iso3833VehicleType_tags_1, + sizeof(asn_DEF_Iso3833VehicleType_tags_1) + /sizeof(asn_DEF_Iso3833VehicleType_tags_1[0]), /* 1 */ + asn_DEF_Iso3833VehicleType_tags_1, /* Same as above */ + sizeof(asn_DEF_Iso3833VehicleType_tags_1) + /sizeof(asn_DEF_Iso3833VehicleType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Iso3833VehicleType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Iso3833VehicleType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Iso3833VehicleType_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Iso3833VehicleType.h b/src/tmx/Asn_J2735/src/r2024/Iso3833VehicleType.h deleted file mode 100644 index f6af753c1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Iso3833VehicleType.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Iso3833VehicleType_H_ -#define _Iso3833VehicleType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Iso3833VehicleType */ -typedef long Iso3833VehicleType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Iso3833VehicleType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Iso3833VehicleType; -asn_struct_free_f Iso3833VehicleType_free; -asn_struct_print_f Iso3833VehicleType_print; -asn_constr_check_f Iso3833VehicleType_constraint; -ber_type_decoder_f Iso3833VehicleType_decode_ber; -der_type_encoder_f Iso3833VehicleType_encode_der; -xer_type_decoder_f Iso3833VehicleType_decode_xer; -xer_type_encoder_f Iso3833VehicleType_encode_xer; -oer_type_decoder_f Iso3833VehicleType_decode_oer; -oer_type_encoder_f Iso3833VehicleType_encode_oer; -per_type_decoder_f Iso3833VehicleType_decode_uper; -per_type_encoder_f Iso3833VehicleType_encode_uper; -per_type_decoder_f Iso3833VehicleType_decode_aper; -per_type_encoder_f Iso3833VehicleType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Iso3833VehicleType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/IssuerIdentifier.c b/src/tmx/Asn_J2735/src/r2024/IssuerIdentifier.c new file mode 100644 index 000000000..fef804ce3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/IssuerIdentifier.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "IssuerIdentifier.h" + +int +IssuerIdentifier_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 16383L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_IssuerIdentifier_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..16383) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_IssuerIdentifier_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 0, 16383 } /* (0..16383) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_IssuerIdentifier_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_IssuerIdentifier = { + "IssuerIdentifier", + "IssuerIdentifier", + &asn_OP_NativeInteger, + asn_DEF_IssuerIdentifier_tags_1, + sizeof(asn_DEF_IssuerIdentifier_tags_1) + /sizeof(asn_DEF_IssuerIdentifier_tags_1[0]), /* 1 */ + asn_DEF_IssuerIdentifier_tags_1, /* Same as above */ + sizeof(asn_DEF_IssuerIdentifier_tags_1) + /sizeof(asn_DEF_IssuerIdentifier_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_IssuerIdentifier_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_IssuerIdentifier_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + IssuerIdentifier_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/IssuerIdentifier.h b/src/tmx/Asn_J2735/src/r2024/IssuerIdentifier.h deleted file mode 100644 index 15dda01be..000000000 --- a/src/tmx/Asn_J2735/src/r2024/IssuerIdentifier.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _IssuerIdentifier_H_ -#define _IssuerIdentifier_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* IssuerIdentifier */ -typedef long IssuerIdentifier_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_IssuerIdentifier_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_IssuerIdentifier; -asn_struct_free_f IssuerIdentifier_free; -asn_struct_print_f IssuerIdentifier_print; -asn_constr_check_f IssuerIdentifier_constraint; -ber_type_decoder_f IssuerIdentifier_decode_ber; -der_type_encoder_f IssuerIdentifier_encode_der; -xer_type_decoder_f IssuerIdentifier_decode_xer; -xer_type_encoder_f IssuerIdentifier_encode_xer; -oer_type_decoder_f IssuerIdentifier_decode_oer; -oer_type_encoder_f IssuerIdentifier_encode_oer; -per_type_decoder_f IssuerIdentifier_decode_uper; -per_type_encoder_f IssuerIdentifier_encode_uper; -per_type_decoder_f IssuerIdentifier_decode_aper; -per_type_encoder_f IssuerIdentifier_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _IssuerIdentifier_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ItemizedChargerData.c b/src/tmx/Asn_J2735/src/r2024/ItemizedChargerData.c new file mode 100644 index 000000000..8dbc44f88 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ItemizedChargerData.c @@ -0,0 +1,177 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingReportMessage" + * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ItemizedChargerData.h" + +static int +memb_configID_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 64L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_configID_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_configID_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 0, 64 } /* (0..64,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ItemizedChargerData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ItemizedChargerData, chargerID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OBJECT_IDENTIFIER, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargerID" + }, + { ATF_POINTER, 3, offsetof(struct ItemizedChargerData, chargingDescription), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveName, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargingDescription" + }, + { ATF_POINTER, 2, offsetof(struct ItemizedChargerData, configID), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_configID_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_configID_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_configID_constraint_1 + }, + 0, 0, /* No default value */ + "configID" + }, + { ATF_POINTER, 1, offsetof(struct ItemizedChargerData, tripInfo), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TripInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tripInfo" + }, + { ATF_NOFLAGS, 0, offsetof(struct ItemizedChargerData, totalPaidToCharger), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "totalPaidToCharger" + }, +}; +static const int asn_MAP_ItemizedChargerData_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_ItemizedChargerData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ItemizedChargerData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* chargerID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* chargingDescription */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* configID */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* tripInfo */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* totalPaidToCharger */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ItemizedChargerData_specs_1 = { + sizeof(struct ItemizedChargerData), + offsetof(struct ItemizedChargerData, _asn_ctx), + asn_MAP_ItemizedChargerData_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_ItemizedChargerData_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ItemizedChargerData = { + "ItemizedChargerData", + "ItemizedChargerData", + &asn_OP_SEQUENCE, + asn_DEF_ItemizedChargerData_tags_1, + sizeof(asn_DEF_ItemizedChargerData_tags_1) + /sizeof(asn_DEF_ItemizedChargerData_tags_1[0]), /* 1 */ + asn_DEF_ItemizedChargerData_tags_1, /* Same as above */ + sizeof(asn_DEF_ItemizedChargerData_tags_1) + /sizeof(asn_DEF_ItemizedChargerData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ItemizedChargerData_1, + 5, /* Elements count */ + &asn_SPC_ItemizedChargerData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ItemizedChargerData.h b/src/tmx/Asn_J2735/src/r2024/ItemizedChargerData.h deleted file mode 100644 index bc704d81a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ItemizedChargerData.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingReportMessage" - * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ItemizedChargerData_H_ -#define _ItemizedChargerData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OBJECT_IDENTIFIER.h" -#include "DescriptiveName.h" -#include "NativeInteger.h" -#include "PaymentFee.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct TripInfo; - -/* ItemizedChargerData */ -typedef struct ItemizedChargerData { - OBJECT_IDENTIFIER_t chargerID; - DescriptiveName_t *chargingDescription; /* OPTIONAL */ - long *configID; /* OPTIONAL */ - struct TripInfo *tripInfo; /* OPTIONAL */ - PaymentFee_t totalPaidToCharger; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ItemizedChargerData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ItemizedChargerData; -extern asn_SEQUENCE_specifics_t asn_SPC_ItemizedChargerData_specs_1; -extern asn_TYPE_member_t asn_MBR_ItemizedChargerData_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "TripInfo.h" - -#endif /* _ItemizedChargerData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ItemizedPaymentReport.c b/src/tmx/Asn_J2735/src/r2024/ItemizedPaymentReport.c new file mode 100644 index 000000000..43a77039d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ItemizedPaymentReport.c @@ -0,0 +1,223 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingReportMessage" + * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ItemizedPaymentReport.h" + +static int +memb_chargerData_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 999UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_chargerData_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_chargerData_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 999 } /* (SIZE(1..999,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_chargerData_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_chargerData_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 999 } /* (SIZE(1..999,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_chargerData_5[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ItemizedChargerData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_chargerData_tags_5[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_chargerData_specs_5 = { + sizeof(struct ItemizedPaymentReport__chargerData), + offsetof(struct ItemizedPaymentReport__chargerData, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_chargerData_5 = { + "chargerData", + "chargerData", + &asn_OP_SEQUENCE_OF, + asn_DEF_chargerData_tags_5, + sizeof(asn_DEF_chargerData_tags_5) + /sizeof(asn_DEF_chargerData_tags_5[0]) - 1, /* 1 */ + asn_DEF_chargerData_tags_5, /* Same as above */ + sizeof(asn_DEF_chargerData_tags_5) + /sizeof(asn_DEF_chargerData_tags_5[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_chargerData_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_chargerData_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_chargerData_5, + 1, /* Single element */ + &asn_SPC_chargerData_specs_5 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ItemizedPaymentReport_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ItemizedPaymentReport, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_NOFLAGS, 0, offsetof(struct ItemizedPaymentReport, timePeriod), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimePeriod, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timePeriod" + }, + { ATF_NOFLAGS, 0, offsetof(struct ItemizedPaymentReport, svcProvID), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OBJECT_IDENTIFIER, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "svcProvID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ItemizedPaymentReport, chargerData), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + 0, + &asn_DEF_chargerData_5, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_chargerData_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_chargerData_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_chargerData_constraint_1 + }, + 0, 0, /* No default value */ + "chargerData" + }, +}; +static const ber_tlv_tag_t asn_DEF_ItemizedPaymentReport_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ItemizedPaymentReport_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* timePeriod */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* svcProvID */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* chargerData */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ItemizedPaymentReport_specs_1 = { + sizeof(struct ItemizedPaymentReport), + offsetof(struct ItemizedPaymentReport, _asn_ctx), + asn_MAP_ItemizedPaymentReport_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ItemizedPaymentReport = { + "ItemizedPaymentReport", + "ItemizedPaymentReport", + &asn_OP_SEQUENCE, + asn_DEF_ItemizedPaymentReport_tags_1, + sizeof(asn_DEF_ItemizedPaymentReport_tags_1) + /sizeof(asn_DEF_ItemizedPaymentReport_tags_1[0]), /* 1 */ + asn_DEF_ItemizedPaymentReport_tags_1, /* Same as above */ + sizeof(asn_DEF_ItemizedPaymentReport_tags_1) + /sizeof(asn_DEF_ItemizedPaymentReport_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ItemizedPaymentReport_1, + 4, /* Elements count */ + &asn_SPC_ItemizedPaymentReport_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ItemizedPaymentReport.h b/src/tmx/Asn_J2735/src/r2024/ItemizedPaymentReport.h deleted file mode 100644 index 6c86eedeb..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ItemizedPaymentReport.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingReportMessage" - * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ItemizedPaymentReport_H_ -#define _ItemizedPaymentReport_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DDateTime.h" -#include "TimePeriod.h" -#include "OBJECT_IDENTIFIER.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct ItemizedChargerData; - -/* ItemizedPaymentReport */ -typedef struct ItemizedPaymentReport { - DDateTime_t timeStamp; - TimePeriod_t timePeriod; - OBJECT_IDENTIFIER_t svcProvID; - struct ItemizedPaymentReport__chargerData { - A_SEQUENCE_OF(struct ItemizedChargerData) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } chargerData; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ItemizedPaymentReport_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ItemizedPaymentReport; -extern asn_SEQUENCE_specifics_t asn_SPC_ItemizedPaymentReport_specs_1; -extern asn_TYPE_member_t asn_MBR_ItemizedPaymentReport_1[4]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "ItemizedChargerData.h" - -#endif /* _ItemizedPaymentReport_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/J1939data.c b/src/tmx/Asn_J2735/src/r2024/J1939data.c new file mode 100644 index 000000000..9c41e5dc8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/J1939data.c @@ -0,0 +1,230 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "J1939data.h" + +asn_TYPE_member_t asn_MBR_J1939data_1[] = { + { ATF_POINTER, 10, offsetof(struct J1939data, tires), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TireDataList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tires" + }, + { ATF_POINTER, 9, offsetof(struct J1939data, axles), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AxleWeightList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "axles" + }, + { ATF_POINTER, 8, offsetof(struct J1939data, trailerWeight), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrailerWeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trailerWeight" + }, + { ATF_POINTER, 7, offsetof(struct J1939data, cargoWeight), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CargoWeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "cargoWeight" + }, + { ATF_POINTER, 6, offsetof(struct J1939data, steeringAxleTemperature), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SteeringAxleTemperature, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "steeringAxleTemperature" + }, + { ATF_POINTER, 5, offsetof(struct J1939data, driveAxleLocation), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DriveAxleLocation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "driveAxleLocation" + }, + { ATF_POINTER, 4, offsetof(struct J1939data, driveAxleLiftAirPressure), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DriveAxleLiftAirPressure, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "driveAxleLiftAirPressure" + }, + { ATF_POINTER, 3, offsetof(struct J1939data, driveAxleTemperature), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DriveAxleTemperature, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "driveAxleTemperature" + }, + { ATF_POINTER, 2, offsetof(struct J1939data, driveAxleLubePressure), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DriveAxleLubePressure, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "driveAxleLubePressure" + }, + { ATF_POINTER, 1, offsetof(struct J1939data, steeringAxleLubePressure), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SteeringAxleLubePressure, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "steeringAxleLubePressure" + }, +}; +static const int asn_MAP_J1939data_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; +static const ber_tlv_tag_t asn_DEF_J1939data_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_J1939data_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tires */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* axles */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* trailerWeight */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* cargoWeight */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* steeringAxleTemperature */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* driveAxleLocation */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* driveAxleLiftAirPressure */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* driveAxleTemperature */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* driveAxleLubePressure */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* steeringAxleLubePressure */ +}; +asn_SEQUENCE_specifics_t asn_SPC_J1939data_specs_1 = { + sizeof(struct J1939data), + offsetof(struct J1939data, _asn_ctx), + asn_MAP_J1939data_tag2el_1, + 10, /* Count of tags in the map */ + asn_MAP_J1939data_oms_1, /* Optional members */ + 10, 0, /* Root/Additions */ + 10, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_J1939data = { + "J1939data", + "J1939data", + &asn_OP_SEQUENCE, + asn_DEF_J1939data_tags_1, + sizeof(asn_DEF_J1939data_tags_1) + /sizeof(asn_DEF_J1939data_tags_1[0]), /* 1 */ + asn_DEF_J1939data_tags_1, /* Same as above */ + sizeof(asn_DEF_J1939data_tags_1) + /sizeof(asn_DEF_J1939data_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_J1939data_1, + 10, /* Elements count */ + &asn_SPC_J1939data_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/J1939data.h b/src/tmx/Asn_J2735/src/r2024/J1939data.h deleted file mode 100644 index 2f5c5f2a4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/J1939data.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _J1939data_H_ -#define _J1939data_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TrailerWeight.h" -#include "CargoWeight.h" -#include "SteeringAxleTemperature.h" -#include "DriveAxleLocation.h" -#include "DriveAxleLiftAirPressure.h" -#include "DriveAxleTemperature.h" -#include "DriveAxleLubePressure.h" -#include "SteeringAxleLubePressure.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct TireDataList; -struct AxleWeightList; - -/* J1939data */ -typedef struct J1939data { - struct TireDataList *tires; /* OPTIONAL */ - struct AxleWeightList *axles; /* OPTIONAL */ - TrailerWeight_t *trailerWeight; /* OPTIONAL */ - CargoWeight_t *cargoWeight; /* OPTIONAL */ - SteeringAxleTemperature_t *steeringAxleTemperature; /* OPTIONAL */ - DriveAxleLocation_t *driveAxleLocation; /* OPTIONAL */ - DriveAxleLiftAirPressure_t *driveAxleLiftAirPressure; /* OPTIONAL */ - DriveAxleTemperature_t *driveAxleTemperature; /* OPTIONAL */ - DriveAxleLubePressure_t *driveAxleLubePressure; /* OPTIONAL */ - SteeringAxleLubePressure_t *steeringAxleLubePressure; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} J1939data_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_J1939data; -extern asn_SEQUENCE_specifics_t asn_SPC_J1939data_specs_1; -extern asn_TYPE_member_t asn_MBR_J1939data_1[10]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "TireDataList.h" -#include "AxleWeightList.h" - -#endif /* _J1939data_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_GenericLocations.c b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_GenericLocations.c new file mode 100644 index 000000000..4297f3132 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_GenericLocations.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "J2540ITIS_GenericLocations.h" + +int +J2540ITIS_GenericLocations_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_J2540ITIS_GenericLocations_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_J2540ITIS_GenericLocations_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_J2540ITIS_GenericLocations_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_J2540ITIS_GenericLocations = { + "GenericLocations", + "GenericLocations", + &asn_OP_NativeInteger, + asn_DEF_J2540ITIS_GenericLocations_tags_1, + sizeof(asn_DEF_J2540ITIS_GenericLocations_tags_1) + /sizeof(asn_DEF_J2540ITIS_GenericLocations_tags_1[0]), /* 1 */ + asn_DEF_J2540ITIS_GenericLocations_tags_1, /* Same as above */ + sizeof(asn_DEF_J2540ITIS_GenericLocations_tags_1) + /sizeof(asn_DEF_J2540ITIS_GenericLocations_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_J2540ITIS_GenericLocations_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_J2540ITIS_GenericLocations_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + J2540ITIS_GenericLocations_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_GenericLocations.h b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_GenericLocations.h deleted file mode 100644 index ff09b552b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_GenericLocations.h +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _J2540ITIS_GenericLocations_H_ -#define _J2540ITIS_GenericLocations_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum J2540ITIS_GenericLocations { - J2540ITIS_GenericLocations_on_bridges = 7937, - J2540ITIS_GenericLocations_in_tunnels = 7938, - J2540ITIS_GenericLocations_entering_or_leaving_tunnels = 7939, - J2540ITIS_GenericLocations_on_ramps = 7940, - J2540ITIS_GenericLocations_in_road_construction_area = 7941, - J2540ITIS_GenericLocations_around_a_curve = 7942, - J2540ITIS_GenericLocations_on_curve = 8026, - J2540ITIS_GenericLocations_on_tracks = 8009, - J2540ITIS_GenericLocations_in_street = 8025, - J2540ITIS_GenericLocations_shoulder = 8027, - J2540ITIS_GenericLocations_on_minor_roads = 7943, - J2540ITIS_GenericLocations_in_the_opposing_lanes = 7944, - J2540ITIS_GenericLocations_adjacent_to_roadway = 7945, - J2540ITIS_GenericLocations_across_tracks = 8024, - J2540ITIS_GenericLocations_on_bend = 7946, - J2540ITIS_GenericLocations_intersection = 8032, - J2540ITIS_GenericLocations_entire_intersection = 7947, - J2540ITIS_GenericLocations_in_the_median = 7948, - J2540ITIS_GenericLocations_moved_to_side_of_road = 7949, - J2540ITIS_GenericLocations_moved_to_shoulder = 7950, - J2540ITIS_GenericLocations_on_the_roadway = 7951, - J2540ITIS_GenericLocations_dip = 8010, - J2540ITIS_GenericLocations_traffic_circle = 8011, - J2540ITIS_GenericLocations_crossover = 8028, - J2540ITIS_GenericLocations_cross_road = 8029, - J2540ITIS_GenericLocations_side_road = 8030, - J2540ITIS_GenericLocations_to = 8014, - J2540ITIS_GenericLocations_by = 8015, - J2540ITIS_GenericLocations_through = 8016, - J2540ITIS_GenericLocations_area_of = 8017, - J2540ITIS_GenericLocations_under = 8018, - J2540ITIS_GenericLocations_over = 8019, - J2540ITIS_GenericLocations_from = 8020, - J2540ITIS_GenericLocations_approaching = 8021, - J2540ITIS_GenericLocations_entering_at = 8022, - J2540ITIS_GenericLocations_exiting_at = 8023, - J2540ITIS_GenericLocations_in_shaded_areas = 7952, - J2540ITIS_GenericLocations_in_low_lying_areas = 7953, - J2540ITIS_GenericLocations_in_the_downtown_area = 7954, - J2540ITIS_GenericLocations_in_the_inner_city_area = 7955, - J2540ITIS_GenericLocations_in_parts = 7956, - J2540ITIS_GenericLocations_in_some_places = 7957, - J2540ITIS_GenericLocations_in_the_ditch = 7958, - J2540ITIS_GenericLocations_in_the_valley = 7959, - J2540ITIS_GenericLocations_on_hill_top = 7960, - J2540ITIS_GenericLocations_near_the_foothills = 7961, - J2540ITIS_GenericLocations_at_high_altitudes = 7962, - J2540ITIS_GenericLocations_near_the_lake = 7963, - J2540ITIS_GenericLocations_near_the_shore = 7964, - J2540ITIS_GenericLocations_nearby_basin = 8008, - J2540ITIS_GenericLocations_over_the_crest_of_a_hill = 7965, - J2540ITIS_GenericLocations_other_than_on_the_roadway = 7966, - J2540ITIS_GenericLocations_near_the_beach = 7967, - J2540ITIS_GenericLocations_near_beach_access_point = 7968, - J2540ITIS_GenericLocations_mountain_pass = 8006, - J2540ITIS_GenericLocations_lower_level = 7969, - J2540ITIS_GenericLocations_upper_level = 7970, - J2540ITIS_GenericLocations_coast = 8034, - J2540ITIS_GenericLocations_airport = 7971, - J2540ITIS_GenericLocations_concourse = 7972, - J2540ITIS_GenericLocations_gate = 7973, - J2540ITIS_GenericLocations_baggage_claim = 7974, - J2540ITIS_GenericLocations_customs_point = 7975, - J2540ITIS_GenericLocations_reservation_center = 8007, - J2540ITIS_GenericLocations_station = 7976, - J2540ITIS_GenericLocations_platform = 7977, - J2540ITIS_GenericLocations_dock = 7978, - J2540ITIS_GenericLocations_depot = 7979, - J2540ITIS_GenericLocations_ev_charging_point = 7980, - J2540ITIS_GenericLocations_information_welcome_point = 7981, - J2540ITIS_GenericLocations_at_rest_area = 7982, - J2540ITIS_GenericLocations_at_service_area = 7983, - J2540ITIS_GenericLocations_at_weigh_station = 7984, - J2540ITIS_GenericLocations_roadside_park = 8033, - J2540ITIS_GenericLocations_picnic_areas = 7985, - J2540ITIS_GenericLocations_rest_area = 7986, - J2540ITIS_GenericLocations_service_stations = 7987, - J2540ITIS_GenericLocations_toilets = 7988, - J2540ITIS_GenericLocations_bus_stop = 8031, - J2540ITIS_GenericLocations_park_and_ride_lot = 8012, - J2540ITIS_GenericLocations_on_the_right = 7989, - J2540ITIS_GenericLocations_on_the_left = 7990, - J2540ITIS_GenericLocations_in_the_center = 7991, - J2540ITIS_GenericLocations_in_the_opposite_direction = 7992, - J2540ITIS_GenericLocations_cross_traffic = 7993, - J2540ITIS_GenericLocations_northbound_traffic = 7994, - J2540ITIS_GenericLocations_eastbound_traffic = 7995, - J2540ITIS_GenericLocations_southbound_traffic = 7996, - J2540ITIS_GenericLocations_westbound_traffic = 7997, - J2540ITIS_GenericLocations_north = 7998, - J2540ITIS_GenericLocations_south = 7999, - J2540ITIS_GenericLocations_east = 8000, - J2540ITIS_GenericLocations_west = 8001, - J2540ITIS_GenericLocations_northeast = 8002, - J2540ITIS_GenericLocations_northwest = 8003, - J2540ITIS_GenericLocations_southeast = 8004, - J2540ITIS_GenericLocations_southwest = 8005 -} e_J2540ITIS_GenericLocations; - -/* J2540ITIS_GenericLocations */ -typedef long J2540ITIS_GenericLocations_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_J2540ITIS_GenericLocations; -asn_struct_free_f J2540ITIS_GenericLocations_free; -asn_struct_print_f J2540ITIS_GenericLocations_print; -asn_constr_check_f J2540ITIS_GenericLocations_constraint; -ber_type_decoder_f J2540ITIS_GenericLocations_decode_ber; -der_type_encoder_f J2540ITIS_GenericLocations_encode_der; -xer_type_decoder_f J2540ITIS_GenericLocations_decode_xer; -xer_type_encoder_f J2540ITIS_GenericLocations_encode_xer; -oer_type_decoder_f J2540ITIS_GenericLocations_decode_oer; -oer_type_encoder_f J2540ITIS_GenericLocations_encode_oer; -per_type_decoder_f J2540ITIS_GenericLocations_decode_uper; -per_type_encoder_f J2540ITIS_GenericLocations_encode_uper; -per_type_decoder_f J2540ITIS_GenericLocations_decode_aper; -per_type_encoder_f J2540ITIS_GenericLocations_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _J2540ITIS_GenericLocations_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodes.c b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodes.c new file mode 100644 index 000000000..99f030803 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodes.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "J2540ITIS_ITIScodes.h" + +int +J2540ITIS_ITIScodes_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_J2540ITIS_ITIScodes_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_J2540ITIS_ITIScodes_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_J2540ITIS_ITIScodes_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_J2540ITIS_ITIScodes = { + "ITIScodes", + "ITIScodes", + &asn_OP_NativeInteger, + asn_DEF_J2540ITIS_ITIScodes_tags_1, + sizeof(asn_DEF_J2540ITIS_ITIScodes_tags_1) + /sizeof(asn_DEF_J2540ITIS_ITIScodes_tags_1[0]), /* 1 */ + asn_DEF_J2540ITIS_ITIScodes_tags_1, /* Same as above */ + sizeof(asn_DEF_J2540ITIS_ITIScodes_tags_1) + /sizeof(asn_DEF_J2540ITIS_ITIScodes_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_J2540ITIS_ITIScodes_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_J2540ITIS_ITIScodes_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + J2540ITIS_ITIScodes_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodes.h b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodes.h deleted file mode 100644 index 7784ba029..000000000 --- a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodes.h +++ /dev/null @@ -1,2506 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _J2540ITIS_ITIScodes_H_ -#define _J2540ITIS_ITIScodes_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum J2540ITIS_ITIScodes { - J2540ITIS_ITIScodes_stopped_traffic = 257, - J2540ITIS_ITIScodes_stop_and_go_traffic = 258, - J2540ITIS_ITIScodes_slow_traffic = 259, - J2540ITIS_ITIScodes_heavy_traffic = 260, - J2540ITIS_ITIScodes_traffic_building = 261, - J2540ITIS_ITIScodes_long_queues = 262, - J2540ITIS_ITIScodes_traffic_congestion = 263, - J2540ITIS_ITIScodes_traffic_lighter_than_normal = 264, - J2540ITIS_ITIScodes_traffic_heavier_than_normal = 265, - J2540ITIS_ITIScodes_traffic_much_heavier_than_normal = 266, - J2540ITIS_ITIScodes_current_speed = 267, - J2540ITIS_ITIScodes_speed_limit = 268, - J2540ITIS_ITIScodes_travel_time = 269, - J2540ITIS_ITIScodes_merging_traffic = 272, - J2540ITIS_ITIScodes_contraflow = 273, - J2540ITIS_ITIScodes_contraflow_canceled = 378, - J2540ITIS_ITIScodes_traffic_flowing_freely = 379, - J2540ITIS_ITIScodes_traffic_easing = 380, - J2540ITIS_ITIScodes_traffic_returned_to_normal = 381, - J2540ITIS_ITIScodes_no_problems_to_report = 382, - J2540ITIS_ITIScodes_traffic_congestion_cleared = 383, - J2540ITIS_ITIScodes_accident = 513, - J2540ITIS_ITIScodes_serious_accident = 514, - J2540ITIS_ITIScodes_injury_accident = 515, - J2540ITIS_ITIScodes_minor_accident = 516, - J2540ITIS_ITIScodes_multi_vehicle_accident = 517, - J2540ITIS_ITIScodes_numerous_accidents = 518, - J2540ITIS_ITIScodes_accident_involving_a_bicycle = 519, - J2540ITIS_ITIScodes_accident_involving_a_bus = 520, - J2540ITIS_ITIScodes_accident_involving_a_motorcycle = 521, - J2540ITIS_ITIScodes_accident_involving_a_pedestrian = 522, - J2540ITIS_ITIScodes_accident_involving_a_train = 523, - J2540ITIS_ITIScodes_accident_involving_a_truck = 524, - J2540ITIS_ITIScodes_accident_involving_a_semi_trailer = 562, - J2540ITIS_ITIScodes_accident_involving_hazardous_materials = 525, - J2540ITIS_ITIScodes_earlier_accident = 526, - J2540ITIS_ITIScodes_medical_emergency = 527, - J2540ITIS_ITIScodes_secondary_accident = 528, - J2540ITIS_ITIScodes_rescue_and_recovery_work_REMOVED = 529, - J2540ITIS_ITIScodes_accident_investigation_work = 530, - J2540ITIS_ITIScodes_incident = 531, - J2540ITIS_ITIScodes_stalled_vehicle = 532, - J2540ITIS_ITIScodes_abandoned_vehicle = 533, - J2540ITIS_ITIScodes_disabled_vehicle = 534, - J2540ITIS_ITIScodes_disabled_truck = 535, - J2540ITIS_ITIScodes_disabled_semi_trailer = 536, - J2540ITIS_ITIScodes_disabled_bus = 537, - J2540ITIS_ITIScodes_disabled_train = 538, - J2540ITIS_ITIScodes_vehicle_spun_out = 539, - J2540ITIS_ITIScodes_vehicle_on_fire = 540, - J2540ITIS_ITIScodes_vehicle_in_water = 541, - J2540ITIS_ITIScodes_vehicles_slowing_to_look_at_accident = 542, - J2540ITIS_ITIScodes_jackknifed_semi_trailer = 543, - J2540ITIS_ITIScodes_jackknifed_trailer_home = 544, - J2540ITIS_ITIScodes_jackknifed_trailer = 545, - J2540ITIS_ITIScodes_spillage_occurring_from_moving_vehicle = 546, - J2540ITIS_ITIScodes_acid_spill = 547, - J2540ITIS_ITIScodes_chemical_spill = 548, - J2540ITIS_ITIScodes_fuel_spill = 549, - J2540ITIS_ITIScodes_hazardous_materials_spill = 550, - J2540ITIS_ITIScodes_oil_spill = 551, - J2540ITIS_ITIScodes_spilled_load = 552, - J2540ITIS_ITIScodes_toxic_spill = 553, - J2540ITIS_ITIScodes_overturned_vehicle = 554, - J2540ITIS_ITIScodes_overturned_truck = 555, - J2540ITIS_ITIScodes_overturned_semi_trailer = 556, - J2540ITIS_ITIScodes_overturned_bus = 557, - J2540ITIS_ITIScodes_derailed_train = 558, - J2540ITIS_ITIScodes_stuck_vehicle = 559, - J2540ITIS_ITIScodes_truck_stuck_under_bridge = 560, - J2540ITIS_ITIScodes_bus_stuck_under_bridge = 561, - J2540ITIS_ITIScodes_accident_cleared = 638, - J2540ITIS_ITIScodes_incident_cleared = 639, - J2540ITIS_ITIScodes_closed_to_traffic = 769, - J2540ITIS_ITIScodes_closed = 770, - J2540ITIS_ITIScodes_closed_ahead = 771, - J2540ITIS_ITIScodes_closed_intermittently = 772, - J2540ITIS_ITIScodes_closed_for_repairs = 773, - J2540ITIS_ITIScodes_closed_for_the_season = 774, - J2540ITIS_ITIScodes_blocked = 775, - J2540ITIS_ITIScodes_blocked_ahead = 776, - J2540ITIS_ITIScodes_reduced_to_one_lane = 777, - J2540ITIS_ITIScodes_reduced_to_two_lanes = 778, - J2540ITIS_ITIScodes_reduced_to_three_lanes = 779, - J2540ITIS_ITIScodes_collapse = 780, - J2540ITIS_ITIScodes_out = 781, - J2540ITIS_ITIScodes_open_to_traffic = 891, - J2540ITIS_ITIScodes_open = 892, - J2540ITIS_ITIScodes_reopened_to_traffic = 893, - J2540ITIS_ITIScodes_clearing = 894, - J2540ITIS_ITIScodes_cleared_from_road = 895, - J2540ITIS_ITIScodes_road_construction = 1025, - J2540ITIS_ITIScodes_major_road_construction = 1026, - J2540ITIS_ITIScodes_long_term_road_construction = 1027, - J2540ITIS_ITIScodes_construction_work = 1028, - J2540ITIS_ITIScodes_paving_operations = 1029, - J2540ITIS_ITIScodes_work_in_the_median = 1030, - J2540ITIS_ITIScodes_road_reconstruction = 1031, - J2540ITIS_ITIScodes_opposing_traffic = 1032, - J2540ITIS_ITIScodes_narrow_lanes = 1033, - J2540ITIS_ITIScodes_construction_traffic_merging = 1034, - J2540ITIS_ITIScodes_single_line_traffic_alternating_directions = 1035, - J2540ITIS_ITIScodes_road_maintenance_operations = 1036, - J2540ITIS_ITIScodes_road_marking_operations = 1037, - J2540ITIS_ITIScodes_road_widening = 1061, - J2540ITIS_ITIScodes_cracks = 1052, - J2540ITIS_ITIScodes_crack_REMOVE = 1058, - J2540ITIS_ITIScodes_bumps = 1053, - J2540ITIS_ITIScodes_drop_off = 1059, - J2540ITIS_ITIScodes_storm_drain = 1054, - J2540ITIS_ITIScodes_bridge_maintenance_operations = 1038, - J2540ITIS_ITIScodes_bridge_construction = 1039, - J2540ITIS_ITIScodes_bridge_demolition_work = 1040, - J2540ITIS_ITIScodes_seismic_retrofit = 1060, - J2540ITIS_ITIScodes_overgrown_grass = 1055, - J2540ITIS_ITIScodes_overgrown_brushshrubs = 1056, - J2540ITIS_ITIScodes_overgrown_trees = 1057, - J2540ITIS_ITIScodes_blasting = 1041, - J2540ITIS_ITIScodes_avalanche_control_activities = 1042, - J2540ITIS_ITIScodes_water_main_work = 1043, - J2540ITIS_ITIScodes_gas_main_work = 1044, - J2540ITIS_ITIScodes_work_on_underground_cables = 1045, - J2540ITIS_ITIScodes_work_on_underground_services = 1046, - J2540ITIS_ITIScodes_new_road_construction_layout = 1047, - J2540ITIS_ITIScodes_new_road_layout = 1048, - J2540ITIS_ITIScodes_temporary_lane_markings = 1049, - J2540ITIS_ITIScodes_temporary_traffic_lights = 1050, - J2540ITIS_ITIScodes_emergency_maintenance = 1051, - J2540ITIS_ITIScodes_utility_work = 1062, - J2540ITIS_ITIScodes_road_maintenance_cleared = 1146, - J2540ITIS_ITIScodes_normal_road_layout_restored = 1147, - J2540ITIS_ITIScodes_road_work_clearance_in_progress = 1148, - J2540ITIS_ITIScodes_road_construction_cleared = 1149, - J2540ITIS_ITIScodes_normal_traffic_lanes_restored = 1150, - J2540ITIS_ITIScodes_road_work_cleared = 1151, - J2540ITIS_ITIScodes_obstruction_on_roadway = 1281, - J2540ITIS_ITIScodes_object_on_roadway = 1282, - J2540ITIS_ITIScodes_objects_falling_from_moving_vehicle = 1283, - J2540ITIS_ITIScodes_debris_on_roadway = 1284, - J2540ITIS_ITIScodes_storm_damage = 1285, - J2540ITIS_ITIScodes_people_on_roadway = 1286, - J2540ITIS_ITIScodes_bicyclists_on_roadway = 1287, - J2540ITIS_ITIScodes_sightseers_obstructing_access = 1288, - J2540ITIS_ITIScodes_large_numbers_of_visitors = 1289, - J2540ITIS_ITIScodes_animal_on_roadway = 1290, - J2540ITIS_ITIScodes_large_animal_on_roadway = 1291, - J2540ITIS_ITIScodes_herd_of_animals_on_roadway = 1292, - J2540ITIS_ITIScodes_animal_struck = 1293, - J2540ITIS_ITIScodes_advertising_signs = 1315, - J2540ITIS_ITIScodes_fallen_trees = 1294, - J2540ITIS_ITIScodes_over_turned_trees = 1311, - J2540ITIS_ITIScodes_tree_limbs = 1312, - J2540ITIS_ITIScodes_utility_pole_down = 1314, - J2540ITIS_ITIScodes_downed_power_lines = 1295, - J2540ITIS_ITIScodes_downed_cables = 1296, - J2540ITIS_ITIScodes_subsidence = 1297, - J2540ITIS_ITIScodes_road_surface_collapse = 1298, - J2540ITIS_ITIScodes_frost_jacking = 1317, - J2540ITIS_ITIScodes_frost_heave = 1316, - J2540ITIS_ITIScodes_pavement_buckled = 1299, - J2540ITIS_ITIScodes_pothole = 1300, - J2540ITIS_ITIScodes_flooding = 1301, - J2540ITIS_ITIScodes_broken_water_main = 1302, - J2540ITIS_ITIScodes_collapsed_sewer = 1303, - J2540ITIS_ITIScodes_wash_out = 1319, - J2540ITIS_ITIScodes_washboard = 1318, - J2540ITIS_ITIScodes_sewer_overflow = 1304, - J2540ITIS_ITIScodes_gas_leak = 1305, - J2540ITIS_ITIScodes_snowmelt = 1306, - J2540ITIS_ITIScodes_mudslide = 1307, - J2540ITIS_ITIScodes_avalanche = 1308, - J2540ITIS_ITIScodes_rockfall = 1309, - J2540ITIS_ITIScodes_landslide = 1310, - J2540ITIS_ITIScodes_clearance_work = 1406, - J2540ITIS_ITIScodes_obstruction_cleared = 1407, - J2540ITIS_ITIScodes_delays = 1537, - J2540ITIS_ITIScodes_short_delays = 1538, - J2540ITIS_ITIScodes_long_delays = 1539, - J2540ITIS_ITIScodes_very_long_delays = 1540, - J2540ITIS_ITIScodes_delays_of_uncertain_duration = 1541, - J2540ITIS_ITIScodes_delayed_until_further_notice = 1542, - J2540ITIS_ITIScodes_busy = 1543, - J2540ITIS_ITIScodes_very_busy = 1544, - J2540ITIS_ITIScodes_crowded = 1545, - J2540ITIS_ITIScodes_overcrowded = 1546, - J2540ITIS_ITIScodes_cancellations = 1547, - J2540ITIS_ITIScodes_route_canceled_and_no_replacement = 1548, - J2540ITIS_ITIScodes_service_canceled = 1549, - J2540ITIS_ITIScodes_service_suspended = 1550, - J2540ITIS_ITIScodes_service_withdrawn = 1551, - J2540ITIS_ITIScodes_service_fully_booked = 1552, - J2540ITIS_ITIScodes_all_services_fully_booked = 1553, - J2540ITIS_ITIScodes_next_departure = 1554, - J2540ITIS_ITIScodes_next_arrival = 1555, - J2540ITIS_ITIScodes_very_frequent_service = 1556, - J2540ITIS_ITIScodes_frequent_service = 1557, - J2540ITIS_ITIScodes_fairly_frequent_service = 1558, - J2540ITIS_ITIScodes_regular_service = 1559, - J2540ITIS_ITIScodes_irregular_service = 1560, - J2540ITIS_ITIScodes_not_operating = 1561, - J2540ITIS_ITIScodes_system_busy = 1562, - J2540ITIS_ITIScodes_system_very_busy = 1563, - J2540ITIS_ITIScodes_system_crowded = 1564, - J2540ITIS_ITIScodes_system_overcrowded = 1565, - J2540ITIS_ITIScodes_deleted_travel_time = 1566, - J2540ITIS_ITIScodes_headway = 1567, - J2540ITIS_ITIScodes_extra_services_in_operation = 1568, - J2540ITIS_ITIScodes_delays_clearing = 1660, - J2540ITIS_ITIScodes_delays_cleared = 1661, - J2540ITIS_ITIScodes_normal_services_resumed = 1662, - J2540ITIS_ITIScodes_operating = 1663, - J2540ITIS_ITIScodes_vehicle_traveling_wrong_way = 1793, - J2540ITIS_ITIScodes_reckless_driver = 1794, - J2540ITIS_ITIScodes_prohibited_vehicle_on_roadway = 1795, - J2540ITIS_ITIScodes_emergency_vehicles_on_roadway = 1796, - J2540ITIS_ITIScodes_high_speed_emergency_vehicles = 1797, - J2540ITIS_ITIScodes_high_speed_chase = 1798, - J2540ITIS_ITIScodes_dangerous_vehicle_warning_cleared = 1918, - J2540ITIS_ITIScodes_emergency_vehicle_warning_cleared = 1919, - J2540ITIS_ITIScodes_abnormal_load = 2049, - J2540ITIS_ITIScodes_wide_load = 2050, - J2540ITIS_ITIScodes_long_load = 2051, - J2540ITIS_ITIScodes_slow_vehicle = 2052, - J2540ITIS_ITIScodes_farm_equipment = 2053, - J2540ITIS_ITIScodes_horse_drawn_vehicles = 2054, - J2540ITIS_ITIScodes_overheight_load = 2055, - J2540ITIS_ITIScodes_overweight_load = 2056, - J2540ITIS_ITIScodes_tracked_vehicle = 2057, - J2540ITIS_ITIScodes_vehicle_carrying_hazardous_materials = 2058, - J2540ITIS_ITIScodes_slow_moving_maintenance_vehicle = 2059, - J2540ITIS_ITIScodes_convoy = 2060, - J2540ITIS_ITIScodes_military_convoy = 2061, - J2540ITIS_ITIScodes_refugee_convoy = 2062, - J2540ITIS_ITIScodes_motorcade = 2063, - J2540ITIS_ITIScodes_mobile_situation_repositioning = 2064, - J2540ITIS_ITIScodes_winter_maintenance_vehicles = 2065, - J2540ITIS_ITIScodes_snowplows = 2066, - J2540ITIS_ITIScodes_slow_moving_maintenance_vehicle_warning_cleared = 2172, - J2540ITIS_ITIScodes_exceptional_load_warning_cleared = 2173, - J2540ITIS_ITIScodes_hazardous_load_warning_cleared = 2174, - J2540ITIS_ITIScodes_convoy_cleared = 2175, - J2540ITIS_ITIScodes_lane_control_signs_not_working = 2305, - J2540ITIS_ITIScodes_lane_control_signs_working_incorrectly = 2306, - J2540ITIS_ITIScodes_lane_control_signs_operating = 2307, - J2540ITIS_ITIScodes_variable_message_signs_not_working = 2308, - J2540ITIS_ITIScodes_variable_message_signs_working_incorrectly = 2309, - J2540ITIS_ITIScodes_variable_message_signs_operating = 2310, - J2540ITIS_ITIScodes_emergency_telephones_not_working = 2311, - J2540ITIS_ITIScodes_emergency_telephone_number_not_working = 2312, - J2540ITIS_ITIScodes_traffic_lights_not_working = 2313, - J2540ITIS_ITIScodes_traffic_lights_working_incorrectly = 2314, - J2540ITIS_ITIScodes_ramp_control_signals_not_working = 2315, - J2540ITIS_ITIScodes_ramp_control_signals_working_incorrectly = 2316, - J2540ITIS_ITIScodes_temporary_traffic_lights_not_working = 2317, - J2540ITIS_ITIScodes_temporary_traffic_lights_working_incorrectly = 2318, - J2540ITIS_ITIScodes_traffic_signal_control_computer_not_working = 2319, - J2540ITIS_ITIScodes_traffic_signal_timings_changed = 2320, - J2540ITIS_ITIScodes_overheight_warning_system_triggered = 2321, - J2540ITIS_ITIScodes_equipment_failure = 2322, - J2540ITIS_ITIScodes_railroad_crossing_equipment_failure = 2323, - J2540ITIS_ITIScodes_tunnel_ventilation_not_working = 2324, - J2540ITIS_ITIScodes_power_failure = 2325, - J2540ITIS_ITIScodes_widespread_power_outages = 2326, - J2540ITIS_ITIScodes_technical_problems = 2327, - J2540ITIS_ITIScodes_sign_down = 2328, - J2540ITIS_ITIScodes_lines_in_road_faded = 2329, - J2540ITIS_ITIScodes_damaged_light_standard = 2330, - J2540ITIS_ITIScodes_traffic_signal_stuck_on_flash = 2331, - J2540ITIS_ITIScodes_guide_rail = 2332, - J2540ITIS_ITIScodes_fencing = 2333, - J2540ITIS_ITIScodes_light_standard_hanging_by_wires = 2334, - J2540ITIS_ITIScodes_call_box = 2335, - J2540ITIS_ITIScodes_signal_cabinet = 2336, - J2540ITIS_ITIScodes_detector = 2337, - J2540ITIS_ITIScodes_improper_use_of_State_vehicle_or_equipment = 2338, - J2540ITIS_ITIScodes_bulb_out = 2339, - J2540ITIS_ITIScodes_not_yet_operational = 2340, - J2540ITIS_ITIScodes_not_yet_installed = 2341, - J2540ITIS_ITIScodes_electronic_signs_repaired = 2428, - J2540ITIS_ITIScodes_emergency_call_facilities_restored = 2429, - J2540ITIS_ITIScodes_traffic_signals_repaired = 2430, - J2540ITIS_ITIScodes_railroad_crossing_equipment_now_working_normally = 2431, - J2540ITIS_ITIScodes_restrictions = 2561, - J2540ITIS_ITIScodes_ramp_restrictions = 2562, - J2540ITIS_ITIScodes_truck_restriction = 2563, - J2540ITIS_ITIScodes_speed_restriction = 2564, - J2540ITIS_ITIScodes_noise_restriction = 2565, - J2540ITIS_ITIScodes_traffic_regulations_have_been_changed = 2566, - J2540ITIS_ITIScodes_local_access_only = 2567, - J2540ITIS_ITIScodes_no_trailers = 2568, - J2540ITIS_ITIScodes_no_high_profile_vehicles = 2569, - J2540ITIS_ITIScodes_hazardous_materials_truck_restriction = 2570, - J2540ITIS_ITIScodes_no_through_traffic = 2571, - J2540ITIS_ITIScodes_no_motor_vehicles = 2572, - J2540ITIS_ITIScodes_width_limit = 2573, - J2540ITIS_ITIScodes_height_limit = 2574, - J2540ITIS_ITIScodes_length_limit = 2575, - J2540ITIS_ITIScodes_axle_load_limit = 2576, - J2540ITIS_ITIScodes_gross_weight_limit = 2577, - J2540ITIS_ITIScodes_axle_count_limit = 2578, - J2540ITIS_ITIScodes_carpool_lane_available = 2579, - J2540ITIS_ITIScodes_carpool_restrictions_changed = 2580, - J2540ITIS_ITIScodes_hOV_2_no_single_occupant_vehicles = 2581, - J2540ITIS_ITIScodes_hOV_3_no_vehicles_with_less_than_three_occupants = 2582, - J2540ITIS_ITIScodes_bus_lane_available_for_all_vehicles = 2583, - J2540ITIS_ITIScodes_truck_lane_available_for_all_vehicles = 2584, - J2540ITIS_ITIScodes_permits_call_in_basis = 2585, - J2540ITIS_ITIScodes_permits_temporarily_closed = 2586, - J2540ITIS_ITIScodes_permits_closed = 2587, - J2540ITIS_ITIScodes_road_use_permits_required = 2588, - J2540ITIS_ITIScodes_permits_open = 2675, - J2540ITIS_ITIScodes_restrictions_for_high_profile_vehicles_lifted = 2676, - J2540ITIS_ITIScodes_width_limit_lifted = 2677, - J2540ITIS_ITIScodes_height_limit_lifted = 2678, - J2540ITIS_ITIScodes_length_limit_lifted = 2679, - J2540ITIS_ITIScodes_axle_load_limit_lifted = 2680, - J2540ITIS_ITIScodes_weight_limit_lifted = 2681, - J2540ITIS_ITIScodes_axle_count_limit_lifted = 2682, - J2540ITIS_ITIScodes_carpool_restrictions_lifted = 2683, - J2540ITIS_ITIScodes_lane_restrictions_lifted = 2684, - J2540ITIS_ITIScodes_ramp_restrictions_lifted = 2685, - J2540ITIS_ITIScodes_motor_vehicle_restrictions_lifted = 2686, - J2540ITIS_ITIScodes_restrictions_lifted = 2687, - J2540ITIS_ITIScodes_unconfirmed_report = 2817, - J2540ITIS_ITIScodes_initial_response_en_route = 2818, - J2540ITIS_ITIScodes_follow_up_response_en_route = 2819, - J2540ITIS_ITIScodes_initial_response_on_scene = 2820, - J2540ITIS_ITIScodes_follow_up_response_on_scene = 2821, - J2540ITIS_ITIScodes_confirmed_report = 2822, - J2540ITIS_ITIScodes_scene_is_unsecured_at_this_time = 2823, - J2540ITIS_ITIScodes_response_scene_secured = 2824, - J2540ITIS_ITIScodes_rescue_and_recovery_work_in_progress = 2825, - J2540ITIS_ITIScodes_extraction_in_progress = 2826, - J2540ITIS_ITIScodes_clearance_work_in_progress = 2827, - J2540ITIS_ITIScodes_body_removal_operations = 2828, - J2540ITIS_ITIScodes_fire_containment_contained = 2829, - J2540ITIS_ITIScodes_fire_containment_not_contained = 2830, - J2540ITIS_ITIScodes_event_cleared = 2831, - J2540ITIS_ITIScodes_traffic_clearing = 2832, - J2540ITIS_ITIScodes_incident_closed = 2833, - J2540ITIS_ITIScodes_flash_flood = 3073, - J2540ITIS_ITIScodes_major_flood = 3074, - J2540ITIS_ITIScodes_reservoir_failure = 3075, - J2540ITIS_ITIScodes_levee_failure = 3076, - J2540ITIS_ITIScodes_tsunami = 3077, - J2540ITIS_ITIScodes_tidal_wave = 3078, - J2540ITIS_ITIScodes_volcanic_eruption = 3079, - J2540ITIS_ITIScodes_ash_fall = 3080, - J2540ITIS_ITIScodes_lava_flow = 3081, - J2540ITIS_ITIScodes_serious_fire = 3082, - J2540ITIS_ITIScodes_forest_fire = 3083, - J2540ITIS_ITIScodes_wildfire = 3084, - J2540ITIS_ITIScodes_building_fire = 3085, - J2540ITIS_ITIScodes_brush_fire = 3086, - J2540ITIS_ITIScodes_grass_fire = 3087, - J2540ITIS_ITIScodes_fire_danger_extreme = 3088, - J2540ITIS_ITIScodes_fire_danger_very_high = 3089, - J2540ITIS_ITIScodes_fire_danger_high = 3090, - J2540ITIS_ITIScodes_fire_danger_medium = 3091, - J2540ITIS_ITIScodes_fire_danger_low = 3092, - J2540ITIS_ITIScodes_earthquake_damage = 3093, - J2540ITIS_ITIScodes_air_crash = 3094, - J2540ITIS_ITIScodes_rail_crash = 3095, - J2540ITIS_ITIScodes_toxic_release = 3096, - J2540ITIS_ITIScodes_toxic_leak = 3097, - J2540ITIS_ITIScodes_radioactive_release = 3098, - J2540ITIS_ITIScodes_radiation_hazard = 3099, - J2540ITIS_ITIScodes_reactor_leakage = 3100, - J2540ITIS_ITIScodes_explosion = 3101, - J2540ITIS_ITIScodes_major_hazardous_materials_fire = 3102, - J2540ITIS_ITIScodes_major_hazardous_materials_release = 3103, - J2540ITIS_ITIScodes_disaster_cleared = 3199, - J2540ITIS_ITIScodes_assault = 3329, - J2540ITIS_ITIScodes_crime = 3330, - J2540ITIS_ITIScodes_robbery = 3331, - J2540ITIS_ITIScodes_fare_dispute = 3332, - J2540ITIS_ITIScodes_shooting = 3333, - J2540ITIS_ITIScodes_gunfire_on_roadway = 3334, - J2540ITIS_ITIScodes_suicide = 3335, - J2540ITIS_ITIScodes_fight = 3336, - J2540ITIS_ITIScodes_gang_fight = 3337, - J2540ITIS_ITIScodes_person_harassment = 3338, - J2540ITIS_ITIScodes_person_injured = 3339, - J2540ITIS_ITIScodes_sick_customer = 3363, - J2540ITIS_ITIScodes_unruly_passenger = 3340, - J2540ITIS_ITIScodes_person_intoxicated = 3341, - J2540ITIS_ITIScodes_crowd_control_problem = 3342, - J2540ITIS_ITIScodes_demonstration = 3343, - J2540ITIS_ITIScodes_march = 3344, - J2540ITIS_ITIScodes_public_disturbance = 3345, - J2540ITIS_ITIScodes_riot = 3346, - J2540ITIS_ITIScodes_civil_unrest = 3347, - J2540ITIS_ITIScodes_civil_emergency = 3348, - J2540ITIS_ITIScodes_strike = 3349, - J2540ITIS_ITIScodes_public_transit_strike = 3350, - J2540ITIS_ITIScodes_stampede = 3351, - J2540ITIS_ITIScodes_teargas_used = 3352, - J2540ITIS_ITIScodes_security_alert = 3353, - J2540ITIS_ITIScodes_security_incident = 3354, - J2540ITIS_ITIScodes_checkpoint = 3355, - J2540ITIS_ITIScodes_bomb_alert = 3356, - J2540ITIS_ITIScodes_terrorist_incident = 3357, - J2540ITIS_ITIScodes_high_velocity_shell_fire = 3358, - J2540ITIS_ITIScodes_explosives_in_use = 3359, - J2540ITIS_ITIScodes_air_raid = 3360, - J2540ITIS_ITIScodes_weapons_of_mass_destruction_threat = 3361, - J2540ITIS_ITIScodes_military_operations = 3362, - J2540ITIS_ITIScodes_security_problem_cleared = 3454, - J2540ITIS_ITIScodes_traffic_disturbance_cleared = 3455, - J2540ITIS_ITIScodes_sports_event = 3585, - J2540ITIS_ITIScodes_game = 3586, - J2540ITIS_ITIScodes_tournament = 3587, - J2540ITIS_ITIScodes_track_and_field_event = 3588, - J2540ITIS_ITIScodes_baseball_game = 3589, - J2540ITIS_ITIScodes_basketball_game = 3590, - J2540ITIS_ITIScodes_boxing_match = 3591, - J2540ITIS_ITIScodes_football_game = 3592, - J2540ITIS_ITIScodes_soccer_game = 3593, - J2540ITIS_ITIScodes_golf_tournament = 3594, - J2540ITIS_ITIScodes_hockey_game = 3595, - J2540ITIS_ITIScodes_tennis_tournament = 3596, - J2540ITIS_ITIScodes_wrestling_match = 3597, - J2540ITIS_ITIScodes_road_race = 3598, - J2540ITIS_ITIScodes_automobile_race = 3599, - J2540ITIS_ITIScodes_bicycle_race = 3600, - J2540ITIS_ITIScodes_race_event = 3601, - J2540ITIS_ITIScodes_marathon = 3602, - J2540ITIS_ITIScodes_horse_show = 3603, - J2540ITIS_ITIScodes_rodeo = 3604, - J2540ITIS_ITIScodes_water_sports_event = 3605, - J2540ITIS_ITIScodes_winter_sports_event = 3606, - J2540ITIS_ITIScodes_skating_event = 3607, - J2540ITIS_ITIScodes_dog_sled_race = 3608, - J2540ITIS_ITIScodes_sporting_event_ended = 3711, - J2540ITIS_ITIScodes_major_event = 3841, - J2540ITIS_ITIScodes_airshow = 3842, - J2540ITIS_ITIScodes_hot_air_ballooning = 3843, - J2540ITIS_ITIScodes_concert = 3844, - J2540ITIS_ITIScodes_state_occasion = 3845, - J2540ITIS_ITIScodes_vIP_visit = 3846, - J2540ITIS_ITIScodes_show = 3847, - J2540ITIS_ITIScodes_festival = 3848, - J2540ITIS_ITIScodes_exhibition = 3849, - J2540ITIS_ITIScodes_performing_arts = 3850, - J2540ITIS_ITIScodes_outdoor_market = 3851, - J2540ITIS_ITIScodes_fair = 3852, - J2540ITIS_ITIScodes_carnival = 3853, - J2540ITIS_ITIScodes_fireworks_display = 3854, - J2540ITIS_ITIScodes_trade_expo = 3855, - J2540ITIS_ITIScodes_movie_filming = 3856, - J2540ITIS_ITIScodes_presidential_visit = 3857, - J2540ITIS_ITIScodes_parade = 3858, - J2540ITIS_ITIScodes_procession = 3859, - J2540ITIS_ITIScodes_funeral_procession = 3860, - J2540ITIS_ITIScodes_crowd = 3861, - J2540ITIS_ITIScodes_holiday_traffic_crowds = 3862, - J2540ITIS_ITIScodes_event_ended = 3967, - J2540ITIS_ITIScodes_normal_parking_restrictions_lifted = 4097, - J2540ITIS_ITIScodes_parking_meter_restrictions_lifted = 4098, - J2540ITIS_ITIScodes_special_parking_restrictions_in_force = 4099, - J2540ITIS_ITIScodes_full_parking_lot = 4100, - J2540ITIS_ITIScodes_full_parking_garage = 4101, - J2540ITIS_ITIScodes_all_parking_lots_full = 4102, - J2540ITIS_ITIScodes_no_parking_spaces_available = 4103, - J2540ITIS_ITIScodes_only_a_few_spaces_available = 4104, - J2540ITIS_ITIScodes_spaces_available = 4105, - J2540ITIS_ITIScodes_no_parking = 4106, - J2540ITIS_ITIScodes_parking_on_one_side_of_street_only = 4107, - J2540ITIS_ITIScodes_parking_on_both_sides_of_street = 4108, - J2540ITIS_ITIScodes_parallel_parking_only = 4109, - J2540ITIS_ITIScodes_parking_meters_not_available = 4110, - J2540ITIS_ITIScodes_use_of_parking_meters_restricted = 4111, - J2540ITIS_ITIScodes_event_parking = 4112, - J2540ITIS_ITIScodes_handicapped_parking = 4113, - J2540ITIS_ITIScodes_long_term_parking = 4114, - J2540ITIS_ITIScodes_overnight_parking = 4115, - J2540ITIS_ITIScodes_short_term_parking = 4116, - J2540ITIS_ITIScodes_parking_by_permit_only = 4117, - J2540ITIS_ITIScodes_emergency_parking_only = 4118, - J2540ITIS_ITIScodes_emergency_stopping_only = 4119, - J2540ITIS_ITIScodes_parking = 4120, - J2540ITIS_ITIScodes_stopping = 4121, - J2540ITIS_ITIScodes_standing = 4122, - J2540ITIS_ITIScodes_tow_away_zone = 4123, - J2540ITIS_ITIScodes_school_zone = 4124, - J2540ITIS_ITIScodes_speed_zone = 4125, - J2540ITIS_ITIScodes_loading_zone = 4126, - J2540ITIS_ITIScodes_state_law = 4127, - J2540ITIS_ITIScodes_van_accessible = 4128, - J2540ITIS_ITIScodes_special_parking_restrictions_lifted = 4222, - J2540ITIS_ITIScodes_no_parking_information_available = 4223, - J2540ITIS_ITIScodes_information_available_on_radio = 4353, - J2540ITIS_ITIScodes_information_available_on_TV = 4354, - J2540ITIS_ITIScodes_call_to_get_information = 4355, - J2540ITIS_ITIScodes_information_available_via_Internet = 4356, - J2540ITIS_ITIScodes_test_message = 4357, - J2540ITIS_ITIScodes_no_information_available = 4358, - J2540ITIS_ITIScodes_null_description = 4359, - J2540ITIS_ITIScodes_police_assistance = 4361, - J2540ITIS_ITIScodes_police_monitor_CB = 4362, - J2540ITIS_ITIScodes_emergency_notification = 4363, - J2540ITIS_ITIScodes_in_emergency_dial_911 = 4364, - J2540ITIS_ITIScodes_travel_Info_call_511 = 4365, - J2540ITIS_ITIScodes_car_pool_information = 4366, - J2540ITIS_ITIScodes_information_service_resumed = 4478, - J2540ITIS_ITIScodes_information_service_is_being_suspended = 4360, - J2540ITIS_ITIScodes_message_canceled = 4479, - J2540ITIS_ITIScodes_overcast = 4609, - J2540ITIS_ITIScodes_cloudy = 4610, - J2540ITIS_ITIScodes_mostly_cloudy = 4611, - J2540ITIS_ITIScodes_partly_cloudy = 4612, - J2540ITIS_ITIScodes_partly_sunny = 4613, - J2540ITIS_ITIScodes_mostly_sunny = 4614, - J2540ITIS_ITIScodes_sunny = 4615, - J2540ITIS_ITIScodes_fair_skies = 4616, - J2540ITIS_ITIScodes_clear_skies = 4617, - J2540ITIS_ITIScodes_mostly_clear = 4618, - J2540ITIS_ITIScodes_mostly_dry = 4619, - J2540ITIS_ITIScodes_dry = 4620, - J2540ITIS_ITIScodes_uV_index_very_high = 4621, - J2540ITIS_ITIScodes_uV_index_high = 4622, - J2540ITIS_ITIScodes_uV_index_moderate = 4623, - J2540ITIS_ITIScodes_uV_index_low = 4624, - J2540ITIS_ITIScodes_uV_index_very_low = 4625, - J2540ITIS_ITIScodes_barometric_pressure = 4626, - J2540ITIS_ITIScodes_ozone_alert = 4627, - J2540ITIS_ITIScodes_lighting_unknown = 4628, - J2540ITIS_ITIScodes_artificial_exterior_light = 4629, - J2540ITIS_ITIScodes_artificial_interior_light = 4630, - J2540ITIS_ITIScodes_darkness = 4631, - J2540ITIS_ITIScodes_dusk = 4632, - J2540ITIS_ITIScodes_dawn = 4633, - J2540ITIS_ITIScodes_moonlight = 4634, - J2540ITIS_ITIScodes_daylight = 4635, - J2540ITIS_ITIScodes_weather_forecast_withdrawn = 4735, - J2540ITIS_ITIScodes_severe_weather = 4865, - J2540ITIS_ITIScodes_blizzard = 4866, - J2540ITIS_ITIScodes_heavy_snow = 4867, - J2540ITIS_ITIScodes_snow = 4868, - J2540ITIS_ITIScodes_light_snow = 4869, - J2540ITIS_ITIScodes_snow_showers = 4870, - J2540ITIS_ITIScodes_winter_storm = 4871, - J2540ITIS_ITIScodes_ice_glaze = 4872, - J2540ITIS_ITIScodes_heavy_frost = 4873, - J2540ITIS_ITIScodes_frost = 4874, - J2540ITIS_ITIScodes_ice_storm = 4875, - J2540ITIS_ITIScodes_sleet = 4876, - J2540ITIS_ITIScodes_rain_and_snow_mixed = 4877, - J2540ITIS_ITIScodes_rain_changing_to_snow = 4878, - J2540ITIS_ITIScodes_damaging_hail = 4879, - J2540ITIS_ITIScodes_hail = 4880, - J2540ITIS_ITIScodes_thunderstorms = 4881, - J2540ITIS_ITIScodes_thundershowers = 4882, - J2540ITIS_ITIScodes_extremely_heavy_downpour = 4883, - J2540ITIS_ITIScodes_heavy_rain = 4884, - J2540ITIS_ITIScodes_rain = 4885, - J2540ITIS_ITIScodes_light_rain = 4886, - J2540ITIS_ITIScodes_drizzle = 4887, - J2540ITIS_ITIScodes_showers = 4888, - J2540ITIS_ITIScodes_dew = 4889, - J2540ITIS_ITIScodes_precipitation_cleared = 4991, - J2540ITIS_ITIScodes_tornado = 5121, - J2540ITIS_ITIScodes_hurricane = 5122, - J2540ITIS_ITIScodes_hurricane_force_winds = 5123, - J2540ITIS_ITIScodes_tropical_storm = 5124, - J2540ITIS_ITIScodes_gale_force_winds = 5125, - J2540ITIS_ITIScodes_storm_force_winds = 5126, - J2540ITIS_ITIScodes_strong_winds = 5127, - J2540ITIS_ITIScodes_moderate_winds = 5128, - J2540ITIS_ITIScodes_light_winds = 5129, - J2540ITIS_ITIScodes_calm = 5130, - J2540ITIS_ITIScodes_gusty_winds = 5131, - J2540ITIS_ITIScodes_crosswinds = 5132, - J2540ITIS_ITIScodes_windy = 5133, - J2540ITIS_ITIScodes_strong_winds_have_eased = 5246, - J2540ITIS_ITIScodes_strong_wind_forecast_withdrawn = 5247, - J2540ITIS_ITIScodes_dense_fog = 5377, - J2540ITIS_ITIScodes_fog = 5378, - J2540ITIS_ITIScodes_patchy_fog = 5379, - J2540ITIS_ITIScodes_freezing_fog = 5380, - J2540ITIS_ITIScodes_ice_fog = 5405, - J2540ITIS_ITIScodes_mist = 5381, - J2540ITIS_ITIScodes_haze = 5382, - J2540ITIS_ITIScodes_visibility_reduced = 5383, - J2540ITIS_ITIScodes_visibility_blocked = 5404, - J2540ITIS_ITIScodes_white_out = 5384, - J2540ITIS_ITIScodes_blowing_snow = 5385, - J2540ITIS_ITIScodes_smoke_hazard = 5386, - J2540ITIS_ITIScodes_spray_hazard = 5387, - J2540ITIS_ITIScodes_low_sun_glare = 5388, - J2540ITIS_ITIScodes_snow_glare = 5389, - J2540ITIS_ITIScodes_blowing_dust = 5390, - J2540ITIS_ITIScodes_blowing_sand = 5391, - J2540ITIS_ITIScodes_dust_storms = 5392, - J2540ITIS_ITIScodes_sandstorms = 5393, - J2540ITIS_ITIScodes_air_quality_good = 5394, - J2540ITIS_ITIScodes_air_quality_fair = 5395, - J2540ITIS_ITIScodes_air_quality_poor = 5396, - J2540ITIS_ITIScodes_air_quality_very_poor = 5397, - J2540ITIS_ITIScodes_severe_exhaust_pollution = 5398, - J2540ITIS_ITIScodes_smog_alert = 5399, - J2540ITIS_ITIScodes_pollen_count_high = 5400, - J2540ITIS_ITIScodes_pollen_count_medium = 5401, - J2540ITIS_ITIScodes_pollen_count_low = 5402, - J2540ITIS_ITIScodes_swarms_of_insects = 5403, - J2540ITIS_ITIScodes_fog_clearing = 5499, - J2540ITIS_ITIScodes_visibility_improved = 5500, - J2540ITIS_ITIScodes_fog_forecast_withdrawn = 5501, - J2540ITIS_ITIScodes_pollution_alert_ended = 5502, - J2540ITIS_ITIScodes_air_quality_improved = 5503, - J2540ITIS_ITIScodes_maximum_temperature = 5633, - J2540ITIS_ITIScodes_temperature = 5634, - J2540ITIS_ITIScodes_minimum_temperature = 5635, - J2540ITIS_ITIScodes_current_temperature = 5636, - J2540ITIS_ITIScodes_heat_index = 5637, - J2540ITIS_ITIScodes_extreme_heat = 5638, - J2540ITIS_ITIScodes_hot = 5639, - J2540ITIS_ITIScodes_hotter = 5640, - J2540ITIS_ITIScodes_heat = 5641, - J2540ITIS_ITIScodes_warmer = 5642, - J2540ITIS_ITIScodes_warm = 5643, - J2540ITIS_ITIScodes_mild = 5644, - J2540ITIS_ITIScodes_cool = 5645, - J2540ITIS_ITIScodes_cooler = 5646, - J2540ITIS_ITIScodes_cold = 5647, - J2540ITIS_ITIScodes_colder = 5648, - J2540ITIS_ITIScodes_very_cold = 5649, - J2540ITIS_ITIScodes_extreme_cold = 5650, - J2540ITIS_ITIScodes_wind_chill = 5651, - J2540ITIS_ITIScodes_dewpoint = 5652, - J2540ITIS_ITIScodes_relative_humidity = 5653, - J2540ITIS_ITIScodes_temperatures_close_to_the_seasonal_norm = 5758, - J2540ITIS_ITIScodes_less_extreme_temperatures = 5759, - J2540ITIS_ITIScodes_impassable = 5889, - J2540ITIS_ITIScodes_almost_impassable = 5890, - J2540ITIS_ITIScodes_passable_with_care = 5891, - J2540ITIS_ITIScodes_passable = 5892, - J2540ITIS_ITIScodes_surface_water_hazard = 5893, - J2540ITIS_ITIScodes_danger_of_hydroplaning = 5894, - J2540ITIS_ITIScodes_wet_pavement = 5895, - J2540ITIS_ITIScodes_treated_pavement = 5896, - J2540ITIS_ITIScodes_slippery = 5897, - J2540ITIS_ITIScodes_low_ground_clearance = 5938, - J2540ITIS_ITIScodes_at_grade_level_crossing = 5937, - J2540ITIS_ITIScodes_mud_on_roadway = 5898, - J2540ITIS_ITIScodes_leaves_on_roadway = 5899, - J2540ITIS_ITIScodes_loose_sand_on_roadway = 5900, - J2540ITIS_ITIScodes_loose_gravel = 5901, - J2540ITIS_ITIScodes_fuel_on_roadway = 5902, - J2540ITIS_ITIScodes_oil_on_roadway = 5903, - J2540ITIS_ITIScodes_road_surface_in_poor_condition = 5904, - J2540ITIS_ITIScodes_melting_tar = 5905, - J2540ITIS_ITIScodes_uneven_lanes = 5935, - J2540ITIS_ITIScodes_rough_road = 5931, - J2540ITIS_ITIScodes_rough_crossing = 5936, - J2540ITIS_ITIScodes_ice = 5906, - J2540ITIS_ITIScodes_icy_patches = 5907, - J2540ITIS_ITIScodes_black_ice = 5908, - J2540ITIS_ITIScodes_ice_pellets_on_roadway = 5909, - J2540ITIS_ITIScodes_ice_build_up = 5910, - J2540ITIS_ITIScodes_freezing_rain = 5911, - J2540ITIS_ITIScodes_wet_and_icy_roads = 5912, - J2540ITIS_ITIScodes_slush = 5914, - J2540ITIS_ITIScodes_melting_snow = 5913, - J2540ITIS_ITIScodes_frozen_slush = 5915, - J2540ITIS_ITIScodes_snow_on_roadway = 5916, - J2540ITIS_ITIScodes_packed_snow = 5917, - J2540ITIS_ITIScodes_packed_snow_patches = 5918, - J2540ITIS_ITIScodes_plowed_snow = 5919, - J2540ITIS_ITIScodes_wet_snow = 5920, - J2540ITIS_ITIScodes_fresh_snow = 5921, - J2540ITIS_ITIScodes_powder_snow = 5922, - J2540ITIS_ITIScodes_granular_snow = 5923, - J2540ITIS_ITIScodes_frozen_snow = 5924, - J2540ITIS_ITIScodes_crusted_snow = 5925, - J2540ITIS_ITIScodes_deep_snow = 5926, - J2540ITIS_ITIScodes_snow_drifts = 5927, - J2540ITIS_ITIScodes_drifting_snow = 5928, - J2540ITIS_ITIScodes_expected_snow_accumulation = 5929, - J2540ITIS_ITIScodes_current_snow_accumulation = 5930, - J2540ITIS_ITIScodes_sand = 5932, - J2540ITIS_ITIScodes_gravel = 5933, - J2540ITIS_ITIScodes_paved = 5934, - J2540ITIS_ITIScodes_dry_pavement = 6011, - J2540ITIS_ITIScodes_snow_cleared = 6012, - J2540ITIS_ITIScodes_pavement_conditions_improved = 6013, - J2540ITIS_ITIScodes_skid_hazard_reduced = 6014, - J2540ITIS_ITIScodes_pavement_conditions_cleared = 6015, - J2540ITIS_ITIScodes_winter_equipment_recommended = 6145, - J2540ITIS_ITIScodes_winter_equipment_required = 6146, - J2540ITIS_ITIScodes_snow_chains_recommended = 6147, - J2540ITIS_ITIScodes_snow_chains_required = 6148, - J2540ITIS_ITIScodes_snow_chains_prohibited = 6149, - J2540ITIS_ITIScodes_studded_tires_prohibited = 6150, - J2540ITIS_ITIScodes_snow_tires_recommended = 6151, - J2540ITIS_ITIScodes_snow_tires_required = 6152, - J2540ITIS_ITIScodes_four_wheel_drive_recommended = 6153, - J2540ITIS_ITIScodes_four_wheel_drive_required = 6154, - J2540ITIS_ITIScodes_snow_tires_or_chains_recommended = 6155, - J2540ITIS_ITIScodes_snow_tires_or_chains_required = 6156, - J2540ITIS_ITIScodes_winter_driving_requirements_lifted = 6271, - J2540ITIS_ITIScodes_driving_conditions_good = 6401, - J2540ITIS_ITIScodes_driving_conditions_fair = 6402, - J2540ITIS_ITIScodes_difficult_driving_conditions = 6403, - J2540ITIS_ITIScodes_very_difficult_driving_conditions = 6404, - J2540ITIS_ITIScodes_hazardous_driving_conditions = 6405, - J2540ITIS_ITIScodes_extremely_hazardous_driving_conditions = 6406, - J2540ITIS_ITIScodes_why_not_ride_share = 6657, - J2540ITIS_ITIScodes_is_this_your_no_ride_day = 6658, - J2540ITIS_ITIScodes_why_not_use_transit = 6659, - J2540ITIS_ITIScodes_why_not_park_and_ride = 6660, - J2540ITIS_ITIScodes_why_not_try_paratransit = 6661, - J2540ITIS_ITIScodes_why_not_travel_by_rail = 6662, - J2540ITIS_ITIScodes_why_not_use_the_subway = 6663, - J2540ITIS_ITIScodes_why_not_try_rapid_transit = 6664, - J2540ITIS_ITIScodes_why_not_travel_by_bus = 6665, - J2540ITIS_ITIScodes_your_parking_ticket_covers_the_return_ride = 6666, - J2540ITIS_ITIScodes_avoid_the_rush_hour = 6667, - J2540ITIS_ITIScodes_do_not_allow_unnecessary_gaps = 6668, - J2540ITIS_ITIScodes_follow_the_vehicle_in_front_smoothly = 6669, - J2540ITIS_ITIScodes_do_not_slow_down_unnecessarily = 6670, - J2540ITIS_ITIScodes_watch_for_muggers = 6671, - J2540ITIS_ITIScodes_watch_for_pickpockets = 6672, - J2540ITIS_ITIScodes_watch_for_thieves = 6673, - J2540ITIS_ITIScodes_sorry_for_any_delay = 6674, - J2540ITIS_ITIScodes_thank_you_for_your_understanding = 6675, - J2540ITIS_ITIScodes_we_appreciate_your_patience = 6676, - J2540ITIS_ITIScodes_we_are_grateful_for_your_cooperation = 6677, - J2540ITIS_ITIScodes_share_the_road = 6678, - J2540ITIS_ITIScodes_risk = 6913, - J2540ITIS_ITIScodes_watch = 6914, - J2540ITIS_ITIScodes_warning = 6915, - J2540ITIS_ITIScodes_alert = 6916, - J2540ITIS_ITIScodes_danger = 6917, - J2540ITIS_ITIScodes_danger_of_explosion = 6918, - J2540ITIS_ITIScodes_danger_of_fire = 6919, - J2540ITIS_ITIScodes_extra_police_patrols_in_operation = 6920, - J2540ITIS_ITIScodes_look_out_for_vehicles_stopped_under_bridges = 6921, - J2540ITIS_ITIScodes_increased_risk_of_accident = 6922, - J2540ITIS_ITIScodes_rescue_and_recovery_work_in_progress_at_sceneREMOVED = 6923, - J2540ITIS_ITIScodes_police_at_scene = 6924, - J2540ITIS_ITIScodes_emergency_vehicles_at_scene = 6925, - J2540ITIS_ITIScodes_traffic_being_directed_around_accident_area = 6926, - J2540ITIS_ITIScodes_police_directing_traffic = 6927, - J2540ITIS_ITIScodes_rescue_workers_directing_traffic = 6928, - J2540ITIS_ITIScodes_repairs_in_progress = 6929, - J2540ITIS_ITIScodes_pilot_car_in_operation = 6930, - J2540ITIS_ITIScodes_look_out_for_flagger = 6931, - J2540ITIS_ITIScodes_look_out_for_workers = 6952, - J2540ITIS_ITIScodes_police_checks_in_operation = 6932, - J2540ITIS_ITIScodes_truck_check_point = 6937, - J2540ITIS_ITIScodes_lockdown = 6935, - J2540ITIS_ITIScodes_security_check_point = 6936, - J2540ITIS_ITIScodes_single_occupancy_vehicle_check_point = 6938, - J2540ITIS_ITIScodes_mandatory_speed_limit_in_force = 6933, - J2540ITIS_ITIScodes_speed_limit_in_force_for_heavy_vehicles = 6934, - J2540ITIS_ITIScodes_behind_you = 6950, - J2540ITIS_ITIScodes_ride_with_traffic = 6953, - J2540ITIS_ITIScodes_prepare_to_evacuate_area = 6954, - J2540ITIS_ITIScodes_avoid = 6955, - J2540ITIS_ITIScodes_look = 6939, - J2540ITIS_ITIScodes_photo_enforced = 6940, - J2540ITIS_ITIScodes_traffic_signs = 6951, - J2540ITIS_ITIScodes_traffic_laws = 6941, - J2540ITIS_ITIScodes_use_low_gear = 6942, - J2540ITIS_ITIScodes_bridge_ices_before_road = 6943, - J2540ITIS_ITIScodes_speed_checked_by_radar = 6944, - J2540ITIS_ITIScodes_speed_checked_by_aircraft = 6945, - J2540ITIS_ITIScodes_fines = 6946, - J2540ITIS_ITIScodes_fines_higher = 6947, - J2540ITIS_ITIScodes_fines_doubled = 6948, - J2540ITIS_ITIScodes_fines_tripled = 6949, - J2540ITIS_ITIScodes_evacuation_canceled = 7033, - J2540ITIS_ITIScodes_warning_canceled = 7034, - J2540ITIS_ITIScodes_watch_canceled = 7035, - J2540ITIS_ITIScodes_alert_canceled = 7036, - J2540ITIS_ITIScodes_ended = 7037, - J2540ITIS_ITIScodes_cleared = 7038, - J2540ITIS_ITIScodes_canceled = 7039, - J2540ITIS_ITIScodes_drive_carefully = 7169, - J2540ITIS_ITIScodes_drive_with_extreme_caution = 7170, - J2540ITIS_ITIScodes_approach_with_care = 7171, - J2540ITIS_ITIScodes_keep_your_distance = 7172, - J2540ITIS_ITIScodes_increase_normal_following_distance = 7173, - J2540ITIS_ITIScodes_test_your_brakes = 7174, - J2540ITIS_ITIScodes_cross_intersection_with_care = 7175, - J2540ITIS_ITIScodes_pass_with_care = 7176, - J2540ITIS_ITIScodes_pass = 7200, - J2540ITIS_ITIScodes_use_low_beam_headlights = 7177, - J2540ITIS_ITIScodes_use_fog_lights = 7178, - J2540ITIS_ITIScodes_use_hazard_warning_lights = 7179, - J2540ITIS_ITIScodes_do_not_leave_your_vehicle = 7180, - J2540ITIS_ITIScodes_leave_your_vehicle_and_proceed_to_next_safe_place = 7181, - J2540ITIS_ITIScodes_turn_off_engine = 7182, - J2540ITIS_ITIScodes_close_all_windows_turn_off_heater_air_conditioner_and_vents = 7183, - J2540ITIS_ITIScodes_turn_off_air_conditioner_to_prevent_engine_overheating = 7184, - J2540ITIS_ITIScodes_turn_off_mobile_phones_and_two_way_radios = 7185, - J2540ITIS_ITIScodes_prepare_to_stop = 7186, - J2540ITIS_ITIScodes_be_prepared_to_stop = 7201, - J2540ITIS_ITIScodes_stop_at_next_rest_area = 7187, - J2540ITIS_ITIScodes_stop_at_next_safe_place = 7188, - J2540ITIS_ITIScodes_only_travel_if_absolutely_necessary = 7189, - J2540ITIS_ITIScodes_drive_to_another_service_area = 7190, - J2540ITIS_ITIScodes_use_through_traffic_lanes = 7191, - J2540ITIS_ITIScodes_use_local_traffic_lanes = 7192, - J2540ITIS_ITIScodes_use_left_hand_parallel_roadway = 7193, - J2540ITIS_ITIScodes_use_right_hand_parallel_roadway = 7194, - J2540ITIS_ITIScodes_use_heavy_vehicle_lane = 7195, - J2540ITIS_ITIScodes_observe_recommended_speed = 7196, - J2540ITIS_ITIScodes_signals_sequenced_for_speed = 7202, - J2540ITIS_ITIScodes_maintain_top_safe_speed = 7203, - J2540ITIS_ITIScodes_facing_traffic = 7197, - J2540ITIS_ITIScodes_push_button = 7198, - J2540ITIS_ITIScodes_to_cross_street = 7199, - J2540ITIS_ITIScodes_evacuate_area_voluntarily = 7204, - J2540ITIS_ITIScodes_shelter_in_place = 7205, - J2540ITIS_ITIScodes_keep_to_the_right = 7425, - J2540ITIS_ITIScodes_keep_to_the_left = 7426, - J2540ITIS_ITIScodes_use_right_lane = 7427, - J2540ITIS_ITIScodes_use_left_lane = 7428, - J2540ITIS_ITIScodes_stay_in_lane = 7450, - J2540ITIS_ITIScodes_merge = 7451, - J2540ITIS_ITIScodes_heavy_vehicles_use_right_lane = 7429, - J2540ITIS_ITIScodes_heavy_vehicles_use_left_lane = 7430, - J2540ITIS_ITIScodes_observe_signals = 7431, - J2540ITIS_ITIScodes_observe_signs = 7432, - J2540ITIS_ITIScodes_no_passing = 7433, - J2540ITIS_ITIScodes_no_smoking = 7434, - J2540ITIS_ITIScodes_no_open_flames = 7435, - J2540ITIS_ITIScodes_use_shoulder_as_lane = 7436, - J2540ITIS_ITIScodes_do_not_drive_on_the_shoulder = 7437, - J2540ITIS_ITIScodes_allow_emergency_vehicles_to_pass = 7438, - J2540ITIS_ITIScodes_clear_a_lane_for_emergency_vehicles = 7439, - J2540ITIS_ITIScodes_pull_over_to_the_edge_of_the_roadway = 7440, - J2540ITIS_ITIScodes_wait_for_escort_vehicle = 7441, - J2540ITIS_ITIScodes_in_emergency_wait_for_police_patrol = 7442, - J2540ITIS_ITIScodes_reduce_your_speed = 7443, - J2540ITIS_ITIScodes_observe_speed_limits = 7444, - J2540ITIS_ITIScodes_check_point = 7445, - J2540ITIS_ITIScodes_entry_requirements = 7446, - J2540ITIS_ITIScodes_insurance_requirements = 7447, - J2540ITIS_ITIScodes_firearms_requirements = 7448, - J2540ITIS_ITIScodes_pet_requirements = 7449, - J2540ITIS_ITIScodes_slower_traffic_keep_right = 7452, - J2540ITIS_ITIScodes_keep_off = 7453, - J2540ITIS_ITIScodes_evacuate_area_immediately = 7454, - J2540ITIS_ITIScodes_shoulder_travel_no_longer_allowed = 7547, - J2540ITIS_ITIScodes_above = 7681, - J2540ITIS_ITIScodes_below = 7682, - J2540ITIS_ITIScodes_in = 7683, - J2540ITIS_ITIScodes_around = 7684, - J2540ITIS_ITIScodes_after = 7685, - J2540ITIS_ITIScodes_before = 7686, - J2540ITIS_ITIScodes_at = 7687, - J2540ITIS_ITIScodes_on = 7688, - J2540ITIS_ITIScodes_near = 7689, - J2540ITIS_ITIScodes_from_the = 7690, - J2540ITIS_ITIScodes_terminal = 7691, - J2540ITIS_ITIScodes_falling_slowly = 7692, - J2540ITIS_ITIScodes_falling = 7693, - J2540ITIS_ITIScodes_falling_quickly = 7694, - J2540ITIS_ITIScodes_rising_slowly = 7695, - J2540ITIS_ITIScodes_rising = 7696, - J2540ITIS_ITIScodes_rising_quickly = 7697, - J2540ITIS_ITIScodes_steady = 7698, - J2540ITIS_ITIScodes_likely = 7699, - J2540ITIS_ITIScodes_changing_to = 7700, - J2540ITIS_ITIScodes_mostly = 7701, - J2540ITIS_ITIScodes_partly = 7702, - J2540ITIS_ITIScodes_minus = 7703, - J2540ITIS_ITIScodes_weather_ended = 7704, - J2540ITIS_ITIScodes_expected = 7705, - J2540ITIS_ITIScodes_low = 7706, - J2540ITIS_ITIScodes_mid = 7707, - J2540ITIS_ITIScodes_high = 7708, - J2540ITIS_ITIScodes_upper = 7709, - J2540ITIS_ITIScodes_middle = 7765, - J2540ITIS_ITIScodes_lower = 7764, - J2540ITIS_ITIScodes_unseasonably = 7710, - J2540ITIS_ITIScodes_reported = 7711, - J2540ITIS_ITIScodes_advice = 7712, - J2540ITIS_ITIScodes_due_to = 7713, - J2540ITIS_ITIScodes_proceed_to = 7714, - J2540ITIS_ITIScodes_transferred_to = 7715, - J2540ITIS_ITIScodes_use = 7716, - J2540ITIS_ITIScodes_affecting = 7717, - J2540ITIS_ITIScodes_blocking = 7718, - J2540ITIS_ITIScodes_connecting = 7719, - J2540ITIS_ITIScodes_finished = 7720, - J2540ITIS_ITIScodes_for = 7721, - J2540ITIS_ITIScodes_or = 7722, - J2540ITIS_ITIScodes_and = 7723, - J2540ITIS_ITIScodes_later = 7724, - J2540ITIS_ITIScodes_level = 7725, - J2540ITIS_ITIScodes_shortly = 7726, - J2540ITIS_ITIScodes_soon = 7727, - J2540ITIS_ITIScodes_service = 7728, - J2540ITIS_ITIScodes_graffiti = 7733, - J2540ITIS_ITIScodes_damaged = 7729, - J2540ITIS_ITIScodes_out_of_order = 7730, - J2540ITIS_ITIScodes_on_State_right_of_way = 7732, - J2540ITIS_ITIScodes_found_property = 7734, - J2540ITIS_ITIScodes_vandalism = 7731, - J2540ITIS_ITIScodes_major = 7766, - J2540ITIS_ITIScodes_minor = 7767, - J2540ITIS_ITIScodes_begin_time = 7735, - J2540ITIS_ITIScodes_added = 7736, - J2540ITIS_ITIScodes_end_time = 7737, - J2540ITIS_ITIScodes_no = 7738, - J2540ITIS_ITIScodes_do_not = 7739, - J2540ITIS_ITIScodes_block = 7740, - J2540ITIS_ITIScodes_except = 7741, - J2540ITIS_ITIScodes_day = 7742, - J2540ITIS_ITIScodes_night = 7743, - J2540ITIS_ITIScodes_any_time = 7744, - J2540ITIS_ITIScodes_has = 7745, - J2540ITIS_ITIScodes_must = 7757, - J2540ITIS_ITIScodes_may_have = 7746, - J2540ITIS_ITIScodes_may_exceed = 7759, - J2540ITIS_ITIScodes_only = 7747, - J2540ITIS_ITIScodes_lifted = 7748, - J2540ITIS_ITIScodes_empty = 7749, - J2540ITIS_ITIScodes_turning = 7750, - J2540ITIS_ITIScodes_u_turn = 7751, - J2540ITIS_ITIScodes_wait_for = 7752, - J2540ITIS_ITIScodes_when_flashing = 7753, - J2540ITIS_ITIScodes_duration = 7754, - J2540ITIS_ITIScodes_cross = 7755, - J2540ITIS_ITIScodes_when_wet = 7756, - J2540ITIS_ITIScodes_oncoming = 7758, - J2540ITIS_ITIScodes_to_request = 7760, - J2540ITIS_ITIScodes_exempt = 7761, - J2540ITIS_ITIScodes_skewed = 7762, - J2540ITIS_ITIScodes_when_children_are_present = 7763, - J2540ITIS_ITIScodes_on_bridges = 7937, - J2540ITIS_ITIScodes_in_tunnels = 7938, - J2540ITIS_ITIScodes_entering_or_leaving_tunnels = 7939, - J2540ITIS_ITIScodes_on_ramps = 7940, - J2540ITIS_ITIScodes_in_road_construction_area = 7941, - J2540ITIS_ITIScodes_around_a_curve = 7942, - J2540ITIS_ITIScodes_on_curve = 8026, - J2540ITIS_ITIScodes_on_tracks = 8009, - J2540ITIS_ITIScodes_in_street = 8025, - J2540ITIS_ITIScodes_shoulder = 8027, - J2540ITIS_ITIScodes_on_minor_roads = 7943, - J2540ITIS_ITIScodes_in_the_opposing_lanes = 7944, - J2540ITIS_ITIScodes_adjacent_to_roadway = 7945, - J2540ITIS_ITIScodes_across_tracks = 8024, - J2540ITIS_ITIScodes_on_bend = 7946, - J2540ITIS_ITIScodes_intersection = 8032, - J2540ITIS_ITIScodes_entire_intersection = 7947, - J2540ITIS_ITIScodes_in_the_median = 7948, - J2540ITIS_ITIScodes_moved_to_side_of_road = 7949, - J2540ITIS_ITIScodes_moved_to_shoulder = 7950, - J2540ITIS_ITIScodes_on_the_roadway = 7951, - J2540ITIS_ITIScodes_dip = 8010, - J2540ITIS_ITIScodes_traffic_circle = 8011, - J2540ITIS_ITIScodes_crossover = 8028, - J2540ITIS_ITIScodes_cross_road = 8029, - J2540ITIS_ITIScodes_side_road = 8030, - J2540ITIS_ITIScodes_to = 8014, - J2540ITIS_ITIScodes_by = 8015, - J2540ITIS_ITIScodes_through = 8016, - J2540ITIS_ITIScodes_area_of = 8017, - J2540ITIS_ITIScodes_under = 8018, - J2540ITIS_ITIScodes_over = 8019, - J2540ITIS_ITIScodes_from = 8020, - J2540ITIS_ITIScodes_approaching = 8021, - J2540ITIS_ITIScodes_entering_at = 8022, - J2540ITIS_ITIScodes_exiting_at = 8023, - J2540ITIS_ITIScodes_in_shaded_areas = 7952, - J2540ITIS_ITIScodes_in_low_lying_areas = 7953, - J2540ITIS_ITIScodes_in_the_downtown_area = 7954, - J2540ITIS_ITIScodes_in_the_inner_city_area = 7955, - J2540ITIS_ITIScodes_in_parts = 7956, - J2540ITIS_ITIScodes_in_some_places = 7957, - J2540ITIS_ITIScodes_in_the_ditch = 7958, - J2540ITIS_ITIScodes_in_the_valley = 7959, - J2540ITIS_ITIScodes_on_hill_top = 7960, - J2540ITIS_ITIScodes_near_the_foothills = 7961, - J2540ITIS_ITIScodes_at_high_altitudes = 7962, - J2540ITIS_ITIScodes_near_the_lake = 7963, - J2540ITIS_ITIScodes_near_the_shore = 7964, - J2540ITIS_ITIScodes_nearby_basin = 8008, - J2540ITIS_ITIScodes_over_the_crest_of_a_hill = 7965, - J2540ITIS_ITIScodes_other_than_on_the_roadway = 7966, - J2540ITIS_ITIScodes_near_the_beach = 7967, - J2540ITIS_ITIScodes_near_beach_access_point = 7968, - J2540ITIS_ITIScodes_mountain_pass = 8006, - J2540ITIS_ITIScodes_lower_level = 7969, - J2540ITIS_ITIScodes_upper_level = 7970, - J2540ITIS_ITIScodes_coast = 8034, - J2540ITIS_ITIScodes_airport = 7971, - J2540ITIS_ITIScodes_concourse = 7972, - J2540ITIS_ITIScodes_gate = 7973, - J2540ITIS_ITIScodes_baggage_claim = 7974, - J2540ITIS_ITIScodes_customs_point = 7975, - J2540ITIS_ITIScodes_reservation_center = 8007, - J2540ITIS_ITIScodes_station = 7976, - J2540ITIS_ITIScodes_platform = 7977, - J2540ITIS_ITIScodes_dock = 7978, - J2540ITIS_ITIScodes_depot = 7979, - J2540ITIS_ITIScodes_ev_charging_point = 7980, - J2540ITIS_ITIScodes_information_welcome_point = 7981, - J2540ITIS_ITIScodes_at_rest_area = 7982, - J2540ITIS_ITIScodes_at_service_area = 7983, - J2540ITIS_ITIScodes_at_weigh_station = 7984, - J2540ITIS_ITIScodes_roadside_park = 8033, - J2540ITIS_ITIScodes_picnic_areas = 7985, - J2540ITIS_ITIScodes_rest_area = 7986, - J2540ITIS_ITIScodes_service_stations = 7987, - J2540ITIS_ITIScodes_toilets = 7988, - J2540ITIS_ITIScodes_bus_stop = 8031, - J2540ITIS_ITIScodes_park_and_ride_lot = 8012, - J2540ITIS_ITIScodes_on_the_right = 7989, - J2540ITIS_ITIScodes_on_the_left = 7990, - J2540ITIS_ITIScodes_in_the_center = 7991, - J2540ITIS_ITIScodes_in_the_opposite_direction = 7992, - J2540ITIS_ITIScodes_cross_traffic = 7993, - J2540ITIS_ITIScodes_northbound_traffic = 7994, - J2540ITIS_ITIScodes_eastbound_traffic = 7995, - J2540ITIS_ITIScodes_southbound_traffic = 7996, - J2540ITIS_ITIScodes_westbound_traffic = 7997, - J2540ITIS_ITIScodes_north = 7998, - J2540ITIS_ITIScodes_south = 7999, - J2540ITIS_ITIScodes_east = 8000, - J2540ITIS_ITIScodes_west = 8001, - J2540ITIS_ITIScodes_northeast = 8002, - J2540ITIS_ITIScodes_northwest = 8003, - J2540ITIS_ITIScodes_southeast = 8004, - J2540ITIS_ITIScodes_southwest = 8005, - J2540ITIS_ITIScodes_all_roadways = 8193, - J2540ITIS_ITIScodes_through_lanes = 8194, - J2540ITIS_ITIScodes_left_lane = 8195, - J2540ITIS_ITIScodes_right_lane = 8196, - J2540ITIS_ITIScodes_center_lane = 8197, - J2540ITIS_ITIScodes_middle_lanes = 8198, - J2540ITIS_ITIScodes_middle_two_lanes = 8199, - J2540ITIS_ITIScodes_right_turning_lanes = 8200, - J2540ITIS_ITIScodes_left_turning_lanes = 8201, - J2540ITIS_ITIScodes_upper_deck_lanes = 8236, - J2540ITIS_ITIScodes_lower_deck_lanes = 8237, - J2540ITIS_ITIScodes_reversible_lanes = 8238, - J2540ITIS_ITIScodes_right_exit_lanes = 8239, - J2540ITIS_ITIScodes_left_exit_lanes = 8240, - J2540ITIS_ITIScodes_right_merging_lanes = 8241, - J2540ITIS_ITIScodes_left_merging_lanes = 8242, - J2540ITIS_ITIScodes_right_exit_ramp = 8202, - J2540ITIS_ITIScodes_right_second_exit_ramp = 8243, - J2540ITIS_ITIScodes_right_entrance_ramp = 8203, - J2540ITIS_ITIScodes_right_second_entrance_ramp = 8245, - J2540ITIS_ITIScodes_left_exit_ramp = 8204, - J2540ITIS_ITIScodes_left_second_exit_ramp = 8244, - J2540ITIS_ITIScodes_left_entrance_ramp = 8205, - J2540ITIS_ITIScodes_left_second_entrance_ramp = 8246, - J2540ITIS_ITIScodes_escape_ramp = 8234, - J2540ITIS_ITIScodes_hard_shoulder = 8206, - J2540ITIS_ITIScodes_soft_shoulder = 8207, - J2540ITIS_ITIScodes_right_shoulder = 8208, - J2540ITIS_ITIScodes_left_shoulder = 8209, - J2540ITIS_ITIScodes_median = 8252, - J2540ITIS_ITIScodes_sidewalk = 8251, - J2540ITIS_ITIScodes_highways = 8235, - J2540ITIS_ITIScodes_right_hand_parallel_lanes = 8210, - J2540ITIS_ITIScodes_left_hand_parallel_lanes = 8211, - J2540ITIS_ITIScodes_connecting_lanes = 8212, - J2540ITIS_ITIScodes_express_lanes = 8213, - J2540ITIS_ITIScodes_local_lanes = 8214, - J2540ITIS_ITIScodes_toll_lanes = 8215, - J2540ITIS_ITIScodes_electronic_toll_lanes = 8216, - J2540ITIS_ITIScodes_toll_plaza = 8217, - J2540ITIS_ITIScodes_inspection_lane = 8218, - J2540ITIS_ITIScodes_hOV_lanes = 8219, - J2540ITIS_ITIScodes_bus_lanes = 8220, - J2540ITIS_ITIScodes_carpool_lanes = 8221, - J2540ITIS_ITIScodes_truck_lanes = 8222, - J2540ITIS_ITIScodes_emergency_lanes = 8223, - J2540ITIS_ITIScodes_passing_lanes = 8224, - J2540ITIS_ITIScodes_climbing_lanes = 8225, - J2540ITIS_ITIScodes_slow_lane = 8226, - J2540ITIS_ITIScodes_service_road = 8227, - J2540ITIS_ITIScodes_cycle_lane = 8228, - J2540ITIS_ITIScodes_tracks = 8250, - J2540ITIS_ITIScodes_bridge = 8229, - J2540ITIS_ITIScodes_overpass = 8230, - J2540ITIS_ITIScodes_elevated_lanes = 8231, - J2540ITIS_ITIScodes_underpass = 8232, - J2540ITIS_ITIScodes_tunnel = 8233, - J2540ITIS_ITIScodes_all_exit_lanes = 8247, - J2540ITIS_ITIScodes_all_entry_lanes = 8248, - J2540ITIS_ITIScodes_either_shoulder = 8249, - J2540ITIS_ITIScodes_shoulder_work = 8253, - J2540ITIS_ITIScodes_detour_where_possible = 8449, - J2540ITIS_ITIScodes_no_detour_available = 8450, - J2540ITIS_ITIScodes_follow_signs = 8451, - J2540ITIS_ITIScodes_follow_detour_signs = 8452, - J2540ITIS_ITIScodes_follow_special_detour_markers = 8453, - J2540ITIS_ITIScodes_do_not_follow_detour_signs = 8454, - J2540ITIS_ITIScodes_detour_in_operation = 8455, - J2540ITIS_ITIScodes_follow_local_detour = 8456, - J2540ITIS_ITIScodes_compulsory_detour_in_operation = 8457, - J2540ITIS_ITIScodes_no_suitable_detour_available = 8458, - J2540ITIS_ITIScodes_detour_is_no_longer_recommended = 8459, - J2540ITIS_ITIScodes_local_drivers_are_recommended_to_avoid_the_area = 8460, - J2540ITIS_ITIScodes_trucks_are_recommended_to_avoid_the_area = 8461, - J2540ITIS_ITIScodes_consider_alternate_route = 8462, - J2540ITIS_ITIScodes_consider_alternate_parking = 8463, - J2540ITIS_ITIScodes_consider_alternate_destination = 8464, - J2540ITIS_ITIScodes_consider_alternate_area = 8465, - J2540ITIS_ITIScodes_snow_route = 8466, - J2540ITIS_ITIScodes_emergency_snow_route = 8467, - J2540ITIS_ITIScodes_evacuation_route = 8468, - J2540ITIS_ITIScodes_truck_route = 8469, - J2540ITIS_ITIScodes_hazardous_materials_route = 8470, - J2540ITIS_ITIScodes_detour = 8471, - J2540ITIS_ITIScodes_square_feet = 8705, - J2540ITIS_ITIScodes_square_meters = 8706, - J2540ITIS_ITIScodes_acres = 8707, - J2540ITIS_ITIScodes_hectares = 8708, - J2540ITIS_ITIScodes_inches = 8709, - J2540ITIS_ITIScodes_feet = 8710, - J2540ITIS_ITIScodes_mile = 8711, - J2540ITIS_ITIScodes_miles = 8712, - J2540ITIS_ITIScodes_nautical_miles = 8713, - J2540ITIS_ITIScodes_millimeters = 8714, - J2540ITIS_ITIScodes_meters = 8715, - J2540ITIS_ITIScodes_kilometer = 8716, - J2540ITIS_ITIScodes_kilometers = 8717, - J2540ITIS_ITIScodes_feet_per_second = 8718, - J2540ITIS_ITIScodes_meters_per_second = 8719, - J2540ITIS_ITIScodes_mPH = 8720, - J2540ITIS_ITIScodes_kPH = 8721, - J2540ITIS_ITIScodes_knots = 8722, - J2540ITIS_ITIScodes_elevation = 8766, - J2540ITIS_ITIScodes_aM = 8723, - J2540ITIS_ITIScodes_pM = 8724, - J2540ITIS_ITIScodes_holiday = 8726, - J2540ITIS_ITIScodes_seconds = 8727, - J2540ITIS_ITIScodes_minutes = 8728, - J2540ITIS_ITIScodes_hours = 8729, - J2540ITIS_ITIScodes_days = 8730, - J2540ITIS_ITIScodes_weeks = 8731, - J2540ITIS_ITIScodes_months = 8732, - J2540ITIS_ITIScodes_other_times = 8767, - J2540ITIS_ITIScodes_nSunday = 8758, - J2540ITIS_ITIScodes_nMonday = 8759, - J2540ITIS_ITIScodes_nTuesday = 8760, - J2540ITIS_ITIScodes_nWednesday = 8761, - J2540ITIS_ITIScodes_nThursday = 8762, - J2540ITIS_ITIScodes_nFriday = 8763, - J2540ITIS_ITIScodes_nSaturday = 8764, - J2540ITIS_ITIScodes_weekdays = 8765, - J2540ITIS_ITIScodes_weekends = 8725, - J2540ITIS_ITIScodes_degrees_Angle = 8733, - J2540ITIS_ITIScodes_degrees_Celsius = 8734, - J2540ITIS_ITIScodes_degrees_Fahrenheit = 8735, - J2540ITIS_ITIScodes_grams = 8736, - J2540ITIS_ITIScodes_kilograms = 8737, - J2540ITIS_ITIScodes_ounces = 8738, - J2540ITIS_ITIScodes_pounds = 8739, - J2540ITIS_ITIScodes_tons = 8740, - J2540ITIS_ITIScodes_fluid_ounces = 8741, - J2540ITIS_ITIScodes_gallons = 8742, - J2540ITIS_ITIScodes_milliliters = 8743, - J2540ITIS_ITIScodes_liters = 8744, - J2540ITIS_ITIScodes_kilograms_per_lane_mile = 8745, - J2540ITIS_ITIScodes_tons_per_lane_mile = 8746, - J2540ITIS_ITIScodes_dollar = 8747, - J2540ITIS_ITIScodes_percent = 8748, - J2540ITIS_ITIScodes_grade = 8757, - J2540ITIS_ITIScodes_time_delimiter = 8749, - J2540ITIS_ITIScodes_dollars = 8750, - J2540ITIS_ITIScodes_flight_number = 8751, - J2540ITIS_ITIScodes_person_people = 8752, - J2540ITIS_ITIScodes_response_plan = 8753, - J2540ITIS_ITIScodes_placard_type = 8754, - J2540ITIS_ITIScodes_placard_number = 8755, - J2540ITIS_ITIScodes_fM = 8756, - J2540ITIS_ITIScodes_travel = 8961, - J2540ITIS_ITIScodes_transit = 8962, - J2540ITIS_ITIScodes_bus = 8963, - J2540ITIS_ITIScodes_trolleybus = 8964, - J2540ITIS_ITIScodes_rail = 8965, - J2540ITIS_ITIScodes_commuter_rail = 8966, - J2540ITIS_ITIScodes_subway = 8967, - J2540ITIS_ITIScodes_rapid_transit = 8968, - J2540ITIS_ITIScodes_light_rail = 8969, - J2540ITIS_ITIScodes_streetcar = 8970, - J2540ITIS_ITIScodes_dial_a_ride = 8971, - J2540ITIS_ITIScodes_park_and_ride = 8972, - J2540ITIS_ITIScodes_shuttle = 8973, - J2540ITIS_ITIScodes_free_shuttle = 8974, - J2540ITIS_ITIScodes_airport_shuttle = 8975, - J2540ITIS_ITIScodes_taxies = 8976, - J2540ITIS_ITIScodes_ferry = 8977, - J2540ITIS_ITIScodes_passenger_ferry = 8978, - J2540ITIS_ITIScodes_vehicle_ferry = 8979, - J2540ITIS_ITIScodes_aerial_tramway = 8980, - J2540ITIS_ITIScodes_automated_guideway = 8981, - J2540ITIS_ITIScodes_cable_cars = 8982, - J2540ITIS_ITIScodes_monorail = 8983, - J2540ITIS_ITIScodes_air_travel = 8984, - J2540ITIS_ITIScodes_hitch_hitching = 8985, - J2540ITIS_ITIScodes_walk = 8986, - J2540ITIS_ITIScodes_all_vehicles = 9217, - J2540ITIS_ITIScodes_bicycles = 9218, - J2540ITIS_ITIScodes_motorcycles = 9219, - J2540ITIS_ITIScodes_cars = 9220, - J2540ITIS_ITIScodes_light_vehicles = 9221, - J2540ITIS_ITIScodes_cars_and_light_vehicles = 9222, - J2540ITIS_ITIScodes_cars_with_trailers = 9223, - J2540ITIS_ITIScodes_cars_with_recreational_trailers = 9224, - J2540ITIS_ITIScodes_vehicles_with_trailers = 9225, - J2540ITIS_ITIScodes_heavy_vehicles = 9226, - J2540ITIS_ITIScodes_trucks = 9227, - J2540ITIS_ITIScodes_buses = 9228, - J2540ITIS_ITIScodes_articulated_buses = 9229, - J2540ITIS_ITIScodes_school_buses = 9230, - J2540ITIS_ITIScodes_vehicles_with_semi_trailers = 9231, - J2540ITIS_ITIScodes_vehicles_with_double_trailers = 9232, - J2540ITIS_ITIScodes_high_profile_vehicles = 9233, - J2540ITIS_ITIScodes_wide_vehicles = 9234, - J2540ITIS_ITIScodes_long_vehicles = 9235, - J2540ITIS_ITIScodes_hazardous_loads = 9236, - J2540ITIS_ITIScodes_exceptional_loads = 9237, - J2540ITIS_ITIScodes_abnormal_loads = 9238, - J2540ITIS_ITIScodes_convoys = 9239, - J2540ITIS_ITIScodes_maintenance_vehicles = 9240, - J2540ITIS_ITIScodes_delivery_vehicles = 9241, - J2540ITIS_ITIScodes_vehicles_with_even_numbered_license_plates = 9242, - J2540ITIS_ITIScodes_vehicles_with_odd_numbered_license_plates = 9243, - J2540ITIS_ITIScodes_vehicles_with_parking_permits = 9244, - J2540ITIS_ITIScodes_vehicles_with_catalytic_converters = 9245, - J2540ITIS_ITIScodes_vehicles_without_catalytic_converters = 9246, - J2540ITIS_ITIScodes_gas_powered_vehicles = 9247, - J2540ITIS_ITIScodes_diesel_powered_vehicles = 9248, - J2540ITIS_ITIScodes_lPG_vehicles = 9249, - J2540ITIS_ITIScodes_military_convoys = 9250, - J2540ITIS_ITIScodes_military_vehicles = 9251, - J2540ITIS_ITIScodes_electric_powered_vehicles = 9252, - J2540ITIS_ITIScodes_hybrid_powered_vehicles = 9253, - J2540ITIS_ITIScodes_inherently_low_emission_vehicles = 9254, - J2540ITIS_ITIScodes_commercial_vehicles = 9255, - J2540ITIS_ITIScodes_runaway_vehicles = 9256, - J2540ITIS_ITIScodes_vehicles_with_lugs = 9257, - J2540ITIS_ITIScodes_motor_driven_cycles = 9258, - J2540ITIS_ITIScodes_recreational_vehicles = 9259, - J2540ITIS_ITIScodes_non_motorized_vehicles = 9260, - J2540ITIS_ITIScodes_traffic = 9261, - J2540ITIS_ITIScodes_through_traffic = 9473, - J2540ITIS_ITIScodes_holiday_traffic = 9474, - J2540ITIS_ITIScodes_residents = 9475, - J2540ITIS_ITIScodes_visitors = 9476, - J2540ITIS_ITIScodes_long_distance_traffic = 9477, - J2540ITIS_ITIScodes_local_traffic = 9478, - J2540ITIS_ITIScodes_regional_traffic = 9479, - J2540ITIS_ITIScodes_arrivals = 9480, - J2540ITIS_ITIScodes_departures = 9481, - J2540ITIS_ITIScodes_airline_travelers = 9482, - J2540ITIS_ITIScodes_commuter_airline_travelers = 9483, - J2540ITIS_ITIScodes_domestic_airline_travelers = 9484, - J2540ITIS_ITIScodes_international_airline_travelers = 9485, - J2540ITIS_ITIScodes_pedestrians = 9486, - J2540ITIS_ITIScodes_bicyclists = 9487, - J2540ITIS_ITIScodes_emergency_vehicle_units = 9729, - J2540ITIS_ITIScodes_federal_law_enforcement_units = 9730, - J2540ITIS_ITIScodes_state_police_units = 9731, - J2540ITIS_ITIScodes_county_police_units = 9732, - J2540ITIS_ITIScodes_local_police_units = 9733, - J2540ITIS_ITIScodes_ambulance_units = 9734, - J2540ITIS_ITIScodes_rescue_units = 9735, - J2540ITIS_ITIScodes_fire_units = 9736, - J2540ITIS_ITIScodes_hAZMAT_units = 9737, - J2540ITIS_ITIScodes_light_tow_unit = 9738, - J2540ITIS_ITIScodes_heavy_tow_unit = 9739, - J2540ITIS_ITIScodes_private_tow_units = 9743, - J2540ITIS_ITIScodes_freeway_service_patrols = 9740, - J2540ITIS_ITIScodes_transportation_response_units = 9741, - J2540ITIS_ITIScodes_private_contractor_response_units = 9742, - J2540ITIS_ITIScodes_ground_fire_suppression = 9985, - J2540ITIS_ITIScodes_heavy_ground_equipment = 9986, - J2540ITIS_ITIScodes_aircraft = 9988, - J2540ITIS_ITIScodes_marine_equipment = 9989, - J2540ITIS_ITIScodes_support_equipment = 9990, - J2540ITIS_ITIScodes_medical_rescue_unit = 9991, - J2540ITIS_ITIScodes_other = 9993, - J2540ITIS_ITIScodes_ground_fire_suppression_other = 9994, - J2540ITIS_ITIScodes_engine = 9995, - J2540ITIS_ITIScodes_truck_or_aerial = 9996, - J2540ITIS_ITIScodes_quint = 9997, - J2540ITIS_ITIScodes_tanker_pumper_combination = 9998, - J2540ITIS_ITIScodes_brush_truck = 10000, - J2540ITIS_ITIScodes_aircraft_rescue_firefighting = 10001, - J2540ITIS_ITIScodes_heavy_ground_equipment_other = 10004, - J2540ITIS_ITIScodes_dozer_or_plow = 10005, - J2540ITIS_ITIScodes_tractor = 10006, - J2540ITIS_ITIScodes_tanker_or_tender = 10008, - J2540ITIS_ITIScodes_aircraft_other = 10024, - J2540ITIS_ITIScodes_aircraft_fixed_wing_tanker = 10025, - J2540ITIS_ITIScodes_helitanker = 10026, - J2540ITIS_ITIScodes_helicopter = 10027, - J2540ITIS_ITIScodes_marine_equipment_other = 10034, - J2540ITIS_ITIScodes_fire_boat_with_pump = 10035, - J2540ITIS_ITIScodes_boat_no_pump = 10036, - J2540ITIS_ITIScodes_support_apparatus_other = 10044, - J2540ITIS_ITIScodes_breathing_apparatus_support = 10045, - J2540ITIS_ITIScodes_light_and_air_unit = 10046, - J2540ITIS_ITIScodes_medical_rescue_unit_other = 10054, - J2540ITIS_ITIScodes_rescue_unit = 10055, - J2540ITIS_ITIScodes_urban_search_rescue_unit = 10056, - J2540ITIS_ITIScodes_high_angle_rescue = 10057, - J2540ITIS_ITIScodes_crash_fire_rescue = 10058, - J2540ITIS_ITIScodes_bLS_unit = 10059, - J2540ITIS_ITIScodes_aLS_unit = 10060, - J2540ITIS_ITIScodes_mobile_command_post = 10075, - J2540ITIS_ITIScodes_chief_officer_car = 10076, - J2540ITIS_ITIScodes_hAZMAT_unit = 10077, - J2540ITIS_ITIScodes_type_i_hand_crew = 10078, - J2540ITIS_ITIScodes_type_ii_hand_crew = 10079, - J2540ITIS_ITIScodes_privately_owned_vehicle = 10083, - J2540ITIS_ITIScodes_other_apparatus_resource = 10084, - J2540ITIS_ITIScodes_ambulance = 10085, - J2540ITIS_ITIScodes_bomb_squad_van = 10086, - J2540ITIS_ITIScodes_combine_harvester = 10087, - J2540ITIS_ITIScodes_construction_vehicle = 10088, - J2540ITIS_ITIScodes_farm_tractor = 10089, - J2540ITIS_ITIScodes_grass_cutting_machines = 10090, - J2540ITIS_ITIScodes_hAZMAT_containment_tow = 10091, - J2540ITIS_ITIScodes_heavy_tow = 10092, - J2540ITIS_ITIScodes_light_tow = 10094, - J2540ITIS_ITIScodes_flatbed_tow = 10114, - J2540ITIS_ITIScodes_hedge_cutting_machines = 10093, - J2540ITIS_ITIScodes_mobile_crane = 10095, - J2540ITIS_ITIScodes_refuse_collection_vehicle = 10096, - J2540ITIS_ITIScodes_resurfacing_vehicle = 10097, - J2540ITIS_ITIScodes_road_sweeper = 10098, - J2540ITIS_ITIScodes_roadside_litter_collection_crews = 10099, - J2540ITIS_ITIScodes_survey_crews = 10115, - J2540ITIS_ITIScodes_salvage_vehicle = 10100, - J2540ITIS_ITIScodes_sand_truck = 10101, - J2540ITIS_ITIScodes_snowplow = 10102, - J2540ITIS_ITIScodes_steam_roller = 10103, - J2540ITIS_ITIScodes_swat_team_van = 10104, - J2540ITIS_ITIScodes_track_laying_vehicle = 10105, - J2540ITIS_ITIScodes_unknown_vehicle = 10106, - J2540ITIS_ITIScodes_white_lining_vehicle = 10107, - J2540ITIS_ITIScodes_dump_truck = 10108, - J2540ITIS_ITIScodes_supervisor_vehicle = 10109, - J2540ITIS_ITIScodes_snow_blower = 10110, - J2540ITIS_ITIScodes_rotary_snow_blower = 10111, - J2540ITIS_ITIScodes_road_grader = 10112, - J2540ITIS_ITIScodes_steam_truck = 10113, - J2540ITIS_ITIScodes_unknown_status = 10240, - J2540ITIS_ITIScodes_ready_for_use = 10241, - J2540ITIS_ITIScodes_working_normally = 10242, - J2540ITIS_ITIScodes_working_autonomously = 10243, - J2540ITIS_ITIScodes_working_incorrectly = 10244, - J2540ITIS_ITIScodes_not_working = 10245, - J2540ITIS_ITIScodes_normal_maintenance = 10246, - J2540ITIS_ITIScodes_in_route_to_use = 10247, - J2540ITIS_ITIScodes_returning_from_use = 10248, - J2540ITIS_ITIScodes_out_of_service = 10249, - J2540ITIS_ITIScodes_off_duty = 10250, - J2540ITIS_ITIScodes_on_patrol = 10251, - J2540ITIS_ITIScodes_on_call = 10252, - J2540ITIS_ITIScodes_on_break = 10253, - J2540ITIS_ITIScodes_mandatory_time_off = 10254, - J2540ITIS_ITIScodes_low_on_fuel = 10255, - J2540ITIS_ITIScodes_low_on_water = 10256, - J2540ITIS_ITIScodes_low_charge = 10257, - J2540ITIS_ITIScodes_missing = 10258, - J2540ITIS_ITIScodes_none = 10496, - J2540ITIS_ITIScodes_light_pole = 10497, - J2540ITIS_ITIScodes_utility_pole = 10498, - J2540ITIS_ITIScodes_gantry_way = 10499, - J2540ITIS_ITIScodes_sign_support = 10500, - J2540ITIS_ITIScodes_signal_pole = 10501, - J2540ITIS_ITIScodes_signage_public = 10502, - J2540ITIS_ITIScodes_signage_private = 10503, - J2540ITIS_ITIScodes_overhead_sign = 10568, - J2540ITIS_ITIScodes_ground_sign = 10569, - J2540ITIS_ITIScodes_cones = 10504, - J2540ITIS_ITIScodes_cones_post_type = 10505, - J2540ITIS_ITIScodes_cones_glue_post = 10506, - J2540ITIS_ITIScodes_cones_other = 10507, - J2540ITIS_ITIScodes_barriers = 10508, - J2540ITIS_ITIScodes_barrier_Aframe = 10509, - J2540ITIS_ITIScodes_barriers_heavy_duty = 10510, - J2540ITIS_ITIScodes_barricade_type_III = 10511, - J2540ITIS_ITIScodes_barricade_small = 10512, - J2540ITIS_ITIScodes_solid_barrier = 10565, - J2540ITIS_ITIScodes_moveable_barrier = 10566, - J2540ITIS_ITIScodes_barricade_lights = 10513, - J2540ITIS_ITIScodes_beacon = 10514, - J2540ITIS_ITIScodes_t_stand = 10515, - J2540ITIS_ITIScodes_a_stand = 10516, - J2540ITIS_ITIScodes_drums = 10517, - J2540ITIS_ITIScodes_sand_barrel = 10567, - J2540ITIS_ITIScodes_impact_attenuator = 10518, - J2540ITIS_ITIScodes_barricade_tape = 10519, - J2540ITIS_ITIScodes_safety_fence = 10520, - J2540ITIS_ITIScodes_temp_pavement_markings = 10521, - J2540ITIS_ITIScodes_speed_bumps = 10522, - J2540ITIS_ITIScodes_temp_curbs = 10523, - J2540ITIS_ITIScodes_parking_blocks = 10524, - J2540ITIS_ITIScodes_signboard_fixed = 10525, - J2540ITIS_ITIScodes_signboard_portable = 10526, - J2540ITIS_ITIScodes_stripe = 10572, - J2540ITIS_ITIScodes_island = 10573, - J2540ITIS_ITIScodes_har = 10527, - J2540ITIS_ITIScodes_har_AM = 10528, - J2540ITIS_ITIScodes_har_FM = 10529, - J2540ITIS_ITIScodes_har_DSRC = 10530, - J2540ITIS_ITIScodes_traffic_light = 10531, - J2540ITIS_ITIScodes_lane_control_signal = 10532, - J2540ITIS_ITIScodes_traffic_detector = 10533, - J2540ITIS_ITIScodes_vehicle_detector = 10534, - J2540ITIS_ITIScodes_system_alarm = 10535, - J2540ITIS_ITIScodes_arrow_board = 10536, - J2540ITIS_ITIScodes_fixed_VMS = 10537, - J2540ITIS_ITIScodes_mobile_VMS = 10538, - J2540ITIS_ITIScodes_ramp_control = 10539, - J2540ITIS_ITIScodes_gate_control = 10540, - J2540ITIS_ITIScodes_temporary_traffic_light = 10541, - J2540ITIS_ITIScodes_over_height_warning_system = 10542, - J2540ITIS_ITIScodes_over_weight_warning_system = 10543, - J2540ITIS_ITIScodes_emergency_telephones = 10544, - J2540ITIS_ITIScodes_railroad_crossing_equipment = 10545, - J2540ITIS_ITIScodes_tunnel_ventilation = 10546, - J2540ITIS_ITIScodes_ccTV = 10547, - J2540ITIS_ITIScodes_environmental_sensor = 10548, - J2540ITIS_ITIScodes_emergency_signal = 10570, - J2540ITIS_ITIScodes_countdown_pedestrian_sign = 10571, - J2540ITIS_ITIScodes_switch = 10549, - J2540ITIS_ITIScodes_signal = 10550, - J2540ITIS_ITIScodes_third_rail = 10551, - J2540ITIS_ITIScodes_overhead_power = 10552, - J2540ITIS_ITIScodes_concrete_tie = 10553, - J2540ITIS_ITIScodes_wooden_tie = 10554, - J2540ITIS_ITIScodes_manhole_cover = 10559, - J2540ITIS_ITIScodes_culvert = 10560, - J2540ITIS_ITIScodes_escalator = 10555, - J2540ITIS_ITIScodes_elevator = 10556, - J2540ITIS_ITIScodes_snow_poles = 10561, - J2540ITIS_ITIScodes_track = 10557, - J2540ITIS_ITIScodes_guide_poles = 10562, - J2540ITIS_ITIScodes_drawbridge = 10558, - J2540ITIS_ITIScodes_expansion_joint = 10563, - J2540ITIS_ITIScodes_shifted_plate = 10564, - J2540ITIS_ITIScodes_unknown_transit_problem = 10753, - J2540ITIS_ITIScodes_sleeping_customer = 10754, - J2540ITIS_ITIScodes_assault_on_passenger = 10755, - J2540ITIS_ITIScodes_assault_on_employee = 10756, - J2540ITIS_ITIScodes_broken_seat = 10757, - J2540ITIS_ITIScodes_bus_alarm = 10758, - J2540ITIS_ITIScodes_crime_or_drug_deal = 10759, - J2540ITIS_ITIScodes_eating_on_board = 10760, - J2540ITIS_ITIScodes_equipment_problem_with_air_conditioning = 10761, - J2540ITIS_ITIScodes_equipment_problem_with_air_system = 10762, - J2540ITIS_ITIScodes_equipment_problem_with_brakes = 10763, - J2540ITIS_ITIScodes_equipment_problem_with_chassis_or_suspension = 10764, - J2540ITIS_ITIScodes_equipment_problem_with_cooling_system = 10765, - J2540ITIS_ITIScodes_equipment_problem_with_doors = 10766, - J2540ITIS_ITIScodes_equipment_problem_with_electrical = 10767, - J2540ITIS_ITIScodes_equipment_problem_with_engine = 10768, - J2540ITIS_ITIScodes_equipment_problem_with_exterior_or_body = 10769, - J2540ITIS_ITIScodes_equipment_problem_with_fare_collection = 10770, - J2540ITIS_ITIScodes_equipment_problem_with_fuel_or_exhaust = 10771, - J2540ITIS_ITIScodes_equipment_problem_with_horn = 10772, - J2540ITIS_ITIScodes_equipment_problem_with_interior = 10773, - J2540ITIS_ITIScodes_equipment_problem_with_liftkneeling = 10774, - J2540ITIS_ITIScodes_equipment_problem_with_lights = 10775, - J2540ITIS_ITIScodes_equipment_problem_with_lubrication = 10776, - J2540ITIS_ITIScodes_equipment_problem_with_radio_or_communication = 10777, - J2540ITIS_ITIScodes_equipment_problem_with_signs = 10778, - J2540ITIS_ITIScodes_equipment_problem_with_steering = 10779, - J2540ITIS_ITIScodes_equipment_problem_with_tires = 10780, - J2540ITIS_ITIScodes_equipment_problem_with_transmission = 10781, - J2540ITIS_ITIScodes_equipment_problem_with_unknown_alarm = 10782, - J2540ITIS_ITIScodes_equipment_problem_with_wipers = 10783, - J2540ITIS_ITIScodes_fare_dispute_expired_pass = 10784, - J2540ITIS_ITIScodes_fare_dispute_expired_transfer = 10785, - J2540ITIS_ITIScodes_fare_dispute_expired_upgrade = 10786, - J2540ITIS_ITIScodes_fare_dispute_other = 10787, - J2540ITIS_ITIScodes_fare_dispute_refuses_to_pay = 10788, - J2540ITIS_ITIScodes_lift_passenger_cycle_completed = 10789, - J2540ITIS_ITIScodes_lift_passenger_ready_to_alight = 10790, - J2540ITIS_ITIScodes_lift_passenger_ready_to_board = 10791, - J2540ITIS_ITIScodes_lost_article = 10792, - J2540ITIS_ITIScodes_objects_thrown = 10793, - J2540ITIS_ITIScodes_passenger_accident_alighting = 10794, - J2540ITIS_ITIScodes_passenger_accident_boarding = 10795, - J2540ITIS_ITIScodes_passenger_accident_fallen_on_board = 10796, - J2540ITIS_ITIScodes_passenger_load = 10797, - J2540ITIS_ITIScodes_passenger_accident_other = 10798, - J2540ITIS_ITIScodes_passenger_sick_or_injured = 10799, - J2540ITIS_ITIScodes_right_of_way = 10800, - J2540ITIS_ITIScodes_theft = 10801, - J2540ITIS_ITIScodes_theft_of_service = 10802, - J2540ITIS_ITIScodes_waiting_to_get_relief_for_schedule_break = 10803, - J2540ITIS_ITIScodes_waiting_to_get_relief_after_run_is_finished = 10804, - J2540ITIS_ITIScodes_waiting_to_provide_relief = 10805, - J2540ITIS_ITIScodes_unknown_object = 11009, - J2540ITIS_ITIScodes_tire = 11010, - J2540ITIS_ITIScodes_rim = 11011, - J2540ITIS_ITIScodes_retread = 11012, - J2540ITIS_ITIScodes_trash = 11013, - J2540ITIS_ITIScodes_cargo = 11014, - J2540ITIS_ITIScodes_diesel = 11015, - J2540ITIS_ITIScodes_gasoline = 11016, - J2540ITIS_ITIScodes_anti_freeze = 11017, - J2540ITIS_ITIScodes_propane_gas = 11061, - J2540ITIS_ITIScodes_alternative_fuel = 11060, - J2540ITIS_ITIScodes_seat_belts = 11018, - J2540ITIS_ITIScodes_litter_container = 11019, - J2540ITIS_ITIScodes_all_Terrain_vehicle = 11020, - J2540ITIS_ITIScodes_seaplane = 11021, - J2540ITIS_ITIScodes_chairlift = 11022, - J2540ITIS_ITIScodes_fishing_pier = 11023, - J2540ITIS_ITIScodes_telephone = 11025, - J2540ITIS_ITIScodes_railroad_cross_buck = 11024, - J2540ITIS_ITIScodes_horn = 11048, - J2540ITIS_ITIScodes_train = 11047, - J2540ITIS_ITIScodes_deer = 11049, - J2540ITIS_ITIScodes_horse = 11051, - J2540ITIS_ITIScodes_cattle = 11050, - J2540ITIS_ITIScodes_golf_cart = 11052, - J2540ITIS_ITIScodes_services = 11056, - J2540ITIS_ITIScodes_motorist_services = 11059, - J2540ITIS_ITIScodes_food_services = 11053, - J2540ITIS_ITIScodes_roadside_table = 11055, - J2540ITIS_ITIScodes_ambulance_staging_point = 11054, - J2540ITIS_ITIScodes_fallout = 11026, - J2540ITIS_ITIScodes_medical = 11027, - J2540ITIS_ITIScodes_chemical = 11028, - J2540ITIS_ITIScodes_welfare = 11029, - J2540ITIS_ITIScodes_decontamination = 11063, - J2540ITIS_ITIScodes_evacuation = 11030, - J2540ITIS_ITIScodes_registration = 11062, - J2540ITIS_ITIScodes_emergency = 11064, - J2540ITIS_ITIScodes_left_arrow_signal = 11031, - J2540ITIS_ITIScodes_ahead_arrow_signal = 11032, - J2540ITIS_ITIScodes_right_arrow_signal = 11033, - J2540ITIS_ITIScodes_green_light_signal = 11034, - J2540ITIS_ITIScodes_green_arrow_signal = 11035, - J2540ITIS_ITIScodes_yellow_light_signal = 11036, - J2540ITIS_ITIScodes_yellow_arrow_signal = 11037, - J2540ITIS_ITIScodes_red_light_signal = 11038, - J2540ITIS_ITIScodes_red_arrow_signal = 11039, - J2540ITIS_ITIScodes_extended_green_signal = 11040, - J2540ITIS_ITIScodes_advance_arrow_signal = 11041, - J2540ITIS_ITIScodes_pedestrian_Signal_Stop = 11042, - J2540ITIS_ITIScodes_pedestrian_Signal_Caution = 11043, - J2540ITIS_ITIScodes_pedestrian_Signal_Walk = 11044, - J2540ITIS_ITIScodes_pedestrian_Signal_Light = 11045, - J2540ITIS_ITIScodes_pedestrian_Signal_Time_Display = 11046, - J2540ITIS_ITIScodes_prohibit_None_Allowed_LU_LT_L45_S_R45_RT_RU = 11264, - J2540ITIS_ITIScodes_prohibit_RU_Allowed_LU_LT_L45_S_R45_RT = 11265, - J2540ITIS_ITIScodes_prohibit_RT_Allowed_LU_LT_L45_S_R45_RU = 11266, - J2540ITIS_ITIScodes_prohibit_RT_RU_Allowed_LU_LT_L45_S_R45 = 11267, - J2540ITIS_ITIScodes_prohibit_R45_Allowed_LU_LT_L45_S_RT_RU = 11268, - J2540ITIS_ITIScodes_prohibit_R45_RU_Allowed_LU_LT_L45_S_RT = 11269, - J2540ITIS_ITIScodes_prohibit_R45_RT_Allowed_LU_LT_L45_S_RU = 11270, - J2540ITIS_ITIScodes_prohibit_R45_RT_RU_Allowed_LU_LT_L45_S = 11271, - J2540ITIS_ITIScodes_prohibit_S_Allowed_LU_LT_L45_R45_RT_RU = 11272, - J2540ITIS_ITIScodes_prohibit_S_RU_Allowed_LU_LT_L45_R45_RT = 11273, - J2540ITIS_ITIScodes_prohibit_S_RT_Allowed_LU_LT_L45_R45_RU = 11274, - J2540ITIS_ITIScodes_prohibit_S_RT_RU_Allowed_LU_LT_L45_R45 = 11275, - J2540ITIS_ITIScodes_prohibit_S_R45_Allowed_LU_LT_L45_RT_RU = 11276, - J2540ITIS_ITIScodes_prohibit_S_R45_RU_Allowed_LU_LT_L45_RT = 11277, - J2540ITIS_ITIScodes_prohibit_S_R45_RT_Allowed_LU_LT_L45_RU = 11278, - J2540ITIS_ITIScodes_prohibit_S_R45_RT_RU_Allowed_LU_LT_L45 = 11279, - J2540ITIS_ITIScodes_prohibit_L45_Allowed_LU_LT_S_R45_RT_RU = 11280, - J2540ITIS_ITIScodes_prohibit_L45_RU_Allowed_LU_LT_S_R45_RT = 11281, - J2540ITIS_ITIScodes_prohibit_L45_RT_Allowed_LU_LT_S_R45_RU = 11282, - J2540ITIS_ITIScodes_prohibit_L45_RT_RU_Allowed_LU_LT_S_R45 = 11283, - J2540ITIS_ITIScodes_prohibit_L45_R45_Allowed_LU_LT_S_RT_RU = 11284, - J2540ITIS_ITIScodes_prohibit_L45_R45_RU_Allowed_LU_LT_S_RT = 11285, - J2540ITIS_ITIScodes_prohibit_L45_R45_RT_Allowed_LU_LT_S_RU = 11286, - J2540ITIS_ITIScodes_prohibit_L45_R45_RT_RU_Allowed_LU_LT_S = 11287, - J2540ITIS_ITIScodes_prohibit_L45_S_Allowed_LU_LT_R45_RT_RU = 11288, - J2540ITIS_ITIScodes_prohibit_L45_S_RU_Allowed_LU_LT_R45_RT = 11289, - J2540ITIS_ITIScodes_prohibit_L45_S_RT_Allowed_LU_LT_R45_RU = 11290, - J2540ITIS_ITIScodes_prohibit_L45_S_RT_RU_Allowed_LU_LT_R45 = 11291, - J2540ITIS_ITIScodes_prohibit_L45_S_R45_Allowed_LU_LT_RT_RU = 11292, - J2540ITIS_ITIScodes_prohibit_L45_S_R45_RU_Allowed_LU_LT_RT = 11293, - J2540ITIS_ITIScodes_prohibit_L45_S_R45_RT_Allowed_LU_LT_RU = 11294, - J2540ITIS_ITIScodes_prohibit_L45_S_R45_RT_RU_Allowed_LU_LT = 11295, - J2540ITIS_ITIScodes_prohibit_LT_Allowed_LU_L45_S_R45_RT_RU = 11296, - J2540ITIS_ITIScodes_prohibit_LT_RU_Allowed_LU_L45_S_R45_RT = 11297, - J2540ITIS_ITIScodes_prohibit_LT_RT_Allowed_LU_L45_S_R45_RU = 11298, - J2540ITIS_ITIScodes_prohibit_LT_RT_RU_Allowed_LU_L45_S_R45 = 11299, - J2540ITIS_ITIScodes_prohibit_LT_R45_Allowed_LU_L45_S_RT_RU = 11300, - J2540ITIS_ITIScodes_prohibit_LT_R45_RU_Allowed_LU_L45_S_RT = 11301, - J2540ITIS_ITIScodes_prohibit_LT_R45_RT_Allowed_LU_L45_S_RU = 11302, - J2540ITIS_ITIScodes_prohibit_LT_R45_RT_RU_Allowed_LU_L45_S = 11303, - J2540ITIS_ITIScodes_prohibit_LT_S_Allowed_LU_L45_R45_RT_RU = 11304, - J2540ITIS_ITIScodes_prohibit_LT_S_RU_Allowed_LU_L45_R45_RT = 11305, - J2540ITIS_ITIScodes_prohibit_LT_S_RT_Allowed_LU_L45_R45_RU = 11306, - J2540ITIS_ITIScodes_prohibit_LT_S_RT_RU_Allowed_LU_L45_R45 = 11307, - J2540ITIS_ITIScodes_prohibit_LT_S_R45_Allowed_LU_L45_RT_RU = 11308, - J2540ITIS_ITIScodes_prohibit_LT_S_R45_RU_Allowed_LU_L45_RT = 11309, - J2540ITIS_ITIScodes_prohibit_LT_S_R45_RT_Allowed_LU_L45_RU = 11310, - J2540ITIS_ITIScodes_prohibit_LT_S_R45_RT_RU_Allowed_LU_L45 = 11311, - J2540ITIS_ITIScodes_prohibit_LT_L45_Allowed_LU_S_R45_RT_RU = 11312, - J2540ITIS_ITIScodes_prohibit_LT_L45_RU_Allowed_LU_S_R45_RT = 11313, - J2540ITIS_ITIScodes_prohibit_LT_L45_RT_Allowed_LU_S_R45_RU = 11314, - J2540ITIS_ITIScodes_prohibit_LT_L45_RT_RU_Allowed_LU_S_R45 = 11315, - J2540ITIS_ITIScodes_prohibit_LT_L45_R45_Allowed_LU_S_RT_RU = 11316, - J2540ITIS_ITIScodes_prohibit_LT_L45_R45_RU_Allowed_LU_S_RT = 11317, - J2540ITIS_ITIScodes_prohibit_LT_L45_R45_RT_Allowed_LU_S_RU = 11318, - J2540ITIS_ITIScodes_prohibit_LT_L45_R45_RT_RU_Allowed_LU_S = 11319, - J2540ITIS_ITIScodes_prohibit_LT_L45_S_Allowed_LU_R45_RT_RU = 11320, - J2540ITIS_ITIScodes_prohibit_LT_L45_S_RU_Allowed_LU_R45_RT = 11321, - J2540ITIS_ITIScodes_prohibit_LT_L45_S_RT_Allowed_LU_R45_RU = 11322, - J2540ITIS_ITIScodes_prohibit_LT_L45_S_RT_RU_Allowed_LU_R45 = 11323, - J2540ITIS_ITIScodes_prohibit_LT_L45_S_R45_Allowed_LU_RT_RU = 11324, - J2540ITIS_ITIScodes_prohibit_LT_L45_S_R45_RU_Allowed_LU_RT = 11325, - J2540ITIS_ITIScodes_prohibit_LT_L45_S_R45_RT_Allowed_LU_RU = 11326, - J2540ITIS_ITIScodes_prohibit_LT_L45_S_R45_RT_RU_Allowed_LU = 11327, - J2540ITIS_ITIScodes_prohibit_LU_Allowed_LT_L45_S_R45_RT_RU = 11328, - J2540ITIS_ITIScodes_prohibit_LU_RU_Allowed_LT_L45_S_R45_RT = 11329, - J2540ITIS_ITIScodes_prohibit_LU_RT_Allowed_LT_L45_S_R45_RU = 11330, - J2540ITIS_ITIScodes_prohibit_LU_RT_RU_Allowed_LT_L45_S_R45 = 11331, - J2540ITIS_ITIScodes_prohibit_LU_R45_Allowed_LT_L45_S_RT_RU = 11332, - J2540ITIS_ITIScodes_prohibit_LU_R45_RU_Allowed_LT_L45_S_RT = 11333, - J2540ITIS_ITIScodes_prohibit_LU_R45_RT_Allowed_LT_L45_S_RU = 11334, - J2540ITIS_ITIScodes_prohibit_LU_R45_RT_RU_Allowed_LT_L45_S = 11335, - J2540ITIS_ITIScodes_prohibit_LU_S_Allowed_LT_L45_R45_RT_RU = 11336, - J2540ITIS_ITIScodes_prohibit_LU_S_RU_Allowed_LT_L45_R45_RT = 11337, - J2540ITIS_ITIScodes_prohibit_LU_S_RT_Allowed_LT_L45_R45_RU = 11338, - J2540ITIS_ITIScodes_prohibit_LU_S_RT_RU_Allowed_LT_L45_R45 = 11339, - J2540ITIS_ITIScodes_prohibit_LU_S_R45_Allowed_LT_L45_RT_RU = 11340, - J2540ITIS_ITIScodes_prohibit_LU_S_R45_RU_Allowed_LT_L45_RT = 11341, - J2540ITIS_ITIScodes_prohibit_LU_S_R45_RT_Allowed_LT_L45_RU = 11342, - J2540ITIS_ITIScodes_prohibit_LU_S_R45_RT_RU_Allowed_LT_L45 = 11343, - J2540ITIS_ITIScodes_prohibit_LU_L45_Allowed_LT_S_R45_RT_RU = 11344, - J2540ITIS_ITIScodes_prohibit_LU_L45_RU_Allowed_LT_S_R45_RT = 11345, - J2540ITIS_ITIScodes_prohibit_LU_L45_RT_Allowed_LT_S_R45_RU = 11346, - J2540ITIS_ITIScodes_prohibit_LU_L45_RT_RU_Allowed_LT_S_R45 = 11347, - J2540ITIS_ITIScodes_prohibit_LU_L45_R45_Allowed_LT_S_RT_RU = 11348, - J2540ITIS_ITIScodes_prohibit_LU_L45_R45_RU_Allowed_LT_S_RT = 11349, - J2540ITIS_ITIScodes_prohibit_LU_L45_R45_RT_Allowed_LT_S_RU = 11350, - J2540ITIS_ITIScodes_prohibit_LU_L45_R45_RT_RU_Allowed_LT_S = 11351, - J2540ITIS_ITIScodes_prohibit_LU_L45_S_Allowed_LT_R45_RT_RU = 11352, - J2540ITIS_ITIScodes_prohibit_LU_L45_S_RU_Allowed_LT_R45_RT = 11353, - J2540ITIS_ITIScodes_prohibit_LU_L45_S_RT_Allowed_LT_R45_RU = 11354, - J2540ITIS_ITIScodes_prohibit_LU_L45_S_RT_RU_Allowed_LT_R45 = 11355, - J2540ITIS_ITIScodes_prohibit_LU_L45_S_R45_Allowed_LT_RT_RU = 11356, - J2540ITIS_ITIScodes_prohibit_LU_L45_S_R45_RU_Allowed_LT_RT = 11357, - J2540ITIS_ITIScodes_prohibit_LU_L45_S_R45_RT_Allowed_LT_RU = 11358, - J2540ITIS_ITIScodes_prohibit_LU_L45_S_R45_RT_RU_Allowed_LT = 11359, - J2540ITIS_ITIScodes_prohibit_LU_LT_Allowed_L45_S_R45_RT_RU = 11360, - J2540ITIS_ITIScodes_prohibit_LU_LT_RU_Allowed_L45_S_R45_RT = 11361, - J2540ITIS_ITIScodes_prohibit_LU_LT_RT_Allowed_L45_S_R45_RU = 11362, - J2540ITIS_ITIScodes_prohibit_LU_LT_RT_RU_Allowed_L45_S_R45 = 11363, - J2540ITIS_ITIScodes_prohibit_LU_LT_R45_Allowed_L45_S_RT_RU = 11364, - J2540ITIS_ITIScodes_prohibit_LU_LT_R45_RU_Allowed_L45_S_RT = 11365, - J2540ITIS_ITIScodes_prohibit_LU_LT_R45_RT_Allowed_L45_S_RU = 11366, - J2540ITIS_ITIScodes_prohibit_LU_LT_R45_RT_RU_Allowed_L45_S = 11367, - J2540ITIS_ITIScodes_prohibit_LU_LT_S_Allowed_L45_R45_RT_RU = 11368, - J2540ITIS_ITIScodes_prohibit_LU_LT_S_RU_Allowed_L45_R45_RT = 11369, - J2540ITIS_ITIScodes_prohibit_LU_LT_S_RT_Allowed_L45_R45_RU = 11370, - J2540ITIS_ITIScodes_prohibit_LU_LT_S_RT_RU_Allowed_L45_R45 = 11371, - J2540ITIS_ITIScodes_prohibit_LU_LT_S_R45_Allowed_L45_RT_RU = 11372, - J2540ITIS_ITIScodes_prohibit_LU_LT_S_R45_RU_Allowed_L45_RT = 11373, - J2540ITIS_ITIScodes_prohibit_LU_LT_S_R45_RT_Allowed_L45_RU = 11374, - J2540ITIS_ITIScodes_prohibit_LU_LT_S_R45_RT_RU_Allowed_L45 = 11375, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_Allowed_S_R45_RT_RU = 11376, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_RU_Allowed_S_R45_RT = 11377, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_RT_Allowed_S_R45_RU = 11378, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_RT_RU_Allowed_S_R45 = 11379, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_R45_Allowed_S_RT_RU = 11380, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_R45_RU_Allowed_S_RT = 11381, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_R45_RT_Allowed_S_RU = 11382, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_R45_RT_RU_Allowed_S = 11383, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_S_Allowed_R45_RT_RU = 11384, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_S_RU_Allowed_R45_RT = 11385, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_S_RT_Allowed_R45_RU = 11386, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_S_RT_RU_Allowed_R45 = 11387, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_S_R45_Allowed_RT_RU = 11388, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_S_R45_RU_Allowed_RT = 11389, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_S_R45_RT_Allowed_RU = 11390, - J2540ITIS_ITIScodes_prohibit_LU_LT_L45_S_R45_RT_RU_Allowed_None = 11391, - J2540ITIS_ITIScodes_n1_16th = 11521, - J2540ITIS_ITIScodes_n1_10th = 11522, - J2540ITIS_ITIScodes_n1_8th = 11523, - J2540ITIS_ITIScodes_n1_4th = 11524, - J2540ITIS_ITIScodes_n1_3rd = 11525, - J2540ITIS_ITIScodes_n1_2 = 11526, - J2540ITIS_ITIScodes_n3_4 = 11527, - J2540ITIS_ITIScodes_n300 = 11531, - J2540ITIS_ITIScodes_n350 = 11532, - J2540ITIS_ITIScodes_n400 = 11533, - J2540ITIS_ITIScodes_n450 = 11534, - J2540ITIS_ITIScodes_n500 = 11535, - J2540ITIS_ITIScodes_n550 = 11536, - J2540ITIS_ITIScodes_n600 = 11537, - J2540ITIS_ITIScodes_n650 = 11538, - J2540ITIS_ITIScodes_n700 = 11539, - J2540ITIS_ITIScodes_n750 = 11540, - J2540ITIS_ITIScodes_n800 = 11541, - J2540ITIS_ITIScodes_n850 = 11542, - J2540ITIS_ITIScodes_n900 = 11543, - J2540ITIS_ITIScodes_n950 = 11544, - J2540ITIS_ITIScodes_n1000 = 11545, - J2540ITIS_ITIScodes_n1100 = 11546, - J2540ITIS_ITIScodes_n1200 = 11547, - J2540ITIS_ITIScodes_n1300 = 11548, - J2540ITIS_ITIScodes_n1400 = 11549, - J2540ITIS_ITIScodes_n1500 = 11550, - J2540ITIS_ITIScodes_n1600 = 11551, - J2540ITIS_ITIScodes_n1700 = 11552, - J2540ITIS_ITIScodes_n1800 = 11553, - J2540ITIS_ITIScodes_n1900 = 11554, - J2540ITIS_ITIScodes_n2000 = 11555, - J2540ITIS_ITIScodes_n2100 = 11556, - J2540ITIS_ITIScodes_n2200 = 11557, - J2540ITIS_ITIScodes_n2300 = 11558, - J2540ITIS_ITIScodes_n2400 = 11559, - J2540ITIS_ITIScodes_n2500 = 11560, - J2540ITIS_ITIScodes_n2600 = 11561, - J2540ITIS_ITIScodes_n2700 = 11562, - J2540ITIS_ITIScodes_n2800 = 11563, - J2540ITIS_ITIScodes_n2900 = 11564, - J2540ITIS_ITIScodes_n3000 = 11565, - J2540ITIS_ITIScodes_n3500 = 11566, - J2540ITIS_ITIScodes_n4000 = 11567, - J2540ITIS_ITIScodes_n4500 = 11568, - J2540ITIS_ITIScodes_n5000 = 11569, - J2540ITIS_ITIScodes_n5500 = 11570, - J2540ITIS_ITIScodes_n6000 = 11571, - J2540ITIS_ITIScodes_n6500 = 11572, - J2540ITIS_ITIScodes_n7000 = 11573, - J2540ITIS_ITIScodes_n7500 = 11574, - J2540ITIS_ITIScodes_n8000 = 11575, - J2540ITIS_ITIScodes_n8500 = 11576, - J2540ITIS_ITIScodes_n9000 = 11577, - J2540ITIS_ITIScodes_n9500 = 11578, - J2540ITIS_ITIScodes_n10000 = 11579, - J2540ITIS_ITIScodes_n11000 = 11580, - J2540ITIS_ITIScodes_n12000 = 11581, - J2540ITIS_ITIScodes_n13000 = 11582, - J2540ITIS_ITIScodes_n14000 = 11583, - J2540ITIS_ITIScodes_n15000 = 11584, - J2540ITIS_ITIScodes_n16000 = 11585, - J2540ITIS_ITIScodes_n17000 = 11586, - J2540ITIS_ITIScodes_n18000 = 11587, - J2540ITIS_ITIScodes_n19000 = 11588, - J2540ITIS_ITIScodes_n20000 = 11589, - J2540ITIS_ITIScodes_n21000 = 11590, - J2540ITIS_ITIScodes_n22000 = 11591, - J2540ITIS_ITIScodes_n23000 = 11592, - J2540ITIS_ITIScodes_n24000 = 11593, - J2540ITIS_ITIScodes_n25000 = 11594, - J2540ITIS_ITIScodes_n26000 = 11595, - J2540ITIS_ITIScodes_n27000 = 11596, - J2540ITIS_ITIScodes_n28000 = 11597, - J2540ITIS_ITIScodes_n29000 = 11598, - J2540ITIS_ITIScodes_n30000 = 11599, - J2540ITIS_ITIScodes_n35000 = 11600, - J2540ITIS_ITIScodes_n40000 = 11601, - J2540ITIS_ITIScodes_n45000 = 11602, - J2540ITIS_ITIScodes_n50000 = 11603, - J2540ITIS_ITIScodes_n55000 = 11604, - J2540ITIS_ITIScodes_n60000 = 11605, - J2540ITIS_ITIScodes_n65000 = 11606, - J2540ITIS_ITIScodes_n70000 = 11607, - J2540ITIS_ITIScodes_n75000 = 11608, - J2540ITIS_ITIScodes_n80000 = 11609, - J2540ITIS_ITIScodes_n85000 = 11610, - J2540ITIS_ITIScodes_n90000 = 11611, - J2540ITIS_ITIScodes_n95000 = 11612, - J2540ITIS_ITIScodes_n100000 = 11613, - J2540ITIS_ITIScodes_name_follows = 11777, - J2540ITIS_ITIScodes_freeway = 11778, - J2540ITIS_ITIScodes_us_Route = 11779, - J2540ITIS_ITIScodes_state_Route = 11780, - J2540ITIS_ITIScodes_interstate = 11781, - J2540ITIS_ITIScodes_business_Loop = 11782, - J2540ITIS_ITIScodes_spur = 11797, - J2540ITIS_ITIScodes_junction = 11798, - J2540ITIS_ITIScodes_alternative = 11783, - J2540ITIS_ITIScodes_county_Route = 11784, - J2540ITIS_ITIScodes_forest_Route = 11785, - J2540ITIS_ITIScodes_farm_to_Market_Route = 11786, - J2540ITIS_ITIScodes_eisenhower_Interstate_System = 11787, - J2540ITIS_ITIScodes_americas_Byways = 11788, - J2540ITIS_ITIScodes_national_Network_Route = 11789, - J2540ITIS_ITIScodes_scenic_Area = 11790, - J2540ITIS_ITIScodes_parking_Area = 11791, - J2540ITIS_ITIScodes_weight_Station = 11792, - J2540ITIS_ITIScodes_road = 11793, - J2540ITIS_ITIScodes_exit = 11794, - J2540ITIS_ITIScodes_historical_route = 11795, - J2540ITIS_ITIScodes_state_line = 11796, - J2540ITIS_ITIScodes_bicycle_route = 11799, - J2540ITIS_ITIScodes_bicycle_interstate_route = 11800, - J2540ITIS_ITIScodes_national_park = 11801, - J2540ITIS_ITIScodes_bear_viewing_area = 12033, - J2540ITIS_ITIScodes_deer_viewing_area = 12034, - J2540ITIS_ITIScodes_drinking_water = 12035, - J2540ITIS_ITIScodes_environmental_study_area = 12036, - J2540ITIS_ITIScodes_falling_rocks = 12037, - J2540ITIS_ITIScodes_firearms = 12038, - J2540ITIS_ITIScodes_leashed_pets = 12039, - J2540ITIS_ITIScodes_point_of_interest = 12040, - J2540ITIS_ITIScodes_smoking = 12041, - J2540ITIS_ITIScodes_dog = 12042, - J2540ITIS_ITIScodes_tent_camping = 12043, - J2540ITIS_ITIScodes_trailer_camping = 12044, - J2540ITIS_ITIScodes_first_aid = 12045, - J2540ITIS_ITIScodes_handicapped = 12046, - J2540ITIS_ITIScodes_mechanic = 12047, - J2540ITIS_ITIScodes_trailer_sanitary_station = 12048, - J2540ITIS_ITIScodes_viewing_area = 12049, - J2540ITIS_ITIScodes_scenic_overlook = 12095, - J2540ITIS_ITIScodes_campfire = 12050, - J2540ITIS_ITIScodes_locker = 12051, - J2540ITIS_ITIScodes_sleeping = 12052, - J2540ITIS_ITIScodes_trail = 12053, - J2540ITIS_ITIScodes_climbing = 12054, - J2540ITIS_ITIScodes_rock_climbing = 12055, - J2540ITIS_ITIScodes_hunting = 12056, - J2540ITIS_ITIScodes_playground = 12057, - J2540ITIS_ITIScodes_rock_collecting = 12058, - J2540ITIS_ITIScodes_spelunking = 12059, - J2540ITIS_ITIScodes_bicycle_trail = 12060, - J2540ITIS_ITIScodes_hiking_trail = 12061, - J2540ITIS_ITIScodes_horse_trail = 12062, - J2540ITIS_ITIScodes_trail_interpretive_auto = 12063, - J2540ITIS_ITIScodes_trail_interpretive_pedestrian = 12064, - J2540ITIS_ITIScodes_trail_road_for_4WD_vehicles = 12065, - J2540ITIS_ITIScodes_trail_for_trail_bikes = 12066, - J2540ITIS_ITIScodes_archer = 12067, - J2540ITIS_ITIScodes_hang_glider = 12068, - J2540ITIS_ITIScodes_boat_tours = 12069, - J2540ITIS_ITIScodes_canoeing = 12070, - J2540ITIS_ITIScodes_diving = 12071, - J2540ITIS_ITIScodes_scuba_diving = 12072, - J2540ITIS_ITIScodes_fishing = 12073, - J2540ITIS_ITIScodes_marine_recreation_area = 12074, - J2540ITIS_ITIScodes_motorboating = 12075, - J2540ITIS_ITIScodes_boat_ramp = 12076, - J2540ITIS_ITIScodes_rowboating = 12077, - J2540ITIS_ITIScodes_sailboating = 12078, - J2540ITIS_ITIScodes_water_skiing = 12079, - J2540ITIS_ITIScodes_surfing = 12080, - J2540ITIS_ITIScodes_swimming = 12081, - J2540ITIS_ITIScodes_wading = 12082, - J2540ITIS_ITIScodes_hand_launch = 12083, - J2540ITIS_ITIScodes_kayak = 12084, - J2540ITIS_ITIScodes_wind_surf = 12085, - J2540ITIS_ITIScodes_ice_skating = 12086, - J2540ITIS_ITIScodes_ski_jumping = 12087, - J2540ITIS_ITIScodes_bobbing = 12088, - J2540ITIS_ITIScodes_cross_country_skiing = 12089, - J2540ITIS_ITIScodes_downhill_skiing = 12090, - J2540ITIS_ITIScodes_sledding = 12091, - J2540ITIS_ITIScodes_snowmobiling = 12092, - J2540ITIS_ITIScodes_snowshoeing = 12093, - J2540ITIS_ITIScodes_winter_recreation_area = 12094, - J2540ITIS_ITIScodes_regulatory_sign = 12289, - J2540ITIS_ITIScodes_warning_sign = 12290, - J2540ITIS_ITIScodes_information_sign = 12291, - J2540ITIS_ITIScodes_construction_sign = 12292, - J2540ITIS_ITIScodes_guide_sign = 12293, - J2540ITIS_ITIScodes_stop = 12294, - J2540ITIS_ITIScodes_yield = 12295, - J2540ITIS_ITIScodes_caution = 12330, - J2540ITIS_ITIScodes_temporary = 12331, - J2540ITIS_ITIScodes_to_oncoming_traffic = 12296, - J2540ITIS_ITIScodes_four_way = 12297, - J2540ITIS_ITIScodes_all_way = 12298, - J2540ITIS_ITIScodes_one_way = 12329, - J2540ITIS_ITIScodes_zone = 12299, - J2540ITIS_ITIScodes_narrows = 12300, - J2540ITIS_ITIScodes_widens = 12301, - J2540ITIS_ITIScodes_reduced = 12302, - J2540ITIS_ITIScodes_combined = 12303, - J2540ITIS_ITIScodes_minimum = 12304, - J2540ITIS_ITIScodes_maximum = 12305, - J2540ITIS_ITIScodes_divided_road = 12306, - J2540ITIS_ITIScodes_double_arrow = 12307, - J2540ITIS_ITIScodes_dead_end = 12308, - J2540ITIS_ITIScodes_no_outlet = 12309, - J2540ITIS_ITIScodes_wrong_way = 12310, - J2540ITIS_ITIScodes_do_not_enter = 12314, - J2540ITIS_ITIScodes_nDetour = 12312, - J2540ITIS_ITIScodes_chevron = 12313, - J2540ITIS_ITIScodes_t_intersection_to_the_side = 12315, - J2540ITIS_ITIScodes_t_intersection_oncoming = 12316, - J2540ITIS_ITIScodes_y_intersection_to_the_side = 12317, - J2540ITIS_ITIScodes_y_intersection_oncoming = 12318, - J2540ITIS_ITIScodes_four_way_divided_highway_crossing = 12319, - J2540ITIS_ITIScodes_t_way_divided_highway_crossing = 12320, - J2540ITIS_ITIScodes_light_rail_divided_highway_crossing = 12321, - J2540ITIS_ITIScodes_light_rail_t_divided_highway_crossing = 12322, - J2540ITIS_ITIScodes_side_road_to_right = 12323, - J2540ITIS_ITIScodes_side_road_to_left = 12324, - J2540ITIS_ITIScodes_side_road_to_right_at_angle = 12325, - J2540ITIS_ITIScodes_side_road_to_left_at_angle = 12326, - J2540ITIS_ITIScodes_entering_roadway_merge = 12327, - J2540ITIS_ITIScodes_entering_roadway_added_lane = 12328, - J2540ITIS_ITIScodes_n1 = 12545, - J2540ITIS_ITIScodes_n2 = 12546, - J2540ITIS_ITIScodes_n3 = 12547, - J2540ITIS_ITIScodes_n4 = 12548, - J2540ITIS_ITIScodes_n5 = 12549, - J2540ITIS_ITIScodes_n6 = 12550, - J2540ITIS_ITIScodes_n7 = 12551, - J2540ITIS_ITIScodes_n8 = 12552, - J2540ITIS_ITIScodes_n9 = 12553, - J2540ITIS_ITIScodes_n10 = 12554, - J2540ITIS_ITIScodes_n11 = 12555, - J2540ITIS_ITIScodes_n12 = 12556, - J2540ITIS_ITIScodes_n13 = 12557, - J2540ITIS_ITIScodes_n14 = 12558, - J2540ITIS_ITIScodes_n15 = 12559, - J2540ITIS_ITIScodes_n16 = 12560, - J2540ITIS_ITIScodes_n17 = 12561, - J2540ITIS_ITIScodes_n18 = 12562, - J2540ITIS_ITIScodes_n19 = 12563, - J2540ITIS_ITIScodes_n20 = 12564, - J2540ITIS_ITIScodes_n21 = 12565, - J2540ITIS_ITIScodes_n22 = 12566, - J2540ITIS_ITIScodes_n23 = 12567, - J2540ITIS_ITIScodes_n24 = 12568, - J2540ITIS_ITIScodes_n25 = 12569, - J2540ITIS_ITIScodes_n26 = 12570, - J2540ITIS_ITIScodes_n27 = 12571, - J2540ITIS_ITIScodes_n28 = 12572, - J2540ITIS_ITIScodes_n29 = 12573, - J2540ITIS_ITIScodes_n30 = 12574, - J2540ITIS_ITIScodes_n31 = 12575, - J2540ITIS_ITIScodes_n32 = 12576, - J2540ITIS_ITIScodes_n33 = 12577, - J2540ITIS_ITIScodes_n34 = 12578, - J2540ITIS_ITIScodes_n35 = 12579, - J2540ITIS_ITIScodes_n36 = 12580, - J2540ITIS_ITIScodes_n37 = 12581, - J2540ITIS_ITIScodes_n38 = 12582, - J2540ITIS_ITIScodes_n39 = 12583, - J2540ITIS_ITIScodes_n40 = 12584, - J2540ITIS_ITIScodes_n41 = 12585, - J2540ITIS_ITIScodes_n42 = 12586, - J2540ITIS_ITIScodes_n43 = 12587, - J2540ITIS_ITIScodes_n44 = 12588, - J2540ITIS_ITIScodes_n45 = 12589, - J2540ITIS_ITIScodes_n46 = 12590, - J2540ITIS_ITIScodes_n47 = 12591, - J2540ITIS_ITIScodes_n48 = 12592, - J2540ITIS_ITIScodes_n49 = 12593, - J2540ITIS_ITIScodes_n50 = 12594, - J2540ITIS_ITIScodes_n51 = 12595, - J2540ITIS_ITIScodes_n52 = 12596, - J2540ITIS_ITIScodes_n53 = 12597, - J2540ITIS_ITIScodes_n54 = 12598, - J2540ITIS_ITIScodes_n55 = 12599, - J2540ITIS_ITIScodes_n56 = 12600, - J2540ITIS_ITIScodes_n57 = 12601, - J2540ITIS_ITIScodes_n58 = 12602, - J2540ITIS_ITIScodes_n59 = 12603, - J2540ITIS_ITIScodes_n60 = 12604, - J2540ITIS_ITIScodes_n61 = 12605, - J2540ITIS_ITIScodes_n62 = 12606, - J2540ITIS_ITIScodes_n63 = 12607, - J2540ITIS_ITIScodes_n64 = 12608, - J2540ITIS_ITIScodes_n65 = 12609, - J2540ITIS_ITIScodes_n66 = 12610, - J2540ITIS_ITIScodes_n67 = 12611, - J2540ITIS_ITIScodes_n68 = 12612, - J2540ITIS_ITIScodes_n69 = 12613, - J2540ITIS_ITIScodes_n70 = 12614, - J2540ITIS_ITIScodes_n71 = 12615, - J2540ITIS_ITIScodes_n72 = 12616, - J2540ITIS_ITIScodes_n73 = 12617, - J2540ITIS_ITIScodes_n74 = 12618, - J2540ITIS_ITIScodes_n75 = 12619, - J2540ITIS_ITIScodes_n76 = 12620, - J2540ITIS_ITIScodes_n77 = 12621, - J2540ITIS_ITIScodes_n78 = 12622, - J2540ITIS_ITIScodes_n79 = 12623, - J2540ITIS_ITIScodes_n80 = 12624, - J2540ITIS_ITIScodes_n81 = 12625, - J2540ITIS_ITIScodes_n82 = 12626, - J2540ITIS_ITIScodes_n83 = 12627, - J2540ITIS_ITIScodes_n84 = 12628, - J2540ITIS_ITIScodes_n85 = 12629, - J2540ITIS_ITIScodes_n86 = 12630, - J2540ITIS_ITIScodes_n87 = 12631, - J2540ITIS_ITIScodes_n88 = 12632, - J2540ITIS_ITIScodes_n89 = 12633, - J2540ITIS_ITIScodes_n90 = 12634, - J2540ITIS_ITIScodes_n91 = 12635, - J2540ITIS_ITIScodes_n92 = 12636, - J2540ITIS_ITIScodes_n93 = 12637, - J2540ITIS_ITIScodes_n94 = 12638, - J2540ITIS_ITIScodes_n95 = 12639, - J2540ITIS_ITIScodes_n96 = 12640, - J2540ITIS_ITIScodes_n97 = 12641, - J2540ITIS_ITIScodes_n98 = 12642, - J2540ITIS_ITIScodes_n99 = 12643, - J2540ITIS_ITIScodes_n100 = 12644, - J2540ITIS_ITIScodes_n101 = 12645, - J2540ITIS_ITIScodes_n102 = 12646, - J2540ITIS_ITIScodes_n103 = 12647, - J2540ITIS_ITIScodes_n104 = 12648, - J2540ITIS_ITIScodes_n105 = 12649, - J2540ITIS_ITIScodes_n106 = 12650, - J2540ITIS_ITIScodes_n107 = 12651, - J2540ITIS_ITIScodes_n108 = 12652, - J2540ITIS_ITIScodes_n109 = 12653, - J2540ITIS_ITIScodes_n110 = 12654, - J2540ITIS_ITIScodes_n111 = 12655, - J2540ITIS_ITIScodes_n112 = 12656, - J2540ITIS_ITIScodes_n113 = 12657, - J2540ITIS_ITIScodes_n114 = 12658, - J2540ITIS_ITIScodes_n115 = 12659, - J2540ITIS_ITIScodes_n116 = 12660, - J2540ITIS_ITIScodes_n117 = 12661, - J2540ITIS_ITIScodes_n118 = 12662, - J2540ITIS_ITIScodes_n119 = 12663, - J2540ITIS_ITIScodes_n120 = 12664, - J2540ITIS_ITIScodes_n121 = 12665, - J2540ITIS_ITIScodes_n122 = 12666, - J2540ITIS_ITIScodes_n123 = 12667, - J2540ITIS_ITIScodes_n124 = 12668, - J2540ITIS_ITIScodes_n125 = 12669, - J2540ITIS_ITIScodes_n126 = 12670, - J2540ITIS_ITIScodes_n127 = 12671, - J2540ITIS_ITIScodes_n128 = 12672, - J2540ITIS_ITIScodes_n129 = 12673, - J2540ITIS_ITIScodes_n130 = 12674, - J2540ITIS_ITIScodes_n131 = 12675, - J2540ITIS_ITIScodes_n132 = 12676, - J2540ITIS_ITIScodes_n133 = 12677, - J2540ITIS_ITIScodes_n134 = 12678, - J2540ITIS_ITIScodes_n135 = 12679, - J2540ITIS_ITIScodes_n136 = 12680, - J2540ITIS_ITIScodes_n137 = 12681, - J2540ITIS_ITIScodes_n138 = 12682, - J2540ITIS_ITIScodes_n139 = 12683, - J2540ITIS_ITIScodes_n140 = 12684, - J2540ITIS_ITIScodes_n141 = 12685, - J2540ITIS_ITIScodes_n142 = 12686, - J2540ITIS_ITIScodes_n143 = 12687, - J2540ITIS_ITIScodes_n144 = 12688, - J2540ITIS_ITIScodes_n145 = 12689, - J2540ITIS_ITIScodes_n146 = 12690, - J2540ITIS_ITIScodes_n147 = 12691, - J2540ITIS_ITIScodes_n148 = 12692, - J2540ITIS_ITIScodes_n149 = 12693, - J2540ITIS_ITIScodes_n150 = 12694, - J2540ITIS_ITIScodes_n151 = 12695, - J2540ITIS_ITIScodes_n152 = 12696, - J2540ITIS_ITIScodes_n153 = 12697, - J2540ITIS_ITIScodes_n154 = 12698, - J2540ITIS_ITIScodes_n155 = 12699, - J2540ITIS_ITIScodes_n156 = 12700, - J2540ITIS_ITIScodes_n157 = 12701, - J2540ITIS_ITIScodes_n158 = 12702, - J2540ITIS_ITIScodes_n159 = 12703, - J2540ITIS_ITIScodes_n160 = 12704, - J2540ITIS_ITIScodes_n161 = 12705, - J2540ITIS_ITIScodes_n162 = 12706, - J2540ITIS_ITIScodes_n163 = 12707, - J2540ITIS_ITIScodes_n164 = 12708, - J2540ITIS_ITIScodes_n165 = 12709, - J2540ITIS_ITIScodes_n166 = 12710, - J2540ITIS_ITIScodes_n167 = 12711, - J2540ITIS_ITIScodes_n168 = 12712, - J2540ITIS_ITIScodes_n169 = 12713, - J2540ITIS_ITIScodes_n170 = 12714, - J2540ITIS_ITIScodes_n171 = 12715, - J2540ITIS_ITIScodes_n172 = 12716, - J2540ITIS_ITIScodes_n173 = 12717, - J2540ITIS_ITIScodes_n174 = 12718, - J2540ITIS_ITIScodes_n175 = 12719, - J2540ITIS_ITIScodes_n176 = 12720, - J2540ITIS_ITIScodes_n177 = 12721, - J2540ITIS_ITIScodes_n178 = 12722, - J2540ITIS_ITIScodes_n179 = 12723, - J2540ITIS_ITIScodes_n180 = 12724, - J2540ITIS_ITIScodes_n181 = 12725, - J2540ITIS_ITIScodes_n182 = 12726, - J2540ITIS_ITIScodes_n183 = 12727, - J2540ITIS_ITIScodes_n184 = 12728, - J2540ITIS_ITIScodes_n185 = 12729, - J2540ITIS_ITIScodes_n186 = 12730, - J2540ITIS_ITIScodes_n187 = 12731, - J2540ITIS_ITIScodes_n188 = 12732, - J2540ITIS_ITIScodes_n189 = 12733, - J2540ITIS_ITIScodes_n190 = 12734, - J2540ITIS_ITIScodes_n191 = 12735, - J2540ITIS_ITIScodes_n192 = 12736, - J2540ITIS_ITIScodes_n193 = 12737, - J2540ITIS_ITIScodes_n194 = 12738, - J2540ITIS_ITIScodes_n195 = 12739, - J2540ITIS_ITIScodes_n196 = 12740, - J2540ITIS_ITIScodes_n197 = 12741, - J2540ITIS_ITIScodes_n198 = 12742, - J2540ITIS_ITIScodes_n199 = 12743, - J2540ITIS_ITIScodes_n200 = 12744, - J2540ITIS_ITIScodes_n201 = 12745, - J2540ITIS_ITIScodes_n202 = 12746, - J2540ITIS_ITIScodes_n203 = 12747, - J2540ITIS_ITIScodes_n204 = 12748, - J2540ITIS_ITIScodes_n205 = 12749, - J2540ITIS_ITIScodes_n206 = 12750, - J2540ITIS_ITIScodes_n207 = 12751, - J2540ITIS_ITIScodes_n208 = 12752, - J2540ITIS_ITIScodes_n209 = 12753, - J2540ITIS_ITIScodes_n210 = 12754, - J2540ITIS_ITIScodes_n211 = 12755, - J2540ITIS_ITIScodes_n212 = 12756, - J2540ITIS_ITIScodes_n213 = 12757, - J2540ITIS_ITIScodes_n214 = 12758, - J2540ITIS_ITIScodes_n215 = 12759, - J2540ITIS_ITIScodes_n216 = 12760, - J2540ITIS_ITIScodes_n217 = 12761, - J2540ITIS_ITIScodes_n218 = 12762, - J2540ITIS_ITIScodes_n219 = 12763, - J2540ITIS_ITIScodes_n220 = 12764, - J2540ITIS_ITIScodes_n221 = 12765, - J2540ITIS_ITIScodes_n222 = 12766, - J2540ITIS_ITIScodes_n223 = 12767, - J2540ITIS_ITIScodes_n224 = 12768, - J2540ITIS_ITIScodes_n225 = 12769, - J2540ITIS_ITIScodes_n226 = 12770, - J2540ITIS_ITIScodes_n227 = 12771, - J2540ITIS_ITIScodes_n228 = 12772, - J2540ITIS_ITIScodes_n229 = 12773, - J2540ITIS_ITIScodes_n230 = 12774, - J2540ITIS_ITIScodes_n231 = 12775, - J2540ITIS_ITIScodes_n232 = 12776, - J2540ITIS_ITIScodes_n233 = 12777, - J2540ITIS_ITIScodes_n234 = 12778, - J2540ITIS_ITIScodes_n235 = 12779, - J2540ITIS_ITIScodes_n236 = 12780, - J2540ITIS_ITIScodes_n237 = 12781, - J2540ITIS_ITIScodes_n238 = 12782, - J2540ITIS_ITIScodes_n239 = 12783, - J2540ITIS_ITIScodes_n240 = 12784, - J2540ITIS_ITIScodes_n241 = 12785, - J2540ITIS_ITIScodes_n242 = 12786, - J2540ITIS_ITIScodes_n243 = 12787, - J2540ITIS_ITIScodes_n244 = 12788, - J2540ITIS_ITIScodes_n245 = 12789, - J2540ITIS_ITIScodes_n246 = 12790, - J2540ITIS_ITIScodes_n247 = 12791, - J2540ITIS_ITIScodes_n248 = 12792, - J2540ITIS_ITIScodes_n249 = 12793, - J2540ITIS_ITIScodes_n250 = 12794, - J2540ITIS_ITIScodes_n251 = 12795, - J2540ITIS_ITIScodes_n252 = 12796, - J2540ITIS_ITIScodes_n253 = 12797, - J2540ITIS_ITIScodes_n254 = 12798, - J2540ITIS_ITIScodes_n255 = 12799, - J2540ITIS_ITIScodes_alabama = 12801, - J2540ITIS_ITIScodes_alaska = 12802, - J2540ITIS_ITIScodes_american_Samoa = 12803, - J2540ITIS_ITIScodes_arizona = 12804, - J2540ITIS_ITIScodes_arkansas = 12805, - J2540ITIS_ITIScodes_california = 12806, - J2540ITIS_ITIScodes_colorado = 12807, - J2540ITIS_ITIScodes_connecticut = 12808, - J2540ITIS_ITIScodes_delaware = 12809, - J2540ITIS_ITIScodes_district_of_Columbia = 12810, - J2540ITIS_ITIScodes_florida = 12811, - J2540ITIS_ITIScodes_georgia = 12812, - J2540ITIS_ITIScodes_guam = 12813, - J2540ITIS_ITIScodes_hawaii = 12814, - J2540ITIS_ITIScodes_idaho = 12815, - J2540ITIS_ITIScodes_illinois = 12816, - J2540ITIS_ITIScodes_indiana = 12817, - J2540ITIS_ITIScodes_iowa = 12818, - J2540ITIS_ITIScodes_kansas = 12819, - J2540ITIS_ITIScodes_kentucky = 12820, - J2540ITIS_ITIScodes_louisiana = 12821, - J2540ITIS_ITIScodes_maine = 12822, - J2540ITIS_ITIScodes_maryland = 12823, - J2540ITIS_ITIScodes_massachusetts = 12824, - J2540ITIS_ITIScodes_michigan = 12825, - J2540ITIS_ITIScodes_minnesota = 12826, - J2540ITIS_ITIScodes_mississippi = 12827, - J2540ITIS_ITIScodes_missouri = 12828, - J2540ITIS_ITIScodes_montana = 12829, - J2540ITIS_ITIScodes_nebraska = 12830, - J2540ITIS_ITIScodes_nevada = 12831, - J2540ITIS_ITIScodes_new_Hampshire = 12832, - J2540ITIS_ITIScodes_new_Jersey = 12833, - J2540ITIS_ITIScodes_new_Mexico = 12834, - J2540ITIS_ITIScodes_new_York = 12835, - J2540ITIS_ITIScodes_north_Carolina = 12836, - J2540ITIS_ITIScodes_north_Dakota = 12837, - J2540ITIS_ITIScodes_northern_Marianas_Islands = 12838, - J2540ITIS_ITIScodes_ohio = 12839, - J2540ITIS_ITIScodes_oklahoma = 12840, - J2540ITIS_ITIScodes_oregon = 12841, - J2540ITIS_ITIScodes_pennsylvania = 12842, - J2540ITIS_ITIScodes_puerto_rico = 12843, - J2540ITIS_ITIScodes_rhode_Island = 12844, - J2540ITIS_ITIScodes_south_Carolina = 12845, - J2540ITIS_ITIScodes_south_Dakota = 12846, - J2540ITIS_ITIScodes_tennessee = 12847, - J2540ITIS_ITIScodes_texas = 12848, - J2540ITIS_ITIScodes_utah = 12849, - J2540ITIS_ITIScodes_vermont = 12850, - J2540ITIS_ITIScodes_virginia = 12851, - J2540ITIS_ITIScodes_virgin_Islands = 12852, - J2540ITIS_ITIScodes_washington = 12853, - J2540ITIS_ITIScodes_west_Virginia = 12854, - J2540ITIS_ITIScodes_wisconsin = 12855, - J2540ITIS_ITIScodes_wyoming = 12856, - J2540ITIS_ITIScodes_rest_room = 13057, - J2540ITIS_ITIScodes_mens_rest_room = 13058, - J2540ITIS_ITIScodes_womens_rest_room = 13059, - J2540ITIS_ITIScodes_family_rest_room = 13060, - J2540ITIS_ITIScodes_dam = 13061, - J2540ITIS_ITIScodes_fish_hatchery = 13062, - J2540ITIS_ITIScodes_information = 13063, - J2540ITIS_ITIScodes_lighthouse = 13064, - J2540ITIS_ITIScodes_lookout_tower = 13065, - J2540ITIS_ITIScodes_ranger_station = 13066, - J2540ITIS_ITIScodes_grocery_store = 13068, - J2540ITIS_ITIScodes_lodging = 13069, - J2540ITIS_ITIScodes_post_office = 13070, - J2540ITIS_ITIScodes_picnic_shelter = 13072, - J2540ITIS_ITIScodes_group_camping = 13073, - J2540ITIS_ITIScodes_group_picnicking = 13074, - J2540ITIS_ITIScodes_n24_hour_pharmacy = 13075, - J2540ITIS_ITIScodes_kennel = 13076, - J2540ITIS_ITIScodes_laundry_facilities = 13077, - J2540ITIS_ITIScodes_shower_facilities = 13078, - J2540ITIS_ITIScodes_amphitheater = 13079, - J2540ITIS_ITIScodes_stable = 13080, - J2540ITIS_ITIScodes_hospital = 13081, - J2540ITIS_ITIScodes_emergency_medical_service_point = 13082, - J2540ITIS_ITIScodes_library = 13083, - J2540ITIS_ITIScodes_recycling_collection_center = 13084, - J2540ITIS_ITIScodes_school = 13085, - J2540ITIS_ITIScodes_alley = 13313, - J2540ITIS_ITIScodes_annex = 13314, - J2540ITIS_ITIScodes_arcade = 13315, - J2540ITIS_ITIScodes_avenue = 13316, - J2540ITIS_ITIScodes_bayoo = 13317, - J2540ITIS_ITIScodes_beach = 13318, - J2540ITIS_ITIScodes_bend = 13319, - J2540ITIS_ITIScodes_bluff = 13320, - J2540ITIS_ITIScodes_bottom = 13321, - J2540ITIS_ITIScodes_boulevard = 13322, - J2540ITIS_ITIScodes_branch = 13323, - J2540ITIS_ITIScodes_nBridge = 13324, - J2540ITIS_ITIScodes_brook = 13325, - J2540ITIS_ITIScodes_burg = 13326, - J2540ITIS_ITIScodes_bypass = 13327, - J2540ITIS_ITIScodes_camp = 13328, - J2540ITIS_ITIScodes_canyon = 13329, - J2540ITIS_ITIScodes_cape = 13330, - J2540ITIS_ITIScodes_causeway = 13331, - J2540ITIS_ITIScodes_nCenter = 13332, - J2540ITIS_ITIScodes_circle = 13333, - J2540ITIS_ITIScodes_cliff = 13334, - J2540ITIS_ITIScodes_club = 13335, - J2540ITIS_ITIScodes_common = 13336, - J2540ITIS_ITIScodes_corner = 13337, - J2540ITIS_ITIScodes_course = 13338, - J2540ITIS_ITIScodes_court = 13339, - J2540ITIS_ITIScodes_cove = 13340, - J2540ITIS_ITIScodes_creek = 13341, - J2540ITIS_ITIScodes_crescent = 13342, - J2540ITIS_ITIScodes_crest = 13343, - J2540ITIS_ITIScodes_nCrossing = 13344, - J2540ITIS_ITIScodes_crossroad = 13345, - J2540ITIS_ITIScodes_curve = 13346, - J2540ITIS_ITIScodes_dale = 13347, - J2540ITIS_ITIScodes_nDam = 13348, - J2540ITIS_ITIScodes_divide = 13349, - J2540ITIS_ITIScodes_drive = 13350, - J2540ITIS_ITIScodes_estate = 13351, - J2540ITIS_ITIScodes_expressway = 13352, - J2540ITIS_ITIScodes_extension = 13353, - J2540ITIS_ITIScodes_fall = 13354, - J2540ITIS_ITIScodes_nFerry = 13355, - J2540ITIS_ITIScodes_field = 13356, - J2540ITIS_ITIScodes_flat = 13357, - J2540ITIS_ITIScodes_ford = 13358, - J2540ITIS_ITIScodes_forest = 13359, - J2540ITIS_ITIScodes_forge = 13360, - J2540ITIS_ITIScodes_fork = 13361, - J2540ITIS_ITIScodes_fort = 13362, - J2540ITIS_ITIScodes_nFreeway = 13363, - J2540ITIS_ITIScodes_garden = 13364, - J2540ITIS_ITIScodes_gateway = 13365, - J2540ITIS_ITIScodes_glen = 13366, - J2540ITIS_ITIScodes_green = 13367, - J2540ITIS_ITIScodes_grove = 13368, - J2540ITIS_ITIScodes_harbor = 13369, - J2540ITIS_ITIScodes_haven = 13370, - J2540ITIS_ITIScodes_heights = 13371, - J2540ITIS_ITIScodes_highway = 13372, - J2540ITIS_ITIScodes_nHill = 13373, - J2540ITIS_ITIScodes_hollow = 13374, - J2540ITIS_ITIScodes_inlet = 13375, - J2540ITIS_ITIScodes_nIsland = 13376, - J2540ITIS_ITIScodes_isle = 13377, - J2540ITIS_ITIScodes_nJunction = 13378, - J2540ITIS_ITIScodes_key = 13379, - J2540ITIS_ITIScodes_knoll = 13380, - J2540ITIS_ITIScodes_lake = 13381, - J2540ITIS_ITIScodes_land = 13382, - J2540ITIS_ITIScodes_landing = 13383, - J2540ITIS_ITIScodes_nLane = 13384, - J2540ITIS_ITIScodes_light = 13385, - J2540ITIS_ITIScodes_loaf = 13386, - J2540ITIS_ITIScodes_lock = 13387, - J2540ITIS_ITIScodes_lodge = 13388, - J2540ITIS_ITIScodes_loop = 13389, - J2540ITIS_ITIScodes_mall = 13390, - J2540ITIS_ITIScodes_manor = 13391, - J2540ITIS_ITIScodes_meadow = 13392, - J2540ITIS_ITIScodes_mews = 13393, - J2540ITIS_ITIScodes_mill = 13394, - J2540ITIS_ITIScodes_mission = 13395, - J2540ITIS_ITIScodes_motorway = 13396, - J2540ITIS_ITIScodes_mount = 13397, - J2540ITIS_ITIScodes_mountain = 13398, - J2540ITIS_ITIScodes_neck = 13399, - J2540ITIS_ITIScodes_orchard = 13400, - J2540ITIS_ITIScodes_oval = 13401, - J2540ITIS_ITIScodes_nOverpass = 13402, - J2540ITIS_ITIScodes_park = 13403, - J2540ITIS_ITIScodes_parkway = 13404, - J2540ITIS_ITIScodes_nPass = 13405, - J2540ITIS_ITIScodes_passage = 13406, - J2540ITIS_ITIScodes_path = 13407, - J2540ITIS_ITIScodes_pike = 13408, - J2540ITIS_ITIScodes_pine = 13409, - J2540ITIS_ITIScodes_plains = 13410, - J2540ITIS_ITIScodes_plaza = 13411, - J2540ITIS_ITIScodes_point = 13412, - J2540ITIS_ITIScodes_port = 13413, - J2540ITIS_ITIScodes_prairie = 13414, - J2540ITIS_ITIScodes_radial = 13415, - J2540ITIS_ITIScodes_ramp = 13416, - J2540ITIS_ITIScodes_ranch = 13417, - J2540ITIS_ITIScodes_rapid = 13418, - J2540ITIS_ITIScodes_rest = 13419, - J2540ITIS_ITIScodes_ridge = 13420, - J2540ITIS_ITIScodes_river = 13421, - J2540ITIS_ITIScodes_nRoad = 13422, - J2540ITIS_ITIScodes_route = 13423, - J2540ITIS_ITIScodes_row = 13424, - J2540ITIS_ITIScodes_rue = 13425, - J2540ITIS_ITIScodes_run = 13426, - J2540ITIS_ITIScodes_shoal = 13427, - J2540ITIS_ITIScodes_shore = 13428, - J2540ITIS_ITIScodes_skyway = 13429, - J2540ITIS_ITIScodes_spring = 13430, - J2540ITIS_ITIScodes_nSpur = 13431, - J2540ITIS_ITIScodes_square = 13432, - J2540ITIS_ITIScodes_nStation = 13433, - J2540ITIS_ITIScodes_stravenue = 13434, - J2540ITIS_ITIScodes_stream = 13435, - J2540ITIS_ITIScodes_street = 13436, - J2540ITIS_ITIScodes_summit = 13437, - J2540ITIS_ITIScodes_terrace = 13438, - J2540ITIS_ITIScodes_throughway = 13439, - J2540ITIS_ITIScodes_trace = 13440, - J2540ITIS_ITIScodes_nTrack = 13441, - J2540ITIS_ITIScodes_trafficway = 13442, - J2540ITIS_ITIScodes_nTrail = 13443, - J2540ITIS_ITIScodes_nTunnel = 13444, - J2540ITIS_ITIScodes_turnpike = 13445, - J2540ITIS_ITIScodes_nUnderpass = 13446, - J2540ITIS_ITIScodes_union = 13447, - J2540ITIS_ITIScodes_valley = 13448, - J2540ITIS_ITIScodes_viaduct = 13449, - J2540ITIS_ITIScodes_view = 13450, - J2540ITIS_ITIScodes_village = 13451, - J2540ITIS_ITIScodes_ville = 13452, - J2540ITIS_ITIScodes_vista = 13453, - J2540ITIS_ITIScodes_nWalk = 13454, - J2540ITIS_ITIScodes_wall = 13455, - J2540ITIS_ITIScodes_way = 13456, - J2540ITIS_ITIScodes_well = 13457, - J2540ITIS_ITIScodes_ahead = 13569, - J2540ITIS_ITIScodes_here = 13570, - J2540ITIS_ITIScodes_here_to = 13571, - J2540ITIS_ITIScodes_here_to_alley = 13572, - J2540ITIS_ITIScodes_here_to_corner = 13573, - J2540ITIS_ITIScodes_here_to_sign = 13574, - J2540ITIS_ITIScodes_between_signs = 13575, - J2540ITIS_ITIScodes_between = 13633, - J2540ITIS_ITIScodes_this_side_of_street = 13576, - J2540ITIS_ITIScodes_this_side_of_sign = 13577, - J2540ITIS_ITIScodes_right = 13579, - J2540ITIS_ITIScodes_left = 13580, - J2540ITIS_ITIScodes_begin_point = 13581, - J2540ITIS_ITIScodes_next = 13582, - J2540ITIS_ITIScodes_starting_start = 13611, - J2540ITIS_ITIScodes_ends_end = 13583, - J2540ITIS_ITIScodes_other_Side = 13584, - J2540ITIS_ITIScodes_crossing = 13585, - J2540ITIS_ITIScodes_crosswalks = 13586, - J2540ITIS_ITIScodes_center_strip = 13587, - J2540ITIS_ITIScodes_lane = 13588, - J2540ITIS_ITIScodes_shelter = 13634, - J2540ITIS_ITIScodes_center = 13635, - J2540ITIS_ITIScodes_hill = 13589, - J2540ITIS_ITIScodes_both_ways_left_and_right = 13590, - J2540ITIS_ITIScodes_both_ways_45_degree_angle_tilting_right = 13591, - J2540ITIS_ITIScodes_both_ways_45_degree_angle_tilting_left = 13592, - J2540ITIS_ITIScodes_both_directions_of_travel = 13593, - J2540ITIS_ITIScodes_left_arrow = 13610, - J2540ITIS_ITIScodes_left_turn = 13594, - J2540ITIS_ITIScodes_left_45_degree_arrow = 13595, - J2540ITIS_ITIScodes_left_45_degree_turn = 13596, - J2540ITIS_ITIScodes_ahead_and_to_the_left = 13597, - J2540ITIS_ITIScodes_ahead_and_to_the_left_at_a_45_degree_angle = 13598, - J2540ITIS_ITIScodes_right_arrow = 13609, - J2540ITIS_ITIScodes_right_turn = 13599, - J2540ITIS_ITIScodes_right_45_degree_arrow = 13600, - J2540ITIS_ITIScodes_right_45_degree_turn = 13601, - J2540ITIS_ITIScodes_ahead_and_to_the_right = 13602, - J2540ITIS_ITIScodes_ahead_and_to_the_right_at_a_45_degree_angle = 13603, - J2540ITIS_ITIScodes_downward_left_45_degree = 13604, - J2540ITIS_ITIScodes_downward_right_45_degree = 13605, - J2540ITIS_ITIScodes_downward_left_and_right_45_degree = 13606, - J2540ITIS_ITIScodes_reverse_turn_to_right = 13636, - J2540ITIS_ITIScodes_reverse_turn_to_left = 13637, - J2540ITIS_ITIScodes_reverse_curve_to_right = 13638, - J2540ITIS_ITIScodes_reverse_curve_to_left = 13639, - J2540ITIS_ITIScodes_two_lane_reverse_curve_to_right = 13623, - J2540ITIS_ITIScodes_two_lane_reverse_curve_to_left = 13624, - J2540ITIS_ITIScodes_three_lane_reverse_curve_to_right = 13625, - J2540ITIS_ITIScodes_three_lane_reverse_curve_to_left = 13626, - J2540ITIS_ITIScodes_winding_road_to_right = 13640, - J2540ITIS_ITIScodes_winding_road_to_left = 13641, - J2540ITIS_ITIScodes_chevron_right = 13613, - J2540ITIS_ITIScodes_chevron_left = 13614, - J2540ITIS_ITIScodes_right_turn_with_junction = 13615, - J2540ITIS_ITIScodes_left_turn_with_junction = 13616, - J2540ITIS_ITIScodes_hairpin_right = 13617, - J2540ITIS_ITIScodes_hairpin_left = 13618, - J2540ITIS_ITIScodes_truck_rollover_right = 13619, - J2540ITIS_ITIScodes_truck_rollover_left = 13620, - J2540ITIS_ITIScodes_n270_degree_turn_right = 13621, - J2540ITIS_ITIScodes_n270_degree_turn_left = 13622, - J2540ITIS_ITIScodes_double_reverse_curve_to_right = 13627, - J2540ITIS_ITIScodes_double_reverse_curve_to_left = 13628, - J2540ITIS_ITIScodes_two_lane_double_reverse_curve_to_right = 13629, - J2540ITIS_ITIScodes_two_lane_double_reverse_curve_to_left = 13630, - J2540ITIS_ITIScodes_three_lane_double_reverse_curve_to_right = 13631, - J2540ITIS_ITIScodes_three_lane_double_reverse_curve_to_left = 13632 -} e_J2540ITIS_ITIScodes; - -/* J2540ITIS_ITIScodes */ -typedef long J2540ITIS_ITIScodes_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_J2540ITIS_ITIScodes_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_J2540ITIS_ITIScodes; -asn_struct_free_f J2540ITIS_ITIScodes_free; -asn_struct_print_f J2540ITIS_ITIScodes_print; -asn_constr_check_f J2540ITIS_ITIScodes_constraint; -ber_type_decoder_f J2540ITIS_ITIScodes_decode_ber; -der_type_encoder_f J2540ITIS_ITIScodes_encode_der; -xer_type_decoder_f J2540ITIS_ITIScodes_decode_xer; -xer_type_encoder_f J2540ITIS_ITIScodes_encode_xer; -oer_type_decoder_f J2540ITIS_ITIScodes_decode_oer; -oer_type_encoder_f J2540ITIS_ITIScodes_encode_oer; -per_type_decoder_f J2540ITIS_ITIScodes_decode_uper; -per_type_encoder_f J2540ITIS_ITIScodes_encode_uper; -per_type_decoder_f J2540ITIS_ITIScodes_decode_aper; -per_type_encoder_f J2540ITIS_ITIScodes_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _J2540ITIS_ITIScodes_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodesAndText.c b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodesAndText.c new file mode 100644 index 000000000..ea59c0833 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodesAndText.c @@ -0,0 +1,215 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "J2540ITIS_ITIScodesAndText.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_item_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_item_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_J2540ITIS_ITIScodesAndText_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..100)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_J2540ITIS_ITIScodesAndText_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 7, 7, 1, 100 } /* (SIZE(1..100)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_item_3[] = { + { ATF_NOFLAGS, 0, offsetof(struct J2540ITIS_ITIScodesAndText__Member__item, choice.itis), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_J2540ITIS_ITIScodes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "itis" + }, + { ATF_NOFLAGS, 0, offsetof(struct J2540ITIS_ITIScodesAndText__Member__item, choice.text), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_J2540ITIS_ITIStext, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "text" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_item_tag2el_3[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* itis */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* text */ +}; +static asn_CHOICE_specifics_t asn_SPC_item_specs_3 = { + sizeof(struct J2540ITIS_ITIScodesAndText__Member__item), + offsetof(struct J2540ITIS_ITIScodesAndText__Member__item, _asn_ctx), + offsetof(struct J2540ITIS_ITIScodesAndText__Member__item, present), + sizeof(((struct J2540ITIS_ITIScodesAndText__Member__item *)0)->present), + asn_MAP_item_tag2el_3, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_item_3 = { + "item", + "item", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_item_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_item_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_item_3, + 2, /* Elements count */ + &asn_SPC_item_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct J2540ITIS_ITIScodesAndText__Member, item), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_item_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "item" + }, +}; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* item */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct J2540ITIS_ITIScodesAndText__Member), + offsetof(struct J2540ITIS_ITIScodesAndText__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Member_2, + 1, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_J2540ITIS_ITIScodesAndText_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_J2540ITIS_ITIScodesAndText_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_J2540ITIS_ITIScodesAndText_specs_1 = { + sizeof(struct J2540ITIS_ITIScodesAndText), + offsetof(struct J2540ITIS_ITIScodesAndText, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_J2540ITIS_ITIScodesAndText = { + "ITIScodesAndText", + "ITIScodesAndText", + &asn_OP_SEQUENCE_OF, + asn_DEF_J2540ITIS_ITIScodesAndText_tags_1, + sizeof(asn_DEF_J2540ITIS_ITIScodesAndText_tags_1) + /sizeof(asn_DEF_J2540ITIS_ITIScodesAndText_tags_1[0]), /* 1 */ + asn_DEF_J2540ITIS_ITIScodesAndText_tags_1, /* Same as above */ + sizeof(asn_DEF_J2540ITIS_ITIScodesAndText_tags_1) + /sizeof(asn_DEF_J2540ITIS_ITIScodesAndText_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_J2540ITIS_ITIScodesAndText_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_J2540ITIS_ITIScodesAndText_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_J2540ITIS_ITIScodesAndText_1, + 1, /* Single element */ + &asn_SPC_J2540ITIS_ITIScodesAndText_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodesAndText.h b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodesAndText.h deleted file mode 100644 index 211f80e13..000000000 --- a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIScodesAndText.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _J2540ITIS_ITIScodesAndText_H_ -#define _J2540ITIS_ITIScodesAndText_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "J2540ITIS_ITIScodes.h" -#include "J2540ITIS_ITIStext.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum J2540ITIS_ITIScodesAndText__Member__item_PR { - J2540ITIS_ITIScodesAndText__Member__item_PR_NOTHING, /* No components present */ - J2540ITIS_ITIScodesAndText__Member__item_PR_itis, - J2540ITIS_ITIScodesAndText__Member__item_PR_text -} J2540ITIS_ITIScodesAndText__Member__item_PR; - -/* Forward definitions */ -typedef struct J2540ITIS_ITIScodesAndText__Member { - struct J2540ITIS_ITIScodesAndText__Member__item { - J2540ITIS_ITIScodesAndText__Member__item_PR present; - union J2540ITIS_ITIScodesAndText__Member__item_u { - J2540ITIS_ITIScodes_t itis; - J2540ITIS_ITIStext_t text; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } item; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} J2540ITIS_ITIScodesAndText__Member; - -/* J2540ITIS_ITIScodesAndText */ -typedef struct J2540ITIS_ITIScodesAndText { - A_SEQUENCE_OF(J2540ITIS_ITIScodesAndText__Member) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} J2540ITIS_ITIScodesAndText_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_J2540ITIS_ITIScodesAndText; - -#ifdef __cplusplus -} -#endif - -#endif /* _J2540ITIS_ITIScodesAndText_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIStext.c b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIStext.c new file mode 100644 index 000000000..297ff880c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIStext.c @@ -0,0 +1,91 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "J2540ITIS_ITIStext.h" + +static int check_permitted_alphabet_1(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +int +J2540ITIS_ITIStext_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 500UL) + && !check_permitted_alphabet_1(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using IA5String, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_J2540ITIS_ITIStext_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..500)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_J2540ITIS_ITIStext_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 9, 9, 1, 500 } /* (SIZE(1..500)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_J2540ITIS_ITIStext_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_J2540ITIS_ITIStext = { + "ITIStext", + "ITIStext", + &asn_OP_IA5String, + asn_DEF_J2540ITIS_ITIStext_tags_1, + sizeof(asn_DEF_J2540ITIS_ITIStext_tags_1) + /sizeof(asn_DEF_J2540ITIS_ITIStext_tags_1[0]), /* 1 */ + asn_DEF_J2540ITIS_ITIStext_tags_1, /* Same as above */ + sizeof(asn_DEF_J2540ITIS_ITIStext_tags_1) + /sizeof(asn_DEF_J2540ITIS_ITIStext_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_J2540ITIS_ITIStext_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_J2540ITIS_ITIStext_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + J2540ITIS_ITIStext_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIStext.h b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIStext.h deleted file mode 100644 index 6f1b96c65..000000000 --- a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ITIStext.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _J2540ITIS_ITIStext_H_ -#define _J2540ITIS_ITIStext_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IA5String.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* J2540ITIS_ITIStext */ -typedef IA5String_t J2540ITIS_ITIStext_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_J2540ITIS_ITIStext_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_J2540ITIS_ITIStext; -asn_struct_free_f J2540ITIS_ITIStext_free; -asn_struct_print_f J2540ITIS_ITIStext_print; -asn_constr_check_f J2540ITIS_ITIStext_constraint; -ber_type_decoder_f J2540ITIS_ITIStext_decode_ber; -der_type_encoder_f J2540ITIS_ITIStext_encode_der; -xer_type_decoder_f J2540ITIS_ITIStext_decode_xer; -xer_type_encoder_f J2540ITIS_ITIStext_encode_xer; -oer_type_decoder_f J2540ITIS_ITIStext_decode_oer; -oer_type_encoder_f J2540ITIS_ITIStext_encode_oer; -per_type_decoder_f J2540ITIS_ITIStext_decode_uper; -per_type_encoder_f J2540ITIS_ITIStext_encode_uper; -per_type_decoder_f J2540ITIS_ITIStext_decode_aper; -per_type_encoder_f J2540ITIS_ITIStext_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _J2540ITIS_ITIStext_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_IncidentResponseEquipment.c b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_IncidentResponseEquipment.c new file mode 100644 index 000000000..114bbcb6e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_IncidentResponseEquipment.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "J2540ITIS_IncidentResponseEquipment.h" + +int +J2540ITIS_IncidentResponseEquipment_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_J2540ITIS_IncidentResponseEquipment_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_J2540ITIS_IncidentResponseEquipment_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_J2540ITIS_IncidentResponseEquipment_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_J2540ITIS_IncidentResponseEquipment = { + "IncidentResponseEquipment", + "IncidentResponseEquipment", + &asn_OP_NativeInteger, + asn_DEF_J2540ITIS_IncidentResponseEquipment_tags_1, + sizeof(asn_DEF_J2540ITIS_IncidentResponseEquipment_tags_1) + /sizeof(asn_DEF_J2540ITIS_IncidentResponseEquipment_tags_1[0]), /* 1 */ + asn_DEF_J2540ITIS_IncidentResponseEquipment_tags_1, /* Same as above */ + sizeof(asn_DEF_J2540ITIS_IncidentResponseEquipment_tags_1) + /sizeof(asn_DEF_J2540ITIS_IncidentResponseEquipment_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_J2540ITIS_IncidentResponseEquipment_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_J2540ITIS_IncidentResponseEquipment_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + J2540ITIS_IncidentResponseEquipment_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_IncidentResponseEquipment.h b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_IncidentResponseEquipment.h deleted file mode 100644 index ca12c80d3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_IncidentResponseEquipment.h +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _J2540ITIS_IncidentResponseEquipment_H_ -#define _J2540ITIS_IncidentResponseEquipment_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum J2540ITIS_IncidentResponseEquipment { - J2540ITIS_IncidentResponseEquipment_ground_fire_suppression = 9985, - J2540ITIS_IncidentResponseEquipment_heavy_ground_equipment = 9986, - J2540ITIS_IncidentResponseEquipment_aircraft = 9988, - J2540ITIS_IncidentResponseEquipment_marine_equipment = 9989, - J2540ITIS_IncidentResponseEquipment_support_equipment = 9990, - J2540ITIS_IncidentResponseEquipment_medical_rescue_unit = 9991, - J2540ITIS_IncidentResponseEquipment_other = 9993, - J2540ITIS_IncidentResponseEquipment_ground_fire_suppression_other = 9994, - J2540ITIS_IncidentResponseEquipment_engine = 9995, - J2540ITIS_IncidentResponseEquipment_truck_or_aerial = 9996, - J2540ITIS_IncidentResponseEquipment_quint = 9997, - J2540ITIS_IncidentResponseEquipment_tanker_pumper_combination = 9998, - J2540ITIS_IncidentResponseEquipment_brush_truck = 10000, - J2540ITIS_IncidentResponseEquipment_aircraft_rescue_firefighting = 10001, - J2540ITIS_IncidentResponseEquipment_heavy_ground_equipment_other = 10004, - J2540ITIS_IncidentResponseEquipment_dozer_or_plow = 10005, - J2540ITIS_IncidentResponseEquipment_tractor = 10006, - J2540ITIS_IncidentResponseEquipment_tanker_or_tender = 10008, - J2540ITIS_IncidentResponseEquipment_aircraft_other = 10024, - J2540ITIS_IncidentResponseEquipment_aircraft_fixed_wing_tanker = 10025, - J2540ITIS_IncidentResponseEquipment_helitanker = 10026, - J2540ITIS_IncidentResponseEquipment_helicopter = 10027, - J2540ITIS_IncidentResponseEquipment_marine_equipment_other = 10034, - J2540ITIS_IncidentResponseEquipment_fire_boat_with_pump = 10035, - J2540ITIS_IncidentResponseEquipment_boat_no_pump = 10036, - J2540ITIS_IncidentResponseEquipment_support_apparatus_other = 10044, - J2540ITIS_IncidentResponseEquipment_breathing_apparatus_support = 10045, - J2540ITIS_IncidentResponseEquipment_light_and_air_unit = 10046, - J2540ITIS_IncidentResponseEquipment_medical_rescue_unit_other = 10054, - J2540ITIS_IncidentResponseEquipment_rescue_unit = 10055, - J2540ITIS_IncidentResponseEquipment_urban_search_rescue_unit = 10056, - J2540ITIS_IncidentResponseEquipment_high_angle_rescue = 10057, - J2540ITIS_IncidentResponseEquipment_crash_fire_rescue = 10058, - J2540ITIS_IncidentResponseEquipment_bLS_unit = 10059, - J2540ITIS_IncidentResponseEquipment_aLS_unit = 10060, - J2540ITIS_IncidentResponseEquipment_mobile_command_post = 10075, - J2540ITIS_IncidentResponseEquipment_chief_officer_car = 10076, - J2540ITIS_IncidentResponseEquipment_hAZMAT_unit = 10077, - J2540ITIS_IncidentResponseEquipment_type_i_hand_crew = 10078, - J2540ITIS_IncidentResponseEquipment_type_ii_hand_crew = 10079, - J2540ITIS_IncidentResponseEquipment_privately_owned_vehicle = 10083, - J2540ITIS_IncidentResponseEquipment_other_apparatus_resource = 10084, - J2540ITIS_IncidentResponseEquipment_ambulance = 10085, - J2540ITIS_IncidentResponseEquipment_bomb_squad_van = 10086, - J2540ITIS_IncidentResponseEquipment_combine_harvester = 10087, - J2540ITIS_IncidentResponseEquipment_construction_vehicle = 10088, - J2540ITIS_IncidentResponseEquipment_farm_tractor = 10089, - J2540ITIS_IncidentResponseEquipment_grass_cutting_machines = 10090, - J2540ITIS_IncidentResponseEquipment_hAZMAT_containment_tow = 10091, - J2540ITIS_IncidentResponseEquipment_heavy_tow = 10092, - J2540ITIS_IncidentResponseEquipment_light_tow = 10094, - J2540ITIS_IncidentResponseEquipment_flatbed_tow = 10114, - J2540ITIS_IncidentResponseEquipment_hedge_cutting_machines = 10093, - J2540ITIS_IncidentResponseEquipment_mobile_crane = 10095, - J2540ITIS_IncidentResponseEquipment_refuse_collection_vehicle = 10096, - J2540ITIS_IncidentResponseEquipment_resurfacing_vehicle = 10097, - J2540ITIS_IncidentResponseEquipment_road_sweeper = 10098, - J2540ITIS_IncidentResponseEquipment_survey_crews = 10115, - J2540ITIS_IncidentResponseEquipment_roadside_litter_collection_crews = 10099, - J2540ITIS_IncidentResponseEquipment_salvage_vehicle = 10100, - J2540ITIS_IncidentResponseEquipment_sand_truck = 10101, - J2540ITIS_IncidentResponseEquipment_snowplow = 10102, - J2540ITIS_IncidentResponseEquipment_steam_roller = 10103, - J2540ITIS_IncidentResponseEquipment_swat_team_van = 10104, - J2540ITIS_IncidentResponseEquipment_track_laying_vehicle = 10105, - J2540ITIS_IncidentResponseEquipment_unknown_vehicle = 10106, - J2540ITIS_IncidentResponseEquipment_white_lining_vehicle = 10107, - J2540ITIS_IncidentResponseEquipment_dump_truck = 10108, - J2540ITIS_IncidentResponseEquipment_supervisor_vehicle = 10109, - J2540ITIS_IncidentResponseEquipment_snow_blower = 10110, - J2540ITIS_IncidentResponseEquipment_rotary_snow_blower = 10111, - J2540ITIS_IncidentResponseEquipment_road_grader = 10112, - J2540ITIS_IncidentResponseEquipment_steam_truck = 10113 -} e_J2540ITIS_IncidentResponseEquipment; - -/* J2540ITIS_IncidentResponseEquipment */ -typedef long J2540ITIS_IncidentResponseEquipment_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_J2540ITIS_IncidentResponseEquipment_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_J2540ITIS_IncidentResponseEquipment; -asn_struct_free_f J2540ITIS_IncidentResponseEquipment_free; -asn_struct_print_f J2540ITIS_IncidentResponseEquipment_print; -asn_constr_check_f J2540ITIS_IncidentResponseEquipment_constraint; -ber_type_decoder_f J2540ITIS_IncidentResponseEquipment_decode_ber; -der_type_encoder_f J2540ITIS_IncidentResponseEquipment_encode_der; -xer_type_decoder_f J2540ITIS_IncidentResponseEquipment_decode_xer; -xer_type_encoder_f J2540ITIS_IncidentResponseEquipment_encode_xer; -oer_type_decoder_f J2540ITIS_IncidentResponseEquipment_decode_oer; -oer_type_encoder_f J2540ITIS_IncidentResponseEquipment_encode_oer; -per_type_decoder_f J2540ITIS_IncidentResponseEquipment_decode_uper; -per_type_encoder_f J2540ITIS_IncidentResponseEquipment_encode_uper; -per_type_decoder_f J2540ITIS_IncidentResponseEquipment_decode_aper; -per_type_encoder_f J2540ITIS_IncidentResponseEquipment_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _J2540ITIS_IncidentResponseEquipment_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ResponderGroupAffected.c b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ResponderGroupAffected.c new file mode 100644 index 000000000..cde855d1b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ResponderGroupAffected.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "J2540ITIS_ResponderGroupAffected.h" + +int +J2540ITIS_ResponderGroupAffected_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_J2540ITIS_ResponderGroupAffected_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_J2540ITIS_ResponderGroupAffected_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_J2540ITIS_ResponderGroupAffected_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_J2540ITIS_ResponderGroupAffected = { + "ResponderGroupAffected", + "ResponderGroupAffected", + &asn_OP_NativeInteger, + asn_DEF_J2540ITIS_ResponderGroupAffected_tags_1, + sizeof(asn_DEF_J2540ITIS_ResponderGroupAffected_tags_1) + /sizeof(asn_DEF_J2540ITIS_ResponderGroupAffected_tags_1[0]), /* 1 */ + asn_DEF_J2540ITIS_ResponderGroupAffected_tags_1, /* Same as above */ + sizeof(asn_DEF_J2540ITIS_ResponderGroupAffected_tags_1) + /sizeof(asn_DEF_J2540ITIS_ResponderGroupAffected_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_J2540ITIS_ResponderGroupAffected_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_J2540ITIS_ResponderGroupAffected_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + J2540ITIS_ResponderGroupAffected_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ResponderGroupAffected.h b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ResponderGroupAffected.h deleted file mode 100644 index 7b531ee1e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_ResponderGroupAffected.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _J2540ITIS_ResponderGroupAffected_H_ -#define _J2540ITIS_ResponderGroupAffected_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum J2540ITIS_ResponderGroupAffected { - J2540ITIS_ResponderGroupAffected_emergency_vehicle_units = 9729, - J2540ITIS_ResponderGroupAffected_federal_law_enforcement_units = 9730, - J2540ITIS_ResponderGroupAffected_state_police_units = 9731, - J2540ITIS_ResponderGroupAffected_county_police_units = 9732, - J2540ITIS_ResponderGroupAffected_local_police_units = 9733, - J2540ITIS_ResponderGroupAffected_ambulance_units = 9734, - J2540ITIS_ResponderGroupAffected_rescue_units = 9735, - J2540ITIS_ResponderGroupAffected_fire_units = 9736, - J2540ITIS_ResponderGroupAffected_hAZMAT_units = 9737, - J2540ITIS_ResponderGroupAffected_light_tow_unit = 9738, - J2540ITIS_ResponderGroupAffected_heavy_tow_unit = 9739, - J2540ITIS_ResponderGroupAffected_private_tow_units = 9743, - J2540ITIS_ResponderGroupAffected_freeway_service_patrols = 9740, - J2540ITIS_ResponderGroupAffected_transportation_response_units = 9741, - J2540ITIS_ResponderGroupAffected_private_contractor_response_units = 9742 -} e_J2540ITIS_ResponderGroupAffected; - -/* J2540ITIS_ResponderGroupAffected */ -typedef long J2540ITIS_ResponderGroupAffected_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_J2540ITIS_ResponderGroupAffected_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_J2540ITIS_ResponderGroupAffected; -asn_struct_free_f J2540ITIS_ResponderGroupAffected_free; -asn_struct_print_f J2540ITIS_ResponderGroupAffected_print; -asn_constr_check_f J2540ITIS_ResponderGroupAffected_constraint; -ber_type_decoder_f J2540ITIS_ResponderGroupAffected_decode_ber; -der_type_encoder_f J2540ITIS_ResponderGroupAffected_encode_der; -xer_type_decoder_f J2540ITIS_ResponderGroupAffected_decode_xer; -xer_type_encoder_f J2540ITIS_ResponderGroupAffected_encode_xer; -oer_type_decoder_f J2540ITIS_ResponderGroupAffected_decode_oer; -oer_type_encoder_f J2540ITIS_ResponderGroupAffected_encode_oer; -per_type_decoder_f J2540ITIS_ResponderGroupAffected_decode_uper; -per_type_encoder_f J2540ITIS_ResponderGroupAffected_encode_uper; -per_type_decoder_f J2540ITIS_ResponderGroupAffected_decode_aper; -per_type_encoder_f J2540ITIS_ResponderGroupAffected_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _J2540ITIS_ResponderGroupAffected_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_VehicleGroupAffected.c b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_VehicleGroupAffected.c new file mode 100644 index 000000000..b18db5ed4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_VehicleGroupAffected.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "J2540ITIS_VehicleGroupAffected.h" + +int +J2540ITIS_VehicleGroupAffected_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_J2540ITIS_VehicleGroupAffected_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_J2540ITIS_VehicleGroupAffected_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_J2540ITIS_VehicleGroupAffected_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_J2540ITIS_VehicleGroupAffected = { + "VehicleGroupAffected", + "VehicleGroupAffected", + &asn_OP_NativeInteger, + asn_DEF_J2540ITIS_VehicleGroupAffected_tags_1, + sizeof(asn_DEF_J2540ITIS_VehicleGroupAffected_tags_1) + /sizeof(asn_DEF_J2540ITIS_VehicleGroupAffected_tags_1[0]), /* 1 */ + asn_DEF_J2540ITIS_VehicleGroupAffected_tags_1, /* Same as above */ + sizeof(asn_DEF_J2540ITIS_VehicleGroupAffected_tags_1) + /sizeof(asn_DEF_J2540ITIS_VehicleGroupAffected_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_J2540ITIS_VehicleGroupAffected_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_J2540ITIS_VehicleGroupAffected_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + J2540ITIS_VehicleGroupAffected_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_VehicleGroupAffected.h b/src/tmx/Asn_J2735/src/r2024/J2540ITIS_VehicleGroupAffected.h deleted file mode 100644 index 77e32e84e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/J2540ITIS_VehicleGroupAffected.h +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _J2540ITIS_VehicleGroupAffected_H_ -#define _J2540ITIS_VehicleGroupAffected_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum J2540ITIS_VehicleGroupAffected { - J2540ITIS_VehicleGroupAffected_all_vehicles = 9217, - J2540ITIS_VehicleGroupAffected_bicycles = 9218, - J2540ITIS_VehicleGroupAffected_motorcycles = 9219, - J2540ITIS_VehicleGroupAffected_cars = 9220, - J2540ITIS_VehicleGroupAffected_light_vehicles = 9221, - J2540ITIS_VehicleGroupAffected_cars_and_light_vehicles = 9222, - J2540ITIS_VehicleGroupAffected_cars_with_trailers = 9223, - J2540ITIS_VehicleGroupAffected_cars_with_recreational_trailers = 9224, - J2540ITIS_VehicleGroupAffected_vehicles_with_trailers = 9225, - J2540ITIS_VehicleGroupAffected_heavy_vehicles = 9226, - J2540ITIS_VehicleGroupAffected_trucks = 9227, - J2540ITIS_VehicleGroupAffected_buses = 9228, - J2540ITIS_VehicleGroupAffected_articulated_buses = 9229, - J2540ITIS_VehicleGroupAffected_school_buses = 9230, - J2540ITIS_VehicleGroupAffected_vehicles_with_semi_trailers = 9231, - J2540ITIS_VehicleGroupAffected_vehicles_with_double_trailers = 9232, - J2540ITIS_VehicleGroupAffected_high_profile_vehicles = 9233, - J2540ITIS_VehicleGroupAffected_wide_vehicles = 9234, - J2540ITIS_VehicleGroupAffected_long_vehicles = 9235, - J2540ITIS_VehicleGroupAffected_hazardous_loads = 9236, - J2540ITIS_VehicleGroupAffected_exceptional_loads = 9237, - J2540ITIS_VehicleGroupAffected_abnormal_loads = 9238, - J2540ITIS_VehicleGroupAffected_convoys = 9239, - J2540ITIS_VehicleGroupAffected_maintenance_vehicles = 9240, - J2540ITIS_VehicleGroupAffected_delivery_vehicles = 9241, - J2540ITIS_VehicleGroupAffected_vehicles_with_even_numbered_license_plates = 9242, - J2540ITIS_VehicleGroupAffected_vehicles_with_odd_numbered_license_plates = 9243, - J2540ITIS_VehicleGroupAffected_vehicles_with_parking_permits = 9244, - J2540ITIS_VehicleGroupAffected_vehicles_with_catalytic_converters = 9245, - J2540ITIS_VehicleGroupAffected_vehicles_without_catalytic_converters = 9246, - J2540ITIS_VehicleGroupAffected_gas_powered_vehicles = 9247, - J2540ITIS_VehicleGroupAffected_diesel_powered_vehicles = 9248, - J2540ITIS_VehicleGroupAffected_lPG_vehicles = 9249, - J2540ITIS_VehicleGroupAffected_military_convoys = 9250, - J2540ITIS_VehicleGroupAffected_military_vehicles = 9251, - J2540ITIS_VehicleGroupAffected_electric_powered_vehicles = 9252, - J2540ITIS_VehicleGroupAffected_hybrid_powered_vehicles = 9253, - J2540ITIS_VehicleGroupAffected_inherently_low_emission_vehicles = 9254, - J2540ITIS_VehicleGroupAffected_commercial_vehicles = 9255, - J2540ITIS_VehicleGroupAffected_runaway_vehicles = 9256, - J2540ITIS_VehicleGroupAffected_vehicles_with_lugs = 9257, - J2540ITIS_VehicleGroupAffected_motor_driven_cycles = 9258, - J2540ITIS_VehicleGroupAffected_recreational_vehicles = 9259, - J2540ITIS_VehicleGroupAffected_non_motorized_vehicles = 9260, - J2540ITIS_VehicleGroupAffected_traffic = 9261 -} e_J2540ITIS_VehicleGroupAffected; - -/* J2540ITIS_VehicleGroupAffected */ -typedef long J2540ITIS_VehicleGroupAffected_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_J2540ITIS_VehicleGroupAffected_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_J2540ITIS_VehicleGroupAffected; -asn_struct_free_f J2540ITIS_VehicleGroupAffected_free; -asn_struct_print_f J2540ITIS_VehicleGroupAffected_print; -asn_constr_check_f J2540ITIS_VehicleGroupAffected_constraint; -ber_type_decoder_f J2540ITIS_VehicleGroupAffected_decode_ber; -der_type_encoder_f J2540ITIS_VehicleGroupAffected_encode_der; -xer_type_decoder_f J2540ITIS_VehicleGroupAffected_decode_xer; -xer_type_encoder_f J2540ITIS_VehicleGroupAffected_encode_xer; -oer_type_decoder_f J2540ITIS_VehicleGroupAffected_decode_oer; -oer_type_encoder_f J2540ITIS_VehicleGroupAffected_encode_oer; -per_type_decoder_f J2540ITIS_VehicleGroupAffected_decode_uper; -per_type_encoder_f J2540ITIS_VehicleGroupAffected_encode_uper; -per_type_decoder_f J2540ITIS_VehicleGroupAffected_decode_aper; -per_type_encoder_f J2540ITIS_VehicleGroupAffected_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _J2540ITIS_VehicleGroupAffected_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Barrier.c b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Barrier.c new file mode 100644 index 000000000..bb52bc47f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Barrier.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneAttributes-Barrier.h" + +int +LaneAttributes_Barrier_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneAttributes_Barrier_constr_1 CC_NOTUSED = { + { 0, 0 }, + 16 /* (SIZE(16..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneAttributes_Barrier_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LaneAttributes_Barrier_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Barrier = { + "LaneAttributes-Barrier", + "LaneAttributes-Barrier", + &asn_OP_BIT_STRING, + asn_DEF_LaneAttributes_Barrier_tags_1, + sizeof(asn_DEF_LaneAttributes_Barrier_tags_1) + /sizeof(asn_DEF_LaneAttributes_Barrier_tags_1[0]), /* 1 */ + asn_DEF_LaneAttributes_Barrier_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneAttributes_Barrier_tags_1) + /sizeof(asn_DEF_LaneAttributes_Barrier_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneAttributes_Barrier_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneAttributes_Barrier_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LaneAttributes_Barrier_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Barrier.h b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Barrier.h deleted file mode 100644 index 8f078d46d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Barrier.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneAttributes_Barrier_H_ -#define _LaneAttributes_Barrier_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LaneAttributes_Barrier { - LaneAttributes_Barrier_median_RevocableLane = 0, - LaneAttributes_Barrier_median = 1, - LaneAttributes_Barrier_whiteLineHashing = 2, - LaneAttributes_Barrier_stripedLines = 3, - LaneAttributes_Barrier_doubleStripedLines = 4, - LaneAttributes_Barrier_trafficCones = 5, - LaneAttributes_Barrier_constructionBarrier = 6, - LaneAttributes_Barrier_trafficChannels = 7, - LaneAttributes_Barrier_lowCurbs = 8, - LaneAttributes_Barrier_highCurbs = 9 -} e_LaneAttributes_Barrier; - -/* LaneAttributes-Barrier */ -typedef BIT_STRING_t LaneAttributes_Barrier_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneAttributes_Barrier_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Barrier; -asn_struct_free_f LaneAttributes_Barrier_free; -asn_struct_print_f LaneAttributes_Barrier_print; -asn_constr_check_f LaneAttributes_Barrier_constraint; -ber_type_decoder_f LaneAttributes_Barrier_decode_ber; -der_type_encoder_f LaneAttributes_Barrier_encode_der; -xer_type_decoder_f LaneAttributes_Barrier_decode_xer; -xer_type_encoder_f LaneAttributes_Barrier_encode_xer; -oer_type_decoder_f LaneAttributes_Barrier_decode_oer; -oer_type_encoder_f LaneAttributes_Barrier_encode_oer; -per_type_decoder_f LaneAttributes_Barrier_decode_uper; -per_type_encoder_f LaneAttributes_Barrier_encode_uper; -per_type_decoder_f LaneAttributes_Barrier_decode_aper; -per_type_encoder_f LaneAttributes_Barrier_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneAttributes_Barrier_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Bike.c b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Bike.c new file mode 100644 index 000000000..55c99996c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Bike.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneAttributes-Bike.h" + +int +LaneAttributes_Bike_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneAttributes_Bike_constr_1 CC_NOTUSED = { + { 0, 0 }, + 16 /* (SIZE(16..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneAttributes_Bike_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LaneAttributes_Bike_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Bike = { + "LaneAttributes-Bike", + "LaneAttributes-Bike", + &asn_OP_BIT_STRING, + asn_DEF_LaneAttributes_Bike_tags_1, + sizeof(asn_DEF_LaneAttributes_Bike_tags_1) + /sizeof(asn_DEF_LaneAttributes_Bike_tags_1[0]), /* 1 */ + asn_DEF_LaneAttributes_Bike_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneAttributes_Bike_tags_1) + /sizeof(asn_DEF_LaneAttributes_Bike_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneAttributes_Bike_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneAttributes_Bike_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LaneAttributes_Bike_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Bike.h b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Bike.h deleted file mode 100644 index 811aa2e40..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Bike.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneAttributes_Bike_H_ -#define _LaneAttributes_Bike_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LaneAttributes_Bike { - LaneAttributes_Bike_bikeRevocableLane = 0, - LaneAttributes_Bike_pedestrianUseAllowed = 1, - LaneAttributes_Bike_isBikeFlyOverLane = 2, - LaneAttributes_Bike_fixedCycleTime = 3, - LaneAttributes_Bike_biDirectionalCycleTimes = 4, - LaneAttributes_Bike_isolatedByBarrier = 5, - LaneAttributes_Bike_unsignalizedSegmentsPresent = 6 -} e_LaneAttributes_Bike; - -/* LaneAttributes-Bike */ -typedef BIT_STRING_t LaneAttributes_Bike_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneAttributes_Bike_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Bike; -asn_struct_free_f LaneAttributes_Bike_free; -asn_struct_print_f LaneAttributes_Bike_print; -asn_constr_check_f LaneAttributes_Bike_constraint; -ber_type_decoder_f LaneAttributes_Bike_decode_ber; -der_type_encoder_f LaneAttributes_Bike_encode_der; -xer_type_decoder_f LaneAttributes_Bike_decode_xer; -xer_type_encoder_f LaneAttributes_Bike_encode_xer; -oer_type_decoder_f LaneAttributes_Bike_decode_oer; -oer_type_encoder_f LaneAttributes_Bike_encode_oer; -per_type_decoder_f LaneAttributes_Bike_decode_uper; -per_type_encoder_f LaneAttributes_Bike_encode_uper; -per_type_decoder_f LaneAttributes_Bike_decode_aper; -per_type_encoder_f LaneAttributes_Bike_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneAttributes_Bike_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Crosswalk.c b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Crosswalk.c new file mode 100644 index 000000000..b047dba4a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Crosswalk.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneAttributes-Crosswalk.h" + +int +LaneAttributes_Crosswalk_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneAttributes_Crosswalk_constr_1 CC_NOTUSED = { + { 0, 0 }, + 16 /* (SIZE(16..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneAttributes_Crosswalk_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LaneAttributes_Crosswalk_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Crosswalk = { + "LaneAttributes-Crosswalk", + "LaneAttributes-Crosswalk", + &asn_OP_BIT_STRING, + asn_DEF_LaneAttributes_Crosswalk_tags_1, + sizeof(asn_DEF_LaneAttributes_Crosswalk_tags_1) + /sizeof(asn_DEF_LaneAttributes_Crosswalk_tags_1[0]), /* 1 */ + asn_DEF_LaneAttributes_Crosswalk_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneAttributes_Crosswalk_tags_1) + /sizeof(asn_DEF_LaneAttributes_Crosswalk_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneAttributes_Crosswalk_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneAttributes_Crosswalk_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LaneAttributes_Crosswalk_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Crosswalk.h b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Crosswalk.h deleted file mode 100644 index 116603360..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Crosswalk.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneAttributes_Crosswalk_H_ -#define _LaneAttributes_Crosswalk_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LaneAttributes_Crosswalk { - LaneAttributes_Crosswalk_crosswalkRevocableLane = 0, - LaneAttributes_Crosswalk_bicyleUseAllowed = 1, - LaneAttributes_Crosswalk_isXwalkFlyOverLane = 2, - LaneAttributes_Crosswalk_fixedCycleTime = 3, - LaneAttributes_Crosswalk_biDirectionalCycleTimes = 4, - LaneAttributes_Crosswalk_hasPushToWalkButton = 5, - LaneAttributes_Crosswalk_audioSupport = 6, - LaneAttributes_Crosswalk_rfSignalRequestPresent = 7, - LaneAttributes_Crosswalk_unsignalizedSegmentsPresent = 8 -} e_LaneAttributes_Crosswalk; - -/* LaneAttributes-Crosswalk */ -typedef BIT_STRING_t LaneAttributes_Crosswalk_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneAttributes_Crosswalk_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Crosswalk; -asn_struct_free_f LaneAttributes_Crosswalk_free; -asn_struct_print_f LaneAttributes_Crosswalk_print; -asn_constr_check_f LaneAttributes_Crosswalk_constraint; -ber_type_decoder_f LaneAttributes_Crosswalk_decode_ber; -der_type_encoder_f LaneAttributes_Crosswalk_encode_der; -xer_type_decoder_f LaneAttributes_Crosswalk_decode_xer; -xer_type_encoder_f LaneAttributes_Crosswalk_encode_xer; -oer_type_decoder_f LaneAttributes_Crosswalk_decode_oer; -oer_type_encoder_f LaneAttributes_Crosswalk_encode_oer; -per_type_decoder_f LaneAttributes_Crosswalk_decode_uper; -per_type_encoder_f LaneAttributes_Crosswalk_encode_uper; -per_type_decoder_f LaneAttributes_Crosswalk_decode_aper; -per_type_encoder_f LaneAttributes_Crosswalk_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneAttributes_Crosswalk_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Parking.c b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Parking.c new file mode 100644 index 000000000..89a849f5f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Parking.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneAttributes-Parking.h" + +int +LaneAttributes_Parking_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneAttributes_Parking_constr_1 CC_NOTUSED = { + { 0, 0 }, + 16 /* (SIZE(16..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneAttributes_Parking_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LaneAttributes_Parking_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Parking = { + "LaneAttributes-Parking", + "LaneAttributes-Parking", + &asn_OP_BIT_STRING, + asn_DEF_LaneAttributes_Parking_tags_1, + sizeof(asn_DEF_LaneAttributes_Parking_tags_1) + /sizeof(asn_DEF_LaneAttributes_Parking_tags_1[0]), /* 1 */ + asn_DEF_LaneAttributes_Parking_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneAttributes_Parking_tags_1) + /sizeof(asn_DEF_LaneAttributes_Parking_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneAttributes_Parking_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneAttributes_Parking_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LaneAttributes_Parking_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Parking.h b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Parking.h deleted file mode 100644 index e7a4037fb..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Parking.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneAttributes_Parking_H_ -#define _LaneAttributes_Parking_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LaneAttributes_Parking { - LaneAttributes_Parking_parkingRevocableLane = 0, - LaneAttributes_Parking_parallelParkingInUse = 1, - LaneAttributes_Parking_headInParkingInUse = 2, - LaneAttributes_Parking_doNotParkZone = 3, - LaneAttributes_Parking_parkingForBusUse = 4, - LaneAttributes_Parking_parkingForTaxiUse = 5, - LaneAttributes_Parking_noPublicParkingUse = 6 -} e_LaneAttributes_Parking; - -/* LaneAttributes-Parking */ -typedef BIT_STRING_t LaneAttributes_Parking_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneAttributes_Parking_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Parking; -asn_struct_free_f LaneAttributes_Parking_free; -asn_struct_print_f LaneAttributes_Parking_print; -asn_constr_check_f LaneAttributes_Parking_constraint; -ber_type_decoder_f LaneAttributes_Parking_decode_ber; -der_type_encoder_f LaneAttributes_Parking_encode_der; -xer_type_decoder_f LaneAttributes_Parking_decode_xer; -xer_type_encoder_f LaneAttributes_Parking_encode_xer; -oer_type_decoder_f LaneAttributes_Parking_decode_oer; -oer_type_encoder_f LaneAttributes_Parking_encode_oer; -per_type_decoder_f LaneAttributes_Parking_decode_uper; -per_type_encoder_f LaneAttributes_Parking_encode_uper; -per_type_decoder_f LaneAttributes_Parking_decode_aper; -per_type_encoder_f LaneAttributes_Parking_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneAttributes_Parking_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Sidewalk.c b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Sidewalk.c new file mode 100644 index 000000000..3c946b107 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Sidewalk.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneAttributes-Sidewalk.h" + +int +LaneAttributes_Sidewalk_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneAttributes_Sidewalk_constr_1 CC_NOTUSED = { + { 0, 0 }, + 16 /* (SIZE(16..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneAttributes_Sidewalk_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LaneAttributes_Sidewalk_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Sidewalk = { + "LaneAttributes-Sidewalk", + "LaneAttributes-Sidewalk", + &asn_OP_BIT_STRING, + asn_DEF_LaneAttributes_Sidewalk_tags_1, + sizeof(asn_DEF_LaneAttributes_Sidewalk_tags_1) + /sizeof(asn_DEF_LaneAttributes_Sidewalk_tags_1[0]), /* 1 */ + asn_DEF_LaneAttributes_Sidewalk_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneAttributes_Sidewalk_tags_1) + /sizeof(asn_DEF_LaneAttributes_Sidewalk_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneAttributes_Sidewalk_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneAttributes_Sidewalk_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LaneAttributes_Sidewalk_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Sidewalk.h b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Sidewalk.h deleted file mode 100644 index a4f541c28..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Sidewalk.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneAttributes_Sidewalk_H_ -#define _LaneAttributes_Sidewalk_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LaneAttributes_Sidewalk { - LaneAttributes_Sidewalk_sidewalk_RevocableLane = 0, - LaneAttributes_Sidewalk_bicyleUseAllowed = 1, - LaneAttributes_Sidewalk_isSidewalkFlyOverLane = 2, - LaneAttributes_Sidewalk_walkBikes = 3 -} e_LaneAttributes_Sidewalk; - -/* LaneAttributes-Sidewalk */ -typedef BIT_STRING_t LaneAttributes_Sidewalk_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneAttributes_Sidewalk_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Sidewalk; -asn_struct_free_f LaneAttributes_Sidewalk_free; -asn_struct_print_f LaneAttributes_Sidewalk_print; -asn_constr_check_f LaneAttributes_Sidewalk_constraint; -ber_type_decoder_f LaneAttributes_Sidewalk_decode_ber; -der_type_encoder_f LaneAttributes_Sidewalk_encode_der; -xer_type_decoder_f LaneAttributes_Sidewalk_decode_xer; -xer_type_encoder_f LaneAttributes_Sidewalk_encode_xer; -oer_type_decoder_f LaneAttributes_Sidewalk_decode_oer; -oer_type_encoder_f LaneAttributes_Sidewalk_encode_oer; -per_type_decoder_f LaneAttributes_Sidewalk_decode_uper; -per_type_encoder_f LaneAttributes_Sidewalk_encode_uper; -per_type_decoder_f LaneAttributes_Sidewalk_decode_aper; -per_type_encoder_f LaneAttributes_Sidewalk_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneAttributes_Sidewalk_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Striping.c b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Striping.c new file mode 100644 index 000000000..e649b4b6e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Striping.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneAttributes-Striping.h" + +int +LaneAttributes_Striping_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneAttributes_Striping_constr_1 CC_NOTUSED = { + { 0, 0 }, + 16 /* (SIZE(16..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneAttributes_Striping_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LaneAttributes_Striping_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Striping = { + "LaneAttributes-Striping", + "LaneAttributes-Striping", + &asn_OP_BIT_STRING, + asn_DEF_LaneAttributes_Striping_tags_1, + sizeof(asn_DEF_LaneAttributes_Striping_tags_1) + /sizeof(asn_DEF_LaneAttributes_Striping_tags_1[0]), /* 1 */ + asn_DEF_LaneAttributes_Striping_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneAttributes_Striping_tags_1) + /sizeof(asn_DEF_LaneAttributes_Striping_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneAttributes_Striping_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneAttributes_Striping_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LaneAttributes_Striping_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Striping.h b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Striping.h deleted file mode 100644 index 41a177e7c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Striping.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneAttributes_Striping_H_ -#define _LaneAttributes_Striping_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LaneAttributes_Striping { - LaneAttributes_Striping_stripeToConnectingLanesRevocableLane = 0, - LaneAttributes_Striping_stripeDrawOnLeft = 1, - LaneAttributes_Striping_stripeDrawOnRight = 2, - LaneAttributes_Striping_stripeToConnectingLanesLeft = 3, - LaneAttributes_Striping_stripeToConnectingLanesRight = 4, - LaneAttributes_Striping_stripeToConnectingLanesAhead = 5 -} e_LaneAttributes_Striping; - -/* LaneAttributes-Striping */ -typedef BIT_STRING_t LaneAttributes_Striping_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneAttributes_Striping_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Striping; -asn_struct_free_f LaneAttributes_Striping_free; -asn_struct_print_f LaneAttributes_Striping_print; -asn_constr_check_f LaneAttributes_Striping_constraint; -ber_type_decoder_f LaneAttributes_Striping_decode_ber; -der_type_encoder_f LaneAttributes_Striping_encode_der; -xer_type_decoder_f LaneAttributes_Striping_decode_xer; -xer_type_encoder_f LaneAttributes_Striping_encode_xer; -oer_type_decoder_f LaneAttributes_Striping_decode_oer; -oer_type_encoder_f LaneAttributes_Striping_encode_oer; -per_type_decoder_f LaneAttributes_Striping_decode_uper; -per_type_encoder_f LaneAttributes_Striping_encode_uper; -per_type_decoder_f LaneAttributes_Striping_decode_aper; -per_type_encoder_f LaneAttributes_Striping_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneAttributes_Striping_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-TrackedVehicle.c b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-TrackedVehicle.c new file mode 100644 index 000000000..70dd1f1ed --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-TrackedVehicle.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneAttributes-TrackedVehicle.h" + +int +LaneAttributes_TrackedVehicle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneAttributes_TrackedVehicle_constr_1 CC_NOTUSED = { + { 0, 0 }, + 16 /* (SIZE(16..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneAttributes_TrackedVehicle_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LaneAttributes_TrackedVehicle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneAttributes_TrackedVehicle = { + "LaneAttributes-TrackedVehicle", + "LaneAttributes-TrackedVehicle", + &asn_OP_BIT_STRING, + asn_DEF_LaneAttributes_TrackedVehicle_tags_1, + sizeof(asn_DEF_LaneAttributes_TrackedVehicle_tags_1) + /sizeof(asn_DEF_LaneAttributes_TrackedVehicle_tags_1[0]), /* 1 */ + asn_DEF_LaneAttributes_TrackedVehicle_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneAttributes_TrackedVehicle_tags_1) + /sizeof(asn_DEF_LaneAttributes_TrackedVehicle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneAttributes_TrackedVehicle_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneAttributes_TrackedVehicle_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LaneAttributes_TrackedVehicle_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-TrackedVehicle.h b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-TrackedVehicle.h deleted file mode 100644 index f6d973768..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-TrackedVehicle.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneAttributes_TrackedVehicle_H_ -#define _LaneAttributes_TrackedVehicle_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LaneAttributes_TrackedVehicle { - LaneAttributes_TrackedVehicle_spec_RevocableLane = 0, - LaneAttributes_TrackedVehicle_spec_commuterRailRoadTrack = 1, - LaneAttributes_TrackedVehicle_spec_lightRailRoadTrack = 2, - LaneAttributes_TrackedVehicle_spec_heavyRailRoadTrack = 3, - LaneAttributes_TrackedVehicle_spec_otherRailType = 4 -} e_LaneAttributes_TrackedVehicle; - -/* LaneAttributes-TrackedVehicle */ -typedef BIT_STRING_t LaneAttributes_TrackedVehicle_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneAttributes_TrackedVehicle_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneAttributes_TrackedVehicle; -asn_struct_free_f LaneAttributes_TrackedVehicle_free; -asn_struct_print_f LaneAttributes_TrackedVehicle_print; -asn_constr_check_f LaneAttributes_TrackedVehicle_constraint; -ber_type_decoder_f LaneAttributes_TrackedVehicle_decode_ber; -der_type_encoder_f LaneAttributes_TrackedVehicle_encode_der; -xer_type_decoder_f LaneAttributes_TrackedVehicle_decode_xer; -xer_type_encoder_f LaneAttributes_TrackedVehicle_encode_xer; -oer_type_decoder_f LaneAttributes_TrackedVehicle_decode_oer; -oer_type_encoder_f LaneAttributes_TrackedVehicle_encode_oer; -per_type_decoder_f LaneAttributes_TrackedVehicle_decode_uper; -per_type_encoder_f LaneAttributes_TrackedVehicle_encode_uper; -per_type_decoder_f LaneAttributes_TrackedVehicle_decode_aper; -per_type_encoder_f LaneAttributes_TrackedVehicle_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneAttributes_TrackedVehicle_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Vehicle.c b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Vehicle.c new file mode 100644 index 000000000..b67d2b8a8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Vehicle.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneAttributes-Vehicle.h" + +int +LaneAttributes_Vehicle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneAttributes_Vehicle_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneAttributes_Vehicle_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 8, 8 } /* (SIZE(8..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LaneAttributes_Vehicle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Vehicle = { + "LaneAttributes-Vehicle", + "LaneAttributes-Vehicle", + &asn_OP_BIT_STRING, + asn_DEF_LaneAttributes_Vehicle_tags_1, + sizeof(asn_DEF_LaneAttributes_Vehicle_tags_1) + /sizeof(asn_DEF_LaneAttributes_Vehicle_tags_1[0]), /* 1 */ + asn_DEF_LaneAttributes_Vehicle_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneAttributes_Vehicle_tags_1) + /sizeof(asn_DEF_LaneAttributes_Vehicle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneAttributes_Vehicle_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneAttributes_Vehicle_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LaneAttributes_Vehicle_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Vehicle.h b/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Vehicle.h deleted file mode 100644 index 928bf6ffe..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneAttributes-Vehicle.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneAttributes_Vehicle_H_ -#define _LaneAttributes_Vehicle_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LaneAttributes_Vehicle { - LaneAttributes_Vehicle_isVehicleRevocableLane = 0, - LaneAttributes_Vehicle_isVehicleFlyOverLane = 1, - LaneAttributes_Vehicle_hovLaneUseOnly = 2, - LaneAttributes_Vehicle_restrictedToBusUse = 3, - LaneAttributes_Vehicle_restrictedToTaxiUse = 4, - LaneAttributes_Vehicle_restrictedFromPublicUse = 5, - LaneAttributes_Vehicle_hasIRbeaconCoverage = 6, - LaneAttributes_Vehicle_permissionOnRequest = 7 -} e_LaneAttributes_Vehicle; - -/* LaneAttributes-Vehicle */ -typedef BIT_STRING_t LaneAttributes_Vehicle_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneAttributes_Vehicle_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneAttributes_Vehicle; -asn_struct_free_f LaneAttributes_Vehicle_free; -asn_struct_print_f LaneAttributes_Vehicle_print; -asn_constr_check_f LaneAttributes_Vehicle_constraint; -ber_type_decoder_f LaneAttributes_Vehicle_decode_ber; -der_type_encoder_f LaneAttributes_Vehicle_encode_der; -xer_type_decoder_f LaneAttributes_Vehicle_decode_xer; -xer_type_encoder_f LaneAttributes_Vehicle_encode_xer; -oer_type_decoder_f LaneAttributes_Vehicle_decode_oer; -oer_type_encoder_f LaneAttributes_Vehicle_encode_oer; -per_type_decoder_f LaneAttributes_Vehicle_decode_uper; -per_type_encoder_f LaneAttributes_Vehicle_encode_uper; -per_type_decoder_f LaneAttributes_Vehicle_decode_aper; -per_type_encoder_f LaneAttributes_Vehicle_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneAttributes_Vehicle_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes.c b/src/tmx/Asn_J2735/src/r2024/LaneAttributes.c new file mode 100644 index 000000000..6e408c7bf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneAttributes.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneAttributes.h" + +asn_TYPE_member_t asn_MBR_LaneAttributes_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct LaneAttributes, directionalUse), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneDirection, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "directionalUse" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneAttributes, sharedWith), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneSharing, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sharedWith" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneAttributes, laneType), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_LaneTypeAttributes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneType" + }, + { ATF_POINTER, 1, offsetof(struct LaneAttributes, regional), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_LaneAttributes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_LaneAttributes_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_LaneAttributes_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_LaneAttributes_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* directionalUse */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sharedWith */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* laneType */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_LaneAttributes_specs_1 = { + sizeof(struct LaneAttributes), + offsetof(struct LaneAttributes, _asn_ctx), + asn_MAP_LaneAttributes_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_LaneAttributes_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_LaneAttributes = { + "LaneAttributes", + "LaneAttributes", + &asn_OP_SEQUENCE, + asn_DEF_LaneAttributes_tags_1, + sizeof(asn_DEF_LaneAttributes_tags_1) + /sizeof(asn_DEF_LaneAttributes_tags_1[0]), /* 1 */ + asn_DEF_LaneAttributes_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneAttributes_tags_1) + /sizeof(asn_DEF_LaneAttributes_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_LaneAttributes_1, + 4, /* Elements count */ + &asn_SPC_LaneAttributes_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneAttributes.h b/src/tmx/Asn_J2735/src/r2024/LaneAttributes.h deleted file mode 100644 index 5d902d7fd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneAttributes.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneAttributes_H_ -#define _LaneAttributes_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LaneDirection.h" -#include "LaneSharing.h" -#include "LaneTypeAttributes.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_LaneAttributes; - -/* LaneAttributes */ -typedef struct LaneAttributes { - LaneDirection_t directionalUse; - LaneSharing_t sharedWith; - LaneTypeAttributes_t laneType; - struct Reg_LaneAttributes *regional; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LaneAttributes_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LaneAttributes; -extern asn_SEQUENCE_specifics_t asn_SPC_LaneAttributes_specs_1; -extern asn_TYPE_member_t asn_MBR_LaneAttributes_1[4]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _LaneAttributes_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneChargesTable.c b/src/tmx/Asn_J2735/src/r2024/LaneChargesTable.c new file mode 100644 index 000000000..87c615120 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneChargesTable.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneChargesTable.h" + +asn_TYPE_member_t asn_MBR_LaneChargesTable_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct LaneChargesTable, laneId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneId" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneChargesTable, chargesTable), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargesTable" + }, +}; +static const ber_tlv_tag_t asn_DEF_LaneChargesTable_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_LaneChargesTable_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* laneId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* chargesTable */ +}; +asn_SEQUENCE_specifics_t asn_SPC_LaneChargesTable_specs_1 = { + sizeof(struct LaneChargesTable), + offsetof(struct LaneChargesTable, _asn_ctx), + asn_MAP_LaneChargesTable_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_LaneChargesTable = { + "LaneChargesTable", + "LaneChargesTable", + &asn_OP_SEQUENCE, + asn_DEF_LaneChargesTable_tags_1, + sizeof(asn_DEF_LaneChargesTable_tags_1) + /sizeof(asn_DEF_LaneChargesTable_tags_1[0]), /* 1 */ + asn_DEF_LaneChargesTable_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneChargesTable_tags_1) + /sizeof(asn_DEF_LaneChargesTable_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_LaneChargesTable_1, + 2, /* Elements count */ + &asn_SPC_LaneChargesTable_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneChargesTable.h b/src/tmx/Asn_J2735/src/r2024/LaneChargesTable.h deleted file mode 100644 index 61422c7e4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneChargesTable.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneChargesTable_H_ -#define _LaneChargesTable_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LaneID.h" -#include "ChargesTable.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LaneChargesTable */ -typedef struct LaneChargesTable { - LaneID_t laneId; - ChargesTable_t chargesTable; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LaneChargesTable_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LaneChargesTable; -extern asn_SEQUENCE_specifics_t asn_SPC_LaneChargesTable_specs_1; -extern asn_TYPE_member_t asn_MBR_LaneChargesTable_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneChargesTable_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneClosed.c b/src/tmx/Asn_J2735/src/r2024/LaneClosed.c new file mode 100644 index 000000000..5a2ce6734 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneClosed.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneClosed.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_LaneClosed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneClosed = { + "LaneClosed", + "LaneClosed", + &asn_OP_BOOLEAN, + asn_DEF_LaneClosed_tags_1, + sizeof(asn_DEF_LaneClosed_tags_1) + /sizeof(asn_DEF_LaneClosed_tags_1[0]), /* 1 */ + asn_DEF_LaneClosed_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneClosed_tags_1) + /sizeof(asn_DEF_LaneClosed_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneClosed.h b/src/tmx/Asn_J2735/src/r2024/LaneClosed.h deleted file mode 100644 index 55ceaab77..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneClosed.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneClosed_H_ -#define _LaneClosed_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LaneClosed */ -typedef BOOLEAN_t LaneClosed_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LaneClosed; -asn_struct_free_f LaneClosed_free; -asn_struct_print_f LaneClosed_print; -asn_constr_check_f LaneClosed_constraint; -ber_type_decoder_f LaneClosed_decode_ber; -der_type_encoder_f LaneClosed_encode_der; -xer_type_decoder_f LaneClosed_decode_xer; -xer_type_encoder_f LaneClosed_encode_xer; -oer_type_decoder_f LaneClosed_decode_oer; -oer_type_encoder_f LaneClosed_encode_oer; -per_type_decoder_f LaneClosed_decode_uper; -per_type_encoder_f LaneClosed_encode_uper; -per_type_decoder_f LaneClosed_decode_aper; -per_type_encoder_f LaneClosed_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneClosed_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneClosureContainer.c b/src/tmx/Asn_J2735/src/r2024/LaneClosureContainer.c new file mode 100644 index 000000000..987ed4016 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneClosureContainer.c @@ -0,0 +1,207 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneClosureContainer.h" + +static int +memb_laneStatus_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 10UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_laneStatus_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_laneStatus_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (SIZE(1..10,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_laneStatus_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_laneStatus_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (SIZE(1..10,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_laneStatus_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_LaneInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_laneStatus_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_laneStatus_specs_2 = { + sizeof(struct LaneClosureContainer__laneStatus), + offsetof(struct LaneClosureContainer__laneStatus, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_laneStatus_2 = { + "laneStatus", + "laneStatus", + &asn_OP_SEQUENCE_OF, + asn_DEF_laneStatus_tags_2, + sizeof(asn_DEF_laneStatus_tags_2) + /sizeof(asn_DEF_laneStatus_tags_2[0]) - 1, /* 1 */ + asn_DEF_laneStatus_tags_2, /* Same as above */ + sizeof(asn_DEF_laneStatus_tags_2) + /sizeof(asn_DEF_laneStatus_tags_2[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_laneStatus_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_laneStatus_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_laneStatus_2, + 1, /* Single element */ + &asn_SPC_laneStatus_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_LaneClosureContainer_1[] = { + { ATF_POINTER, 2, offsetof(struct LaneClosureContainer, laneStatus), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_laneStatus_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_laneStatus_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_laneStatus_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_laneStatus_constraint_1 + }, + 0, 0, /* No default value */ + "laneStatus" + }, + { ATF_POINTER, 1, offsetof(struct LaneClosureContainer, laneStatusVaries), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Activity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneStatusVaries" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneClosureContainer, closureRegion), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "closureRegion" + }, +}; +static const int asn_MAP_LaneClosureContainer_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_LaneClosureContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_LaneClosureContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* laneStatus */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* laneStatusVaries */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* closureRegion */ +}; +asn_SEQUENCE_specifics_t asn_SPC_LaneClosureContainer_specs_1 = { + sizeof(struct LaneClosureContainer), + offsetof(struct LaneClosureContainer, _asn_ctx), + asn_MAP_LaneClosureContainer_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_LaneClosureContainer_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_LaneClosureContainer = { + "LaneClosureContainer", + "LaneClosureContainer", + &asn_OP_SEQUENCE, + asn_DEF_LaneClosureContainer_tags_1, + sizeof(asn_DEF_LaneClosureContainer_tags_1) + /sizeof(asn_DEF_LaneClosureContainer_tags_1[0]), /* 1 */ + asn_DEF_LaneClosureContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneClosureContainer_tags_1) + /sizeof(asn_DEF_LaneClosureContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_LaneClosureContainer_1, + 3, /* Elements count */ + &asn_SPC_LaneClosureContainer_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneClosureContainer.h b/src/tmx/Asn_J2735/src/r2024/LaneClosureContainer.h deleted file mode 100644 index 7b05051a4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneClosureContainer.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneClosureContainer_H_ -#define _LaneClosureContainer_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Activity.h" -#include "RegionInfo.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct LaneInfo; - -/* LaneClosureContainer */ -typedef struct LaneClosureContainer { - struct LaneClosureContainer__laneStatus { - A_SEQUENCE_OF(struct LaneInfo) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *laneStatus; - Activity_t *laneStatusVaries; /* OPTIONAL */ - RegionInfo_t closureRegion; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LaneClosureContainer_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LaneClosureContainer; -extern asn_SEQUENCE_specifics_t asn_SPC_LaneClosureContainer_specs_1; -extern asn_TYPE_member_t asn_MBR_LaneClosureContainer_1[3]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "LaneInfo.h" - -#endif /* _LaneClosureContainer_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneConnectionID.c b/src/tmx/Asn_J2735/src/r2024/LaneConnectionID.c new file mode 100644 index 000000000..bdadf77ed --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneConnectionID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneConnectionID.h" + +int +LaneConnectionID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneConnectionID_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneConnectionID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LaneConnectionID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneConnectionID = { + "LaneConnectionID", + "LaneConnectionID", + &asn_OP_NativeInteger, + asn_DEF_LaneConnectionID_tags_1, + sizeof(asn_DEF_LaneConnectionID_tags_1) + /sizeof(asn_DEF_LaneConnectionID_tags_1[0]), /* 1 */ + asn_DEF_LaneConnectionID_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneConnectionID_tags_1) + /sizeof(asn_DEF_LaneConnectionID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneConnectionID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneConnectionID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LaneConnectionID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneConnectionID.h b/src/tmx/Asn_J2735/src/r2024/LaneConnectionID.h deleted file mode 100644 index 4599f687c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneConnectionID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneConnectionID_H_ -#define _LaneConnectionID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LaneConnectionID */ -typedef long LaneConnectionID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneConnectionID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneConnectionID; -asn_struct_free_f LaneConnectionID_free; -asn_struct_print_f LaneConnectionID_print; -asn_constr_check_f LaneConnectionID_constraint; -ber_type_decoder_f LaneConnectionID_decode_ber; -der_type_encoder_f LaneConnectionID_encode_der; -xer_type_decoder_f LaneConnectionID_decode_xer; -xer_type_encoder_f LaneConnectionID_encode_xer; -oer_type_decoder_f LaneConnectionID_decode_oer; -oer_type_encoder_f LaneConnectionID_encode_oer; -per_type_decoder_f LaneConnectionID_decode_uper; -per_type_encoder_f LaneConnectionID_encode_uper; -per_type_decoder_f LaneConnectionID_decode_aper; -per_type_encoder_f LaneConnectionID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneConnectionID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneDataAttribute-addGrpB.c b/src/tmx/Asn_J2735/src/r2024/LaneDataAttribute-addGrpB.c new file mode 100644 index 000000000..38f07822e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneDataAttribute-addGrpB.c @@ -0,0 +1,43 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneDataAttribute-addGrpB.h" + +static const ber_tlv_tag_t asn_DEF_LaneDataAttribute_addGrpB_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SEQUENCE_specifics_t asn_SPC_LaneDataAttribute_addGrpB_specs_1 = { + sizeof(struct LaneDataAttribute_addGrpB), + offsetof(struct LaneDataAttribute_addGrpB, _asn_ctx), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 0, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_LaneDataAttribute_addGrpB = { + "LaneDataAttribute-addGrpB", + "LaneDataAttribute-addGrpB", + &asn_OP_SEQUENCE, + asn_DEF_LaneDataAttribute_addGrpB_tags_1, + sizeof(asn_DEF_LaneDataAttribute_addGrpB_tags_1) + /sizeof(asn_DEF_LaneDataAttribute_addGrpB_tags_1[0]), /* 1 */ + asn_DEF_LaneDataAttribute_addGrpB_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneDataAttribute_addGrpB_tags_1) + /sizeof(asn_DEF_LaneDataAttribute_addGrpB_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_LaneDataAttribute_addGrpB_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneDataAttribute-addGrpB.h b/src/tmx/Asn_J2735/src/r2024/LaneDataAttribute-addGrpB.h deleted file mode 100644 index ebd3f1c8a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneDataAttribute-addGrpB.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneDataAttribute_addGrpB_H_ -#define _LaneDataAttribute_addGrpB_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LaneDataAttribute-addGrpB */ -typedef struct LaneDataAttribute_addGrpB { - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LaneDataAttribute_addGrpB_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LaneDataAttribute_addGrpB; -extern asn_SEQUENCE_specifics_t asn_SPC_LaneDataAttribute_addGrpB_specs_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneDataAttribute_addGrpB_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneDataAttribute.c b/src/tmx/Asn_J2735/src/r2024/LaneDataAttribute.c new file mode 100644 index 000000000..234254e3e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneDataAttribute.c @@ -0,0 +1,286 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneDataAttribute.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_8 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_8 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneDataAttribute_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneDataAttribute_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_8[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_LaneDataAttribute, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_8[] = { + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_8 = { + sizeof(struct LaneDataAttribute__regional), + offsetof(struct LaneDataAttribute__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_8 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_8, + sizeof(asn_DEF_regional_tags_8) + /sizeof(asn_DEF_regional_tags_8[0]) - 1, /* 1 */ + asn_DEF_regional_tags_8, /* Same as above */ + sizeof(asn_DEF_regional_tags_8) + /sizeof(asn_DEF_regional_tags_8[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_8, + 1, /* Single element */ + &asn_SPC_regional_specs_8 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_LaneDataAttribute_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct LaneDataAttribute, choice.pathEndPointAngle), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DeltaAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pathEndPointAngle" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneDataAttribute, choice.laneCrownPointCenter), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadwayCrownAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneCrownPointCenter" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneDataAttribute, choice.laneCrownPointLeft), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadwayCrownAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneCrownPointLeft" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneDataAttribute, choice.laneCrownPointRight), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadwayCrownAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneCrownPointRight" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneDataAttribute, choice.laneAngle), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MergeDivergeNodeAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneAngle" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneDataAttribute, choice.speedLimits), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedLimitList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedLimits" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneDataAttribute, choice.regional), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + 0, + &asn_DEF_regional_8, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_LaneDataAttribute_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pathEndPointAngle */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* laneCrownPointCenter */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* laneCrownPointLeft */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* laneCrownPointRight */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* laneAngle */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* speedLimits */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* regional */ +}; +asn_CHOICE_specifics_t asn_SPC_LaneDataAttribute_specs_1 = { + sizeof(struct LaneDataAttribute), + offsetof(struct LaneDataAttribute, _asn_ctx), + offsetof(struct LaneDataAttribute, present), + sizeof(((struct LaneDataAttribute *)0)->present), + asn_MAP_LaneDataAttribute_tag2el_1, + 7, /* Count of tags in the map */ + 0, 0, + 7 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_LaneDataAttribute = { + "LaneDataAttribute", + "LaneDataAttribute", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneDataAttribute_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneDataAttribute_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_LaneDataAttribute_1, + 7, /* Elements count */ + &asn_SPC_LaneDataAttribute_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneDataAttribute.h b/src/tmx/Asn_J2735/src/r2024/LaneDataAttribute.h deleted file mode 100644 index 62ed3c734..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneDataAttribute.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneDataAttribute_H_ -#define _LaneDataAttribute_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DeltaAngle.h" -#include "RoadwayCrownAngle.h" -#include "MergeDivergeNodeAngle.h" -#include "SpeedLimitList.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LaneDataAttribute_PR { - LaneDataAttribute_PR_NOTHING, /* No components present */ - LaneDataAttribute_PR_pathEndPointAngle, - LaneDataAttribute_PR_laneCrownPointCenter, - LaneDataAttribute_PR_laneCrownPointLeft, - LaneDataAttribute_PR_laneCrownPointRight, - LaneDataAttribute_PR_laneAngle, - LaneDataAttribute_PR_speedLimits, - LaneDataAttribute_PR_regional - /* Extensions may appear below */ - -} LaneDataAttribute_PR; - -/* Forward declarations */ -struct Reg_LaneDataAttribute; - -/* LaneDataAttribute */ -typedef struct LaneDataAttribute { - LaneDataAttribute_PR present; - union LaneDataAttribute_u { - DeltaAngle_t pathEndPointAngle; - RoadwayCrownAngle_t laneCrownPointCenter; - RoadwayCrownAngle_t laneCrownPointLeft; - RoadwayCrownAngle_t laneCrownPointRight; - MergeDivergeNodeAngle_t laneAngle; - SpeedLimitList_t speedLimits; - struct LaneDataAttribute__regional { - A_SEQUENCE_OF(struct Reg_LaneDataAttribute) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regional; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LaneDataAttribute_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LaneDataAttribute; -extern asn_CHOICE_specifics_t asn_SPC_LaneDataAttribute_specs_1; -extern asn_TYPE_member_t asn_MBR_LaneDataAttribute_1[7]; -extern asn_per_constraints_t asn_PER_type_LaneDataAttribute_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _LaneDataAttribute_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneDataAttributeList.c b/src/tmx/Asn_J2735/src/r2024/LaneDataAttributeList.c new file mode 100644 index 000000000..690cbb973 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneDataAttributeList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneDataAttributeList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneDataAttributeList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneDataAttributeList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_LaneDataAttributeList_1[] = { + { ATF_POINTER, 0, 0, + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_LaneDataAttribute, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_LaneDataAttributeList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_LaneDataAttributeList_specs_1 = { + sizeof(struct LaneDataAttributeList), + offsetof(struct LaneDataAttributeList, _asn_ctx), + 2, /* XER encoding is XMLValueList */ +}; +asn_TYPE_descriptor_t asn_DEF_LaneDataAttributeList = { + "LaneDataAttributeList", + "LaneDataAttributeList", + &asn_OP_SEQUENCE_OF, + asn_DEF_LaneDataAttributeList_tags_1, + sizeof(asn_DEF_LaneDataAttributeList_tags_1) + /sizeof(asn_DEF_LaneDataAttributeList_tags_1[0]), /* 1 */ + asn_DEF_LaneDataAttributeList_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneDataAttributeList_tags_1) + /sizeof(asn_DEF_LaneDataAttributeList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneDataAttributeList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneDataAttributeList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_LaneDataAttributeList_1, + 1, /* Single element */ + &asn_SPC_LaneDataAttributeList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneDataAttributeList.h b/src/tmx/Asn_J2735/src/r2024/LaneDataAttributeList.h deleted file mode 100644 index b7ea2eec3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneDataAttributeList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneDataAttributeList_H_ -#define _LaneDataAttributeList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct LaneDataAttribute; - -/* LaneDataAttributeList */ -typedef struct LaneDataAttributeList { - A_SEQUENCE_OF(struct LaneDataAttribute) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LaneDataAttributeList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LaneDataAttributeList; -extern asn_SET_OF_specifics_t asn_SPC_LaneDataAttributeList_specs_1; -extern asn_TYPE_member_t asn_MBR_LaneDataAttributeList_1[1]; -extern asn_per_constraints_t asn_PER_type_LaneDataAttributeList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "LaneDataAttribute.h" - -#endif /* _LaneDataAttributeList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneDirection.c b/src/tmx/Asn_J2735/src/r2024/LaneDirection.c new file mode 100644 index 000000000..aa3d04ac9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneDirection.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneDirection.h" + +int +LaneDirection_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 2UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneDirection_constr_1 CC_NOTUSED = { + { 0, 0 }, + 2 /* (SIZE(2..2)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneDirection_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LaneDirection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneDirection = { + "LaneDirection", + "LaneDirection", + &asn_OP_BIT_STRING, + asn_DEF_LaneDirection_tags_1, + sizeof(asn_DEF_LaneDirection_tags_1) + /sizeof(asn_DEF_LaneDirection_tags_1[0]), /* 1 */ + asn_DEF_LaneDirection_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneDirection_tags_1) + /sizeof(asn_DEF_LaneDirection_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneDirection_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneDirection_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LaneDirection_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneDirection.h b/src/tmx/Asn_J2735/src/r2024/LaneDirection.h deleted file mode 100644 index 65e3ea188..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneDirection.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneDirection_H_ -#define _LaneDirection_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LaneDirection { - LaneDirection_ingressPath = 0, - LaneDirection_egressPath = 1 -} e_LaneDirection; - -/* LaneDirection */ -typedef BIT_STRING_t LaneDirection_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneDirection_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneDirection; -asn_struct_free_f LaneDirection_free; -asn_struct_print_f LaneDirection_print; -asn_constr_check_f LaneDirection_constraint; -ber_type_decoder_f LaneDirection_decode_ber; -der_type_encoder_f LaneDirection_encode_der; -xer_type_decoder_f LaneDirection_decode_xer; -xer_type_encoder_f LaneDirection_encode_xer; -oer_type_decoder_f LaneDirection_decode_oer; -oer_type_encoder_f LaneDirection_encode_oer; -per_type_decoder_f LaneDirection_decode_uper; -per_type_encoder_f LaneDirection_encode_uper; -per_type_decoder_f LaneDirection_decode_aper; -per_type_encoder_f LaneDirection_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneDirection_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneID.c b/src/tmx/Asn_J2735/src/r2024/LaneID.c new file mode 100644 index 000000000..8cc66c28b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneID.h" + +int +LaneID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneID_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LaneID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneID = { + "LaneID", + "LaneID", + &asn_OP_NativeInteger, + asn_DEF_LaneID_tags_1, + sizeof(asn_DEF_LaneID_tags_1) + /sizeof(asn_DEF_LaneID_tags_1[0]), /* 1 */ + asn_DEF_LaneID_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneID_tags_1) + /sizeof(asn_DEF_LaneID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LaneID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneID.h b/src/tmx/Asn_J2735/src/r2024/LaneID.h deleted file mode 100644 index 19215c552..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneID_H_ -#define _LaneID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LaneID */ -typedef long LaneID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneID; -asn_struct_free_f LaneID_free; -asn_struct_print_f LaneID_print; -asn_constr_check_f LaneID_constraint; -ber_type_decoder_f LaneID_decode_ber; -der_type_encoder_f LaneID_encode_der; -xer_type_decoder_f LaneID_decode_xer; -xer_type_encoder_f LaneID_encode_xer; -oer_type_decoder_f LaneID_decode_oer; -oer_type_encoder_f LaneID_encode_oer; -per_type_decoder_f LaneID_decode_uper; -per_type_encoder_f LaneID_encode_uper; -per_type_decoder_f LaneID_decode_aper; -per_type_encoder_f LaneID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneInfo.c b/src/tmx/Asn_J2735/src/r2024/LaneInfo.c new file mode 100644 index 000000000..37c420699 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneInfo.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneInfo.h" + +asn_TYPE_member_t asn_MBR_LaneInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct LaneInfo, lanePosition), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RSMLanePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lanePosition" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneInfo, laneClosed), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneClosed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneClosed" + }, + { ATF_POINTER, 1, offsetof(struct LaneInfo, laneCloseOffset), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ObstacleDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneCloseOffset" + }, +}; +static const int asn_MAP_LaneInfo_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_LaneInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_LaneInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lanePosition */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* laneClosed */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* laneCloseOffset */ +}; +asn_SEQUENCE_specifics_t asn_SPC_LaneInfo_specs_1 = { + sizeof(struct LaneInfo), + offsetof(struct LaneInfo, _asn_ctx), + asn_MAP_LaneInfo_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_LaneInfo_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_LaneInfo = { + "LaneInfo", + "LaneInfo", + &asn_OP_SEQUENCE, + asn_DEF_LaneInfo_tags_1, + sizeof(asn_DEF_LaneInfo_tags_1) + /sizeof(asn_DEF_LaneInfo_tags_1[0]), /* 1 */ + asn_DEF_LaneInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneInfo_tags_1) + /sizeof(asn_DEF_LaneInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_LaneInfo_1, + 3, /* Elements count */ + &asn_SPC_LaneInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneInfo.h b/src/tmx/Asn_J2735/src/r2024/LaneInfo.h deleted file mode 100644 index 41d971fb7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneInfo.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneInfo_H_ -#define _LaneInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RSMLanePosition.h" -#include "LaneClosed.h" -#include "ObstacleDistance.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LaneInfo */ -typedef struct LaneInfo { - RSMLanePosition_t lanePosition; - LaneClosed_t laneClosed; - ObstacleDistance_t *laneCloseOffset; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LaneInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LaneInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_LaneInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_LaneInfo_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneList.c b/src/tmx/Asn_J2735/src/r2024/LaneList.c new file mode 100644 index 000000000..d59954627 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..255)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_LaneList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GenericLane, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_LaneList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_LaneList_specs_1 = { + sizeof(struct LaneList), + offsetof(struct LaneList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_LaneList = { + "LaneList", + "LaneList", + &asn_OP_SEQUENCE_OF, + asn_DEF_LaneList_tags_1, + sizeof(asn_DEF_LaneList_tags_1) + /sizeof(asn_DEF_LaneList_tags_1[0]), /* 1 */ + asn_DEF_LaneList_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneList_tags_1) + /sizeof(asn_DEF_LaneList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_LaneList_1, + 1, /* Single element */ + &asn_SPC_LaneList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneList.h b/src/tmx/Asn_J2735/src/r2024/LaneList.h deleted file mode 100644 index 2ff3a76de..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneList_H_ -#define _LaneList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct GenericLane; - -/* LaneList */ -typedef struct LaneList { - A_SEQUENCE_OF(struct GenericLane) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LaneList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LaneList; -extern asn_SET_OF_specifics_t asn_SPC_LaneList_specs_1; -extern asn_TYPE_member_t asn_MBR_LaneList_1[1]; -extern asn_per_constraints_t asn_PER_type_LaneList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "GenericLane.h" - -#endif /* _LaneList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneOffset.c b/src/tmx/Asn_J2735/src/r2024/LaneOffset.c new file mode 100644 index 000000000..35da8ff72 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneOffset.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneOffset.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneOffset_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneOffset_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_LaneOffset_value2enum_1[] = { + { 0, 11, "currentLane" }, + { 1, 13, "firstLeftLane" }, + { 2, 14, "firstRightLane" }, + { 3, 14, "secondLeftLane" }, + { 4, 15, "secondRightLane" }, + { 5, 13, "thirdLeftLane" }, + { 6, 14, "thirdRightLane" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_LaneOffset_enum2value_1[] = { + 0, /* currentLane(0) */ + 1, /* firstLeftLane(1) */ + 2, /* firstRightLane(2) */ + 3, /* secondLeftLane(3) */ + 4, /* secondRightLane(4) */ + 5, /* thirdLeftLane(5) */ + 6 /* thirdRightLane(6) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_LaneOffset_specs_1 = { + asn_MAP_LaneOffset_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_LaneOffset_enum2value_1, /* N => "tag"; sorted by N */ + 7, /* Number of elements in the maps */ + 8, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_LaneOffset_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneOffset = { + "LaneOffset", + "LaneOffset", + &asn_OP_NativeEnumerated, + asn_DEF_LaneOffset_tags_1, + sizeof(asn_DEF_LaneOffset_tags_1) + /sizeof(asn_DEF_LaneOffset_tags_1[0]), /* 1 */ + asn_DEF_LaneOffset_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneOffset_tags_1) + /sizeof(asn_DEF_LaneOffset_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneOffset_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneOffset_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_LaneOffset_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneOffset.h b/src/tmx/Asn_J2735/src/r2024/LaneOffset.h deleted file mode 100644 index 17e044eda..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneOffset.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneOffset_H_ -#define _LaneOffset_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LaneOffset { - LaneOffset_currentLane = 0, - LaneOffset_firstLeftLane = 1, - LaneOffset_firstRightLane = 2, - LaneOffset_secondLeftLane = 3, - LaneOffset_secondRightLane = 4, - LaneOffset_thirdLeftLane = 5, - LaneOffset_thirdRightLane = 6 - /* - * Enumeration is extensible - */ -} e_LaneOffset; - -/* LaneOffset */ -typedef long LaneOffset_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneOffset_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneOffset; -extern const asn_INTEGER_specifics_t asn_SPC_LaneOffset_specs_1; -asn_struct_free_f LaneOffset_free; -asn_struct_print_f LaneOffset_print; -asn_constr_check_f LaneOffset_constraint; -ber_type_decoder_f LaneOffset_decode_ber; -der_type_encoder_f LaneOffset_encode_der; -xer_type_decoder_f LaneOffset_decode_xer; -xer_type_encoder_f LaneOffset_encode_xer; -oer_type_decoder_f LaneOffset_decode_oer; -oer_type_encoder_f LaneOffset_encode_oer; -per_type_decoder_f LaneOffset_decode_uper; -per_type_encoder_f LaneOffset_encode_uper; -per_type_decoder_f LaneOffset_decode_aper; -per_type_encoder_f LaneOffset_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneOffset_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneRoadway.c b/src/tmx/Asn_J2735/src/r2024/LaneRoadway.c new file mode 100644 index 000000000..5a62ca50c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneRoadway.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneRoadway.h" + +int +LaneRoadway_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneRoadway_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneRoadway_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LaneRoadway_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneRoadway = { + "LaneRoadway", + "LaneRoadway", + &asn_OP_NativeInteger, + asn_DEF_LaneRoadway_tags_1, + sizeof(asn_DEF_LaneRoadway_tags_1) + /sizeof(asn_DEF_LaneRoadway_tags_1[0]), /* 1 */ + asn_DEF_LaneRoadway_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneRoadway_tags_1) + /sizeof(asn_DEF_LaneRoadway_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneRoadway_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneRoadway_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LaneRoadway_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneRoadway.h b/src/tmx/Asn_J2735/src/r2024/LaneRoadway.h deleted file mode 100644 index 501eed3bd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneRoadway.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneRoadway_H_ -#define _LaneRoadway_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LaneRoadway { - LaneRoadway_all_roadways = 8193, - LaneRoadway_through_lanes = 8194, - LaneRoadway_left_lane = 8195, - LaneRoadway_right_lane = 8196, - LaneRoadway_center_lane = 8197, - LaneRoadway_middle_lanes = 8198, - LaneRoadway_middle_two_lanes = 8199, - LaneRoadway_right_turning_lanes = 8200, - LaneRoadway_left_turning_lanes = 8201, - LaneRoadway_upper_deck_lanes = 8236, - LaneRoadway_lower_deck_lanes = 8237, - LaneRoadway_reversible_lanes = 8238, - LaneRoadway_right_exit_lanes = 8239, - LaneRoadway_left_exit_lanes = 8240, - LaneRoadway_right_merging_lanes = 8241, - LaneRoadway_left_merging_lanes = 8242, - LaneRoadway_right_exit_ramp = 8202, - LaneRoadway_right_second_exit_ramp = 8243, - LaneRoadway_right_entrance_ramp = 8203, - LaneRoadway_right_second_entrance_ramp = 8245, - LaneRoadway_left_exit_ramp = 8204, - LaneRoadway_left_second_exit_ramp = 8244, - LaneRoadway_left_entrance_ramp = 8205, - LaneRoadway_left_second_entrance_ramp = 8246, - LaneRoadway_escape_ramp = 8234, - LaneRoadway_hard_shoulder = 8206, - LaneRoadway_soft_shoulder = 8207, - LaneRoadway_right_shoulder = 8208, - LaneRoadway_left_shoulder = 8209, - LaneRoadway_median = 8252, - LaneRoadway_sidewalk = 8251, - LaneRoadway_highways = 8235, - LaneRoadway_right_hand_parallel_lanes = 8210, - LaneRoadway_left_hand_parallel_lanes = 8211, - LaneRoadway_connecting_lanes = 8212, - LaneRoadway_express_lanes = 8213, - LaneRoadway_local_lanes = 8214, - LaneRoadway_toll_lanes = 8215, - LaneRoadway_electronic_toll_lanes = 8216, - LaneRoadway_toll_plaza = 8217, - LaneRoadway_inspection_lane = 8218, - LaneRoadway_hOV_lanes = 8219, - LaneRoadway_bus_lanes = 8220, - LaneRoadway_carpool_lanes = 8221, - LaneRoadway_truck_lanes = 8222, - LaneRoadway_emergency_lanes = 8223, - LaneRoadway_passing_lanes = 8224, - LaneRoadway_climbing_lanes = 8225, - LaneRoadway_slow_lane = 8226, - LaneRoadway_service_road = 8227, - LaneRoadway_cycle_lane = 8228, - LaneRoadway_tracks = 8250, - LaneRoadway_bridge = 8229, - LaneRoadway_overpass = 8230, - LaneRoadway_elevated_lanes = 8231, - LaneRoadway_underpass = 8232, - LaneRoadway_tunnel = 8233, - LaneRoadway_all_exit_lanes = 8247, - LaneRoadway_all_entry_lanes = 8248, - LaneRoadway_either_shoulder = 8249, - LaneRoadway_shoulder_work = 8253 -} e_LaneRoadway; - -/* LaneRoadway */ -typedef long LaneRoadway_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneRoadway_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneRoadway; -asn_struct_free_f LaneRoadway_free; -asn_struct_print_f LaneRoadway_print; -asn_constr_check_f LaneRoadway_constraint; -ber_type_decoder_f LaneRoadway_decode_ber; -der_type_encoder_f LaneRoadway_encode_der; -xer_type_decoder_f LaneRoadway_decode_xer; -xer_type_encoder_f LaneRoadway_encode_xer; -oer_type_decoder_f LaneRoadway_decode_oer; -oer_type_encoder_f LaneRoadway_encode_oer; -per_type_decoder_f LaneRoadway_decode_uper; -per_type_encoder_f LaneRoadway_encode_uper; -per_type_decoder_f LaneRoadway_decode_aper; -per_type_encoder_f LaneRoadway_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneRoadway_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneSharing.c b/src/tmx/Asn_J2735/src/r2024/LaneSharing.c new file mode 100644 index 000000000..f5a9a2c38 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneSharing.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneSharing.h" + +int +LaneSharing_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 10UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneSharing_constr_1 CC_NOTUSED = { + { 0, 0 }, + 10 /* (SIZE(10..10)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneSharing_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 10, 10 } /* (SIZE(10..10)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LaneSharing_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneSharing = { + "LaneSharing", + "LaneSharing", + &asn_OP_BIT_STRING, + asn_DEF_LaneSharing_tags_1, + sizeof(asn_DEF_LaneSharing_tags_1) + /sizeof(asn_DEF_LaneSharing_tags_1[0]), /* 1 */ + asn_DEF_LaneSharing_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneSharing_tags_1) + /sizeof(asn_DEF_LaneSharing_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneSharing_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneSharing_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LaneSharing_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneSharing.h b/src/tmx/Asn_J2735/src/r2024/LaneSharing.h deleted file mode 100644 index 6fac51ad4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneSharing.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneSharing_H_ -#define _LaneSharing_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LaneSharing { - LaneSharing_overlappingLaneDescriptionProvided = 0, - LaneSharing_multipleLanesTreatedAsOneLane = 1, - LaneSharing_otherNonMotorizedTrafficTypes = 2, - LaneSharing_individualMotorizedVehicleTraffic = 3, - LaneSharing_busVehicleTraffic = 4, - LaneSharing_taxiVehicleTraffic = 5, - LaneSharing_pedestriansTraffic = 6, - LaneSharing_cyclistVehicleTraffic = 7, - LaneSharing_trackedVehicleTraffic = 8, - LaneSharing_reserved = 9 -} e_LaneSharing; - -/* LaneSharing */ -typedef BIT_STRING_t LaneSharing_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneSharing_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneSharing; -asn_struct_free_f LaneSharing_free; -asn_struct_print_f LaneSharing_print; -asn_constr_check_f LaneSharing_constraint; -ber_type_decoder_f LaneSharing_decode_ber; -der_type_encoder_f LaneSharing_encode_der; -xer_type_decoder_f LaneSharing_decode_xer; -xer_type_encoder_f LaneSharing_encode_xer; -oer_type_decoder_f LaneSharing_decode_oer; -oer_type_encoder_f LaneSharing_encode_oer; -per_type_decoder_f LaneSharing_decode_uper; -per_type_encoder_f LaneSharing_encode_uper; -per_type_decoder_f LaneSharing_decode_aper; -per_type_encoder_f LaneSharing_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneSharing_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneTypeAttributes.c b/src/tmx/Asn_J2735/src/r2024/LaneTypeAttributes.c new file mode 100644 index 000000000..326cb57e9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneTypeAttributes.c @@ -0,0 +1,201 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneTypeAttributes.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneTypeAttributes_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneTypeAttributes_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_LaneTypeAttributes_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct LaneTypeAttributes, choice.vehicle), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneAttributes_Vehicle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicle" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneTypeAttributes, choice.crosswalk), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneAttributes_Crosswalk, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "crosswalk" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneTypeAttributes, choice.bikeLane), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneAttributes_Bike, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "bikeLane" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneTypeAttributes, choice.sidewalk), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneAttributes_Sidewalk, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sidewalk" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneTypeAttributes, choice.median), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneAttributes_Barrier, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "median" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneTypeAttributes, choice.striping), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneAttributes_Striping, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "striping" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneTypeAttributes, choice.trackedVehicle), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneAttributes_TrackedVehicle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trackedVehicle" + }, + { ATF_NOFLAGS, 0, offsetof(struct LaneTypeAttributes, choice.parking), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneAttributes_Parking, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "parking" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_LaneTypeAttributes_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicle */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* crosswalk */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* bikeLane */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* sidewalk */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* median */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* striping */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* trackedVehicle */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* parking */ +}; +asn_CHOICE_specifics_t asn_SPC_LaneTypeAttributes_specs_1 = { + sizeof(struct LaneTypeAttributes), + offsetof(struct LaneTypeAttributes, _asn_ctx), + offsetof(struct LaneTypeAttributes, present), + sizeof(((struct LaneTypeAttributes *)0)->present), + asn_MAP_LaneTypeAttributes_tag2el_1, + 8, /* Count of tags in the map */ + 0, 0, + 8 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_LaneTypeAttributes = { + "LaneTypeAttributes", + "LaneTypeAttributes", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneTypeAttributes_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneTypeAttributes_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_LaneTypeAttributes_1, + 8, /* Elements count */ + &asn_SPC_LaneTypeAttributes_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneTypeAttributes.h b/src/tmx/Asn_J2735/src/r2024/LaneTypeAttributes.h deleted file mode 100644 index a54e585fe..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneTypeAttributes.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneTypeAttributes_H_ -#define _LaneTypeAttributes_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LaneAttributes-Vehicle.h" -#include "LaneAttributes-Crosswalk.h" -#include "LaneAttributes-Bike.h" -#include "LaneAttributes-Sidewalk.h" -#include "LaneAttributes-Barrier.h" -#include "LaneAttributes-Striping.h" -#include "LaneAttributes-TrackedVehicle.h" -#include "LaneAttributes-Parking.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LaneTypeAttributes_PR { - LaneTypeAttributes_PR_NOTHING, /* No components present */ - LaneTypeAttributes_PR_vehicle, - LaneTypeAttributes_PR_crosswalk, - LaneTypeAttributes_PR_bikeLane, - LaneTypeAttributes_PR_sidewalk, - LaneTypeAttributes_PR_median, - LaneTypeAttributes_PR_striping, - LaneTypeAttributes_PR_trackedVehicle, - LaneTypeAttributes_PR_parking - /* Extensions may appear below */ - -} LaneTypeAttributes_PR; - -/* LaneTypeAttributes */ -typedef struct LaneTypeAttributes { - LaneTypeAttributes_PR present; - union LaneTypeAttributes_u { - LaneAttributes_Vehicle_t vehicle; - LaneAttributes_Crosswalk_t crosswalk; - LaneAttributes_Bike_t bikeLane; - LaneAttributes_Sidewalk_t sidewalk; - LaneAttributes_Barrier_t median; - LaneAttributes_Striping_t striping; - LaneAttributes_TrackedVehicle_t trackedVehicle; - LaneAttributes_Parking_t parking; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LaneTypeAttributes_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LaneTypeAttributes; -extern asn_CHOICE_specifics_t asn_SPC_LaneTypeAttributes_specs_1; -extern asn_TYPE_member_t asn_MBR_LaneTypeAttributes_1[8]; -extern asn_per_constraints_t asn_PER_type_LaneTypeAttributes_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneTypeAttributes_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LaneWidth.c b/src/tmx/Asn_J2735/src/r2024/LaneWidth.c new file mode 100644 index 000000000..71e285ac3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LaneWidth.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LaneWidth.h" + +int +LaneWidth_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LaneWidth_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LaneWidth_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 32767 } /* (0..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LaneWidth_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LaneWidth = { + "LaneWidth", + "LaneWidth", + &asn_OP_NativeInteger, + asn_DEF_LaneWidth_tags_1, + sizeof(asn_DEF_LaneWidth_tags_1) + /sizeof(asn_DEF_LaneWidth_tags_1[0]), /* 1 */ + asn_DEF_LaneWidth_tags_1, /* Same as above */ + sizeof(asn_DEF_LaneWidth_tags_1) + /sizeof(asn_DEF_LaneWidth_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LaneWidth_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LaneWidth_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LaneWidth_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LaneWidth.h b/src/tmx/Asn_J2735/src/r2024/LaneWidth.h deleted file mode 100644 index 282962a11..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LaneWidth.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LaneWidth_H_ -#define _LaneWidth_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LaneWidth */ -typedef long LaneWidth_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LaneWidth_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LaneWidth; -asn_struct_free_f LaneWidth_free; -asn_struct_print_f LaneWidth_print; -asn_constr_check_f LaneWidth_constraint; -ber_type_decoder_f LaneWidth_decode_ber; -der_type_encoder_f LaneWidth_encode_der; -xer_type_decoder_f LaneWidth_decode_xer; -xer_type_encoder_f LaneWidth_encode_xer; -oer_type_decoder_f LaneWidth_decode_oer; -oer_type_encoder_f LaneWidth_encode_oer; -per_type_decoder_f LaneWidth_decode_uper; -per_type_encoder_f LaneWidth_encode_uper; -per_type_decoder_f LaneWidth_decode_aper; -per_type_encoder_f LaneWidth_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LaneWidth_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LargeNumbers.c b/src/tmx/Asn_J2735/src/r2024/LargeNumbers.c new file mode 100644 index 000000000..510489db9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LargeNumbers.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LargeNumbers.h" + +int +LargeNumbers_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LargeNumbers_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_LargeNumbers_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LargeNumbers_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LargeNumbers = { + "LargeNumbers", + "LargeNumbers", + &asn_OP_NativeInteger, + asn_DEF_LargeNumbers_tags_1, + sizeof(asn_DEF_LargeNumbers_tags_1) + /sizeof(asn_DEF_LargeNumbers_tags_1[0]), /* 1 */ + asn_DEF_LargeNumbers_tags_1, /* Same as above */ + sizeof(asn_DEF_LargeNumbers_tags_1) + /sizeof(asn_DEF_LargeNumbers_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LargeNumbers_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LargeNumbers_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LargeNumbers_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LargeNumbers.h b/src/tmx/Asn_J2735/src/r2024/LargeNumbers.h deleted file mode 100644 index e87d5f4e9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LargeNumbers.h +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LargeNumbers_H_ -#define _LargeNumbers_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LargeNumbers { - LargeNumbers_n1_16th = 11521, - LargeNumbers_n1_10th = 11522, - LargeNumbers_n1_8th = 11523, - LargeNumbers_n1_4th = 11524, - LargeNumbers_n1_3rd = 11525, - LargeNumbers_n1_2 = 11526, - LargeNumbers_n3_4 = 11527, - LargeNumbers_n300 = 11531, - LargeNumbers_n350 = 11532, - LargeNumbers_n400 = 11533, - LargeNumbers_n450 = 11534, - LargeNumbers_n500 = 11535, - LargeNumbers_n550 = 11536, - LargeNumbers_n600 = 11537, - LargeNumbers_n650 = 11538, - LargeNumbers_n700 = 11539, - LargeNumbers_n750 = 11540, - LargeNumbers_n800 = 11541, - LargeNumbers_n850 = 11542, - LargeNumbers_n900 = 11543, - LargeNumbers_n950 = 11544, - LargeNumbers_n1000 = 11545, - LargeNumbers_n1100 = 11546, - LargeNumbers_n1200 = 11547, - LargeNumbers_n1300 = 11548, - LargeNumbers_n1400 = 11549, - LargeNumbers_n1500 = 11550, - LargeNumbers_n1600 = 11551, - LargeNumbers_n1700 = 11552, - LargeNumbers_n1800 = 11553, - LargeNumbers_n1900 = 11554, - LargeNumbers_n2000 = 11555, - LargeNumbers_n2100 = 11556, - LargeNumbers_n2200 = 11557, - LargeNumbers_n2300 = 11558, - LargeNumbers_n2400 = 11559, - LargeNumbers_n2500 = 11560, - LargeNumbers_n2600 = 11561, - LargeNumbers_n2700 = 11562, - LargeNumbers_n2800 = 11563, - LargeNumbers_n2900 = 11564, - LargeNumbers_n3000 = 11565, - LargeNumbers_n3500 = 11566, - LargeNumbers_n4000 = 11567, - LargeNumbers_n4500 = 11568, - LargeNumbers_n5000 = 11569, - LargeNumbers_n5500 = 11570, - LargeNumbers_n6000 = 11571, - LargeNumbers_n6500 = 11572, - LargeNumbers_n7000 = 11573, - LargeNumbers_n7500 = 11574, - LargeNumbers_n8000 = 11575, - LargeNumbers_n8500 = 11576, - LargeNumbers_n9000 = 11577, - LargeNumbers_n9500 = 11578, - LargeNumbers_n10000 = 11579, - LargeNumbers_n11000 = 11580, - LargeNumbers_n12000 = 11581, - LargeNumbers_n13000 = 11582, - LargeNumbers_n14000 = 11583, - LargeNumbers_n15000 = 11584, - LargeNumbers_n16000 = 11585, - LargeNumbers_n17000 = 11586, - LargeNumbers_n18000 = 11587, - LargeNumbers_n19000 = 11588, - LargeNumbers_n20000 = 11589, - LargeNumbers_n21000 = 11590, - LargeNumbers_n22000 = 11591, - LargeNumbers_n23000 = 11592, - LargeNumbers_n24000 = 11593, - LargeNumbers_n25000 = 11594, - LargeNumbers_n26000 = 11595, - LargeNumbers_n27000 = 11596, - LargeNumbers_n28000 = 11597, - LargeNumbers_n29000 = 11598, - LargeNumbers_n30000 = 11599, - LargeNumbers_n35000 = 11600, - LargeNumbers_n40000 = 11601, - LargeNumbers_n45000 = 11602, - LargeNumbers_n50000 = 11603, - LargeNumbers_n55000 = 11604, - LargeNumbers_n60000 = 11605, - LargeNumbers_n65000 = 11606, - LargeNumbers_n70000 = 11607, - LargeNumbers_n75000 = 11608, - LargeNumbers_n80000 = 11609, - LargeNumbers_n85000 = 11610, - LargeNumbers_n90000 = 11611, - LargeNumbers_n95000 = 11612, - LargeNumbers_n100000 = 11613 -} e_LargeNumbers; - -/* LargeNumbers */ -typedef long LargeNumbers_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LargeNumbers; -asn_struct_free_f LargeNumbers_free; -asn_struct_print_f LargeNumbers_print; -asn_constr_check_f LargeNumbers_constraint; -ber_type_decoder_f LargeNumbers_decode_ber; -der_type_encoder_f LargeNumbers_encode_der; -xer_type_decoder_f LargeNumbers_decode_xer; -xer_type_encoder_f LargeNumbers_encode_xer; -oer_type_decoder_f LargeNumbers_decode_oer; -oer_type_encoder_f LargeNumbers_encode_oer; -per_type_decoder_f LargeNumbers_decode_uper; -per_type_encoder_f LargeNumbers_encode_uper; -per_type_decoder_f LargeNumbers_decode_aper; -per_type_encoder_f LargeNumbers_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LargeNumbers_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LastTollPointInfo.c b/src/tmx/Asn_J2735/src/r2024/LastTollPointInfo.c new file mode 100644 index 000000000..906b63862 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LastTollPointInfo.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageMessage" + * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LastTollPointInfo.h" + +asn_TYPE_member_t asn_MBR_LastTollPointInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct LastTollPointInfo, tollChargerInfo), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TollChargerInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tollChargerInfo" + }, + { ATF_NOFLAGS, 0, offsetof(struct LastTollPointInfo, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, +}; +static const ber_tlv_tag_t asn_DEF_LastTollPointInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_LastTollPointInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tollChargerInfo */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* timeStamp */ +}; +asn_SEQUENCE_specifics_t asn_SPC_LastTollPointInfo_specs_1 = { + sizeof(struct LastTollPointInfo), + offsetof(struct LastTollPointInfo, _asn_ctx), + asn_MAP_LastTollPointInfo_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_LastTollPointInfo = { + "LastTollPointInfo", + "LastTollPointInfo", + &asn_OP_SEQUENCE, + asn_DEF_LastTollPointInfo_tags_1, + sizeof(asn_DEF_LastTollPointInfo_tags_1) + /sizeof(asn_DEF_LastTollPointInfo_tags_1[0]), /* 1 */ + asn_DEF_LastTollPointInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_LastTollPointInfo_tags_1) + /sizeof(asn_DEF_LastTollPointInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_LastTollPointInfo_1, + 2, /* Elements count */ + &asn_SPC_LastTollPointInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LastTollPointInfo.h b/src/tmx/Asn_J2735/src/r2024/LastTollPointInfo.h deleted file mode 100644 index 1d57a9681..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LastTollPointInfo.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageMessage" - * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LastTollPointInfo_H_ -#define _LastTollPointInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TollChargerInfo.h" -#include "DDateTime.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LastTollPointInfo */ -typedef struct LastTollPointInfo { - TollChargerInfo_t tollChargerInfo; - DDateTime_t timeStamp; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LastTollPointInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LastTollPointInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_LastTollPointInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_LastTollPointInfo_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _LastTollPointInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LastTollPointInfos.c b/src/tmx/Asn_J2735/src/r2024/LastTollPointInfos.c new file mode 100644 index 000000000..7db983a8f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LastTollPointInfos.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageMessage" + * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LastTollPointInfos.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LastTollPointInfos_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LastTollPointInfos_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 5 } /* (SIZE(1..5,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_LastTollPointInfos_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_LastTollPointInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_LastTollPointInfos_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_LastTollPointInfos_specs_1 = { + sizeof(struct LastTollPointInfos), + offsetof(struct LastTollPointInfos, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_LastTollPointInfos = { + "LastTollPointInfos", + "LastTollPointInfos", + &asn_OP_SEQUENCE_OF, + asn_DEF_LastTollPointInfos_tags_1, + sizeof(asn_DEF_LastTollPointInfos_tags_1) + /sizeof(asn_DEF_LastTollPointInfos_tags_1[0]), /* 1 */ + asn_DEF_LastTollPointInfos_tags_1, /* Same as above */ + sizeof(asn_DEF_LastTollPointInfos_tags_1) + /sizeof(asn_DEF_LastTollPointInfos_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LastTollPointInfos_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LastTollPointInfos_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_LastTollPointInfos_1, + 1, /* Single element */ + &asn_SPC_LastTollPointInfos_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LastTollPointInfos.h b/src/tmx/Asn_J2735/src/r2024/LastTollPointInfos.h deleted file mode 100644 index 7f7deba09..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LastTollPointInfos.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageMessage" - * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LastTollPointInfos_H_ -#define _LastTollPointInfos_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct LastTollPointInfo; - -/* LastTollPointInfos */ -typedef struct LastTollPointInfos { - A_SEQUENCE_OF(struct LastTollPointInfo) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LastTollPointInfos_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LastTollPointInfos; -extern asn_SET_OF_specifics_t asn_SPC_LastTollPointInfos_specs_1; -extern asn_TYPE_member_t asn_MBR_LastTollPointInfos_1[1]; -extern asn_per_constraints_t asn_PER_type_LastTollPointInfos_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "LastTollPointInfo.h" - -#endif /* _LastTollPointInfos_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LatOffset.c b/src/tmx/Asn_J2735/src/r2024/LatOffset.c new file mode 100644 index 000000000..48889c933 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LatOffset.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LatOffset.h" + +int +LatOffset_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -16384L && value <= 16383L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LatOffset_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-16384..16383) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LatOffset_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, -16384, 16383 } /* (-16384..16383) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LatOffset_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LatOffset = { + "LatOffset", + "LatOffset", + &asn_OP_NativeInteger, + asn_DEF_LatOffset_tags_1, + sizeof(asn_DEF_LatOffset_tags_1) + /sizeof(asn_DEF_LatOffset_tags_1[0]), /* 1 */ + asn_DEF_LatOffset_tags_1, /* Same as above */ + sizeof(asn_DEF_LatOffset_tags_1) + /sizeof(asn_DEF_LatOffset_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LatOffset_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LatOffset_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LatOffset_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LatOffset.h b/src/tmx/Asn_J2735/src/r2024/LatOffset.h deleted file mode 100644 index 873f67d2f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LatOffset.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LatOffset_H_ -#define _LatOffset_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LatOffset */ -typedef long LatOffset_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LatOffset_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LatOffset; -asn_struct_free_f LatOffset_free; -asn_struct_print_f LatOffset_print; -asn_constr_check_f LatOffset_constraint; -ber_type_decoder_f LatOffset_decode_ber; -der_type_encoder_f LatOffset_encode_der; -xer_type_decoder_f LatOffset_decode_xer; -xer_type_encoder_f LatOffset_encode_xer; -oer_type_decoder_f LatOffset_decode_oer; -oer_type_encoder_f LatOffset_encode_oer; -per_type_decoder_f LatOffset_decode_uper; -per_type_encoder_f LatOffset_encode_uper; -per_type_decoder_f LatOffset_decode_aper; -per_type_encoder_f LatOffset_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LatOffset_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LatitudeDMS.c b/src/tmx/Asn_J2735/src/r2024/LatitudeDMS.c new file mode 100644 index 000000000..8c39676c9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LatitudeDMS.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LatitudeDMS.h" + +int +LatitudeDMS_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32400000L && value <= 32400000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LatitudeDMS_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-32400000..32400000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LatitudeDMS_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 26, -1, -32400000, 32400000 } /* (-32400000..32400000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LatitudeDMS_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LatitudeDMS = { + "LatitudeDMS", + "LatitudeDMS", + &asn_OP_NativeInteger, + asn_DEF_LatitudeDMS_tags_1, + sizeof(asn_DEF_LatitudeDMS_tags_1) + /sizeof(asn_DEF_LatitudeDMS_tags_1[0]), /* 1 */ + asn_DEF_LatitudeDMS_tags_1, /* Same as above */ + sizeof(asn_DEF_LatitudeDMS_tags_1) + /sizeof(asn_DEF_LatitudeDMS_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LatitudeDMS_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LatitudeDMS_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LatitudeDMS_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LatitudeDMS.h b/src/tmx/Asn_J2735/src/r2024/LatitudeDMS.h deleted file mode 100644 index e89d814c9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LatitudeDMS.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LatitudeDMS_H_ -#define _LatitudeDMS_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LatitudeDMS */ -typedef long LatitudeDMS_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LatitudeDMS_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LatitudeDMS; -asn_struct_free_f LatitudeDMS_free; -asn_struct_print_f LatitudeDMS_print; -asn_constr_check_f LatitudeDMS_constraint; -ber_type_decoder_f LatitudeDMS_decode_ber; -der_type_encoder_f LatitudeDMS_encode_der; -xer_type_decoder_f LatitudeDMS_decode_xer; -xer_type_encoder_f LatitudeDMS_encode_xer; -oer_type_decoder_f LatitudeDMS_decode_oer; -oer_type_encoder_f LatitudeDMS_encode_oer; -per_type_decoder_f LatitudeDMS_decode_uper; -per_type_encoder_f LatitudeDMS_encode_uper; -per_type_decoder_f LatitudeDMS_decode_aper; -per_type_encoder_f LatitudeDMS_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LatitudeDMS_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LatitudeDMS2.c b/src/tmx/Asn_J2735/src/r2024/LatitudeDMS2.c new file mode 100644 index 000000000..9b00604a1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LatitudeDMS2.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LatitudeDMS2.h" + +asn_TYPE_member_t asn_MBR_LatitudeDMS2_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct LatitudeDMS2, d), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DegreesLat, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "d" + }, + { ATF_NOFLAGS, 0, offsetof(struct LatitudeDMS2, m), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinutesAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "m" + }, + { ATF_NOFLAGS, 0, offsetof(struct LatitudeDMS2, s), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SecondsAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "s" + }, +}; +static const ber_tlv_tag_t asn_DEF_LatitudeDMS2_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_LatitudeDMS2_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* d */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* m */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* s */ +}; +asn_SEQUENCE_specifics_t asn_SPC_LatitudeDMS2_specs_1 = { + sizeof(struct LatitudeDMS2), + offsetof(struct LatitudeDMS2, _asn_ctx), + asn_MAP_LatitudeDMS2_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_LatitudeDMS2 = { + "LatitudeDMS2", + "LatitudeDMS2", + &asn_OP_SEQUENCE, + asn_DEF_LatitudeDMS2_tags_1, + sizeof(asn_DEF_LatitudeDMS2_tags_1) + /sizeof(asn_DEF_LatitudeDMS2_tags_1[0]), /* 1 */ + asn_DEF_LatitudeDMS2_tags_1, /* Same as above */ + sizeof(asn_DEF_LatitudeDMS2_tags_1) + /sizeof(asn_DEF_LatitudeDMS2_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_LatitudeDMS2_1, + 3, /* Elements count */ + &asn_SPC_LatitudeDMS2_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LatitudeDMS2.h b/src/tmx/Asn_J2735/src/r2024/LatitudeDMS2.h deleted file mode 100644 index 5e80505c7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LatitudeDMS2.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LatitudeDMS2_H_ -#define _LatitudeDMS2_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DegreesLat.h" -#include "MinutesAngle.h" -#include "SecondsAngle.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LatitudeDMS2 */ -typedef struct LatitudeDMS2 { - DegreesLat_t d; - MinutesAngle_t m; - SecondsAngle_t s; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LatitudeDMS2_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LatitudeDMS2; -extern asn_SEQUENCE_specifics_t asn_SPC_LatitudeDMS2_specs_1; -extern asn_TYPE_member_t asn_MBR_LatitudeDMS2_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _LatitudeDMS2_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LayerID.c b/src/tmx/Asn_J2735/src/r2024/LayerID.c new file mode 100644 index 000000000..e04d397c4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LayerID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LayerID.h" + +int +LayerID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 100L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LayerID_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..100) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LayerID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LayerID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LayerID = { + "LayerID", + "LayerID", + &asn_OP_NativeInteger, + asn_DEF_LayerID_tags_1, + sizeof(asn_DEF_LayerID_tags_1) + /sizeof(asn_DEF_LayerID_tags_1[0]), /* 1 */ + asn_DEF_LayerID_tags_1, /* Same as above */ + sizeof(asn_DEF_LayerID_tags_1) + /sizeof(asn_DEF_LayerID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LayerID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LayerID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LayerID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LayerID.h b/src/tmx/Asn_J2735/src/r2024/LayerID.h deleted file mode 100644 index 39e09fa1c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LayerID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LayerID_H_ -#define _LayerID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LayerID */ -typedef long LayerID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LayerID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LayerID; -asn_struct_free_f LayerID_free; -asn_struct_print_f LayerID_print; -asn_constr_check_f LayerID_constraint; -ber_type_decoder_f LayerID_decode_ber; -der_type_encoder_f LayerID_encode_der; -xer_type_decoder_f LayerID_decode_xer; -xer_type_encoder_f LayerID_encode_xer; -oer_type_decoder_f LayerID_decode_oer; -oer_type_encoder_f LayerID_encode_oer; -per_type_decoder_f LayerID_decode_uper; -per_type_encoder_f LayerID_encode_uper; -per_type_decoder_f LayerID_decode_aper; -per_type_encoder_f LayerID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LayerID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LayerType.c b/src/tmx/Asn_J2735/src/r2024/LayerType.c new file mode 100644 index 000000000..730bf65d1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LayerType.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LayerType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LayerType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LayerType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_LayerType_value2enum_1[] = { + { 0, 4, "none" }, + { 1, 12, "mixedContent" }, + { 2, 14, "generalMapData" }, + { 3, 16, "intersectionData" }, + { 4, 9, "curveData" }, + { 5, 18, "roadwaySectionData" }, + { 6, 15, "parkingAreaData" }, + { 7, 14, "sharedLaneData" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_LayerType_enum2value_1[] = { + 4, /* curveData(4) */ + 2, /* generalMapData(2) */ + 3, /* intersectionData(3) */ + 1, /* mixedContent(1) */ + 0, /* none(0) */ + 6, /* parkingAreaData(6) */ + 5, /* roadwaySectionData(5) */ + 7 /* sharedLaneData(7) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_LayerType_specs_1 = { + asn_MAP_LayerType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_LayerType_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 9, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_LayerType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LayerType = { + "LayerType", + "LayerType", + &asn_OP_NativeEnumerated, + asn_DEF_LayerType_tags_1, + sizeof(asn_DEF_LayerType_tags_1) + /sizeof(asn_DEF_LayerType_tags_1[0]), /* 1 */ + asn_DEF_LayerType_tags_1, /* Same as above */ + sizeof(asn_DEF_LayerType_tags_1) + /sizeof(asn_DEF_LayerType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LayerType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LayerType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_LayerType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LayerType.h b/src/tmx/Asn_J2735/src/r2024/LayerType.h deleted file mode 100644 index 75409229a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LayerType.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LayerType_H_ -#define _LayerType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LayerType { - LayerType_none = 0, - LayerType_mixedContent = 1, - LayerType_generalMapData = 2, - LayerType_intersectionData = 3, - LayerType_curveData = 4, - LayerType_roadwaySectionData = 5, - LayerType_parkingAreaData = 6, - LayerType_sharedLaneData = 7 - /* - * Enumeration is extensible - */ -} e_LayerType; - -/* LayerType */ -typedef long LayerType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LayerType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LayerType; -extern const asn_INTEGER_specifics_t asn_SPC_LayerType_specs_1; -asn_struct_free_f LayerType_free; -asn_struct_print_f LayerType_print; -asn_constr_check_f LayerType_constraint; -ber_type_decoder_f LayerType_decode_ber; -der_type_encoder_f LayerType_encode_der; -xer_type_decoder_f LayerType_decode_xer; -xer_type_encoder_f LayerType_encode_xer; -oer_type_decoder_f LayerType_decode_oer; -oer_type_encoder_f LayerType_encode_oer; -per_type_decoder_f LayerType_decode_uper; -per_type_encoder_f LayerType_encode_uper; -per_type_decoder_f LayerType_decode_aper; -per_type_encoder_f LayerType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LayerType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LightVehicleCCMExtensions.c b/src/tmx/Asn_J2735/src/r2024/LightVehicleCCMExtensions.c new file mode 100644 index 000000000..94ac67212 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LightVehicleCCMExtensions.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LightVehicleCCMExtensions.h" + +asn_TYPE_member_t asn_MBR_LightVehicleCCMExtensions_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct LightVehicleCCMExtensions, longCntrlState), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LongitudinalControlState, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longCntrlState" + }, + { ATF_POINTER, 5, offsetof(struct LightVehicleCCMExtensions, targetId), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "targetId" + }, + { ATF_POINTER, 4, offsetof(struct LightVehicleCCMExtensions, accelForecast), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Acceleration, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accelForecast" + }, + { ATF_POINTER, 3, offsetof(struct LightVehicleCCMExtensions, accelTimeConst), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AccelTimeConstant, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accelTimeConst" + }, + { ATF_POINTER, 2, offsetof(struct LightVehicleCCMExtensions, seperationDist), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SeparationDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "seperationDist" + }, + { ATF_POINTER, 1, offsetof(struct LightVehicleCCMExtensions, frontCutIn), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FrontCutIn, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "frontCutIn" + }, +}; +static const int asn_MAP_LightVehicleCCMExtensions_oms_1[] = { 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_LightVehicleCCMExtensions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_LightVehicleCCMExtensions_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* longCntrlState */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* targetId */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* accelForecast */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* accelTimeConst */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* seperationDist */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* frontCutIn */ +}; +asn_SEQUENCE_specifics_t asn_SPC_LightVehicleCCMExtensions_specs_1 = { + sizeof(struct LightVehicleCCMExtensions), + offsetof(struct LightVehicleCCMExtensions, _asn_ctx), + asn_MAP_LightVehicleCCMExtensions_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_LightVehicleCCMExtensions_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_LightVehicleCCMExtensions = { + "LightVehicleCCMExtensions", + "LightVehicleCCMExtensions", + &asn_OP_SEQUENCE, + asn_DEF_LightVehicleCCMExtensions_tags_1, + sizeof(asn_DEF_LightVehicleCCMExtensions_tags_1) + /sizeof(asn_DEF_LightVehicleCCMExtensions_tags_1[0]), /* 1 */ + asn_DEF_LightVehicleCCMExtensions_tags_1, /* Same as above */ + sizeof(asn_DEF_LightVehicleCCMExtensions_tags_1) + /sizeof(asn_DEF_LightVehicleCCMExtensions_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_LightVehicleCCMExtensions_1, + 6, /* Elements count */ + &asn_SPC_LightVehicleCCMExtensions_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LightVehicleCCMExtensions.h b/src/tmx/Asn_J2735/src/r2024/LightVehicleCCMExtensions.h deleted file mode 100644 index 6712c4a1b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LightVehicleCCMExtensions.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LightVehicleCCMExtensions_H_ -#define _LightVehicleCCMExtensions_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LongitudinalControlState.h" -#include "TemporaryID.h" -#include "Acceleration.h" -#include "SeparationDistance.h" -#include "FrontCutIn.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct AccelTimeConstant; - -/* LightVehicleCCMExtensions */ -typedef struct LightVehicleCCMExtensions { - LongitudinalControlState_t longCntrlState; - TemporaryID_t *targetId; /* OPTIONAL */ - Acceleration_t *accelForecast; /* OPTIONAL */ - struct AccelTimeConstant *accelTimeConst; /* OPTIONAL */ - SeparationDistance_t *seperationDist; /* OPTIONAL */ - FrontCutIn_t *frontCutIn; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LightVehicleCCMExtensions_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LightVehicleCCMExtensions; -extern asn_SEQUENCE_specifics_t asn_SPC_LightVehicleCCMExtensions_specs_1; -extern asn_TYPE_member_t asn_MBR_LightVehicleCCMExtensions_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "AccelTimeConstant.h" - -#endif /* _LightVehicleCCMExtensions_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LightbarInUse.c b/src/tmx/Asn_J2735/src/r2024/LightbarInUse.c new file mode 100644 index 000000000..00448590a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LightbarInUse.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LightbarInUse.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LightbarInUse_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LightbarInUse_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_LightbarInUse_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 8, "notInUse" }, + { 2, 5, "inUse" }, + { 3, 19, "yellowCautionLights" }, + { 4, 16, "schooldBusLights" }, + { 5, 16, "arrowSignsActive" }, + { 6, 17, "slowMovingVehicle" }, + { 7, 9, "freqStops" } +}; +static const unsigned int asn_MAP_LightbarInUse_enum2value_1[] = { + 5, /* arrowSignsActive(5) */ + 7, /* freqStops(7) */ + 2, /* inUse(2) */ + 1, /* notInUse(1) */ + 4, /* schooldBusLights(4) */ + 6, /* slowMovingVehicle(6) */ + 0, /* unavailable(0) */ + 3 /* yellowCautionLights(3) */ +}; +const asn_INTEGER_specifics_t asn_SPC_LightbarInUse_specs_1 = { + asn_MAP_LightbarInUse_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_LightbarInUse_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_LightbarInUse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LightbarInUse = { + "LightbarInUse", + "LightbarInUse", + &asn_OP_NativeEnumerated, + asn_DEF_LightbarInUse_tags_1, + sizeof(asn_DEF_LightbarInUse_tags_1) + /sizeof(asn_DEF_LightbarInUse_tags_1[0]), /* 1 */ + asn_DEF_LightbarInUse_tags_1, /* Same as above */ + sizeof(asn_DEF_LightbarInUse_tags_1) + /sizeof(asn_DEF_LightbarInUse_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LightbarInUse_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LightbarInUse_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_LightbarInUse_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LightbarInUse.h b/src/tmx/Asn_J2735/src/r2024/LightbarInUse.h deleted file mode 100644 index dcaf56d26..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LightbarInUse.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LightbarInUse_H_ -#define _LightbarInUse_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LightbarInUse { - LightbarInUse_unavailable = 0, - LightbarInUse_notInUse = 1, - LightbarInUse_inUse = 2, - LightbarInUse_yellowCautionLights = 3, - LightbarInUse_schooldBusLights = 4, - LightbarInUse_arrowSignsActive = 5, - LightbarInUse_slowMovingVehicle = 6, - LightbarInUse_freqStops = 7 -} e_LightbarInUse; - -/* LightbarInUse */ -typedef long LightbarInUse_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LightbarInUse_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LightbarInUse; -extern const asn_INTEGER_specifics_t asn_SPC_LightbarInUse_specs_1; -asn_struct_free_f LightbarInUse_free; -asn_struct_print_f LightbarInUse_print; -asn_constr_check_f LightbarInUse_constraint; -ber_type_decoder_f LightbarInUse_decode_ber; -der_type_encoder_f LightbarInUse_encode_der; -xer_type_decoder_f LightbarInUse_decode_xer; -xer_type_encoder_f LightbarInUse_encode_xer; -oer_type_decoder_f LightbarInUse_decode_oer; -oer_type_encoder_f LightbarInUse_encode_oer; -per_type_decoder_f LightbarInUse_decode_uper; -per_type_encoder_f LightbarInUse_encode_uper; -per_type_decoder_f LightbarInUse_decode_aper; -per_type_encoder_f LightbarInUse_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LightbarInUse_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LocAndTimeStamp.c b/src/tmx/Asn_J2735/src/r2024/LocAndTimeStamp.c new file mode 100644 index 000000000..d27874bdb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LocAndTimeStamp.c @@ -0,0 +1,140 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageMessage" + * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LocAndTimeStamp.h" + +asn_TYPE_member_t asn_MBR_LocAndTimeStamp_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct LocAndTimeStamp, latitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Latitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "latitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct LocAndTimeStamp, longitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Longitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longitude" + }, + { ATF_POINTER, 1, offsetof(struct LocAndTimeStamp, elevation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Elevation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "elevation" + }, + { ATF_NOFLAGS, 0, offsetof(struct LocAndTimeStamp, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_POINTER, 1, offsetof(struct LocAndTimeStamp, currentLane), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "currentLane" + }, +}; +static const int asn_MAP_LocAndTimeStamp_oms_1[] = { 2, 4 }; +static const ber_tlv_tag_t asn_DEF_LocAndTimeStamp_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_LocAndTimeStamp_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* latitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* longitude */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* elevation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* currentLane */ +}; +asn_SEQUENCE_specifics_t asn_SPC_LocAndTimeStamp_specs_1 = { + sizeof(struct LocAndTimeStamp), + offsetof(struct LocAndTimeStamp, _asn_ctx), + asn_MAP_LocAndTimeStamp_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_LocAndTimeStamp_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_LocAndTimeStamp = { + "LocAndTimeStamp", + "LocAndTimeStamp", + &asn_OP_SEQUENCE, + asn_DEF_LocAndTimeStamp_tags_1, + sizeof(asn_DEF_LocAndTimeStamp_tags_1) + /sizeof(asn_DEF_LocAndTimeStamp_tags_1[0]), /* 1 */ + asn_DEF_LocAndTimeStamp_tags_1, /* Same as above */ + sizeof(asn_DEF_LocAndTimeStamp_tags_1) + /sizeof(asn_DEF_LocAndTimeStamp_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_LocAndTimeStamp_1, + 5, /* Elements count */ + &asn_SPC_LocAndTimeStamp_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LocAndTimeStamp.h b/src/tmx/Asn_J2735/src/r2024/LocAndTimeStamp.h deleted file mode 100644 index e926fe0a2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LocAndTimeStamp.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageMessage" - * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LocAndTimeStamp_H_ -#define _LocAndTimeStamp_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_Latitude.h" -#include "Common_Longitude.h" -#include "Common_Elevation.h" -#include "DDateTime.h" -#include "LaneID.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LocAndTimeStamp */ -typedef struct LocAndTimeStamp { - Common_Latitude_t latitude; - Common_Longitude_t longitude; - Common_Elevation_t *elevation; /* OPTIONAL */ - DDateTime_t timeStamp; - LaneID_t *currentLane; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LocAndTimeStamp_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LocAndTimeStamp; -extern asn_SEQUENCE_specifics_t asn_SPC_LocAndTimeStamp_specs_1; -extern asn_TYPE_member_t asn_MBR_LocAndTimeStamp_1[5]; - -#ifdef __cplusplus -} -#endif - -#endif /* _LocAndTimeStamp_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LocAndTimeStamps.c b/src/tmx/Asn_J2735/src/r2024/LocAndTimeStamps.c new file mode 100644 index 000000000..d53b93e84 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LocAndTimeStamps.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageMessage" + * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LocAndTimeStamps.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LocAndTimeStamps_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LocAndTimeStamps_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 5 } /* (SIZE(1..5,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_LocAndTimeStamps_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_LocAndTimeStamp, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_LocAndTimeStamps_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_LocAndTimeStamps_specs_1 = { + sizeof(struct LocAndTimeStamps), + offsetof(struct LocAndTimeStamps, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_LocAndTimeStamps = { + "LocAndTimeStamps", + "LocAndTimeStamps", + &asn_OP_SEQUENCE_OF, + asn_DEF_LocAndTimeStamps_tags_1, + sizeof(asn_DEF_LocAndTimeStamps_tags_1) + /sizeof(asn_DEF_LocAndTimeStamps_tags_1[0]), /* 1 */ + asn_DEF_LocAndTimeStamps_tags_1, /* Same as above */ + sizeof(asn_DEF_LocAndTimeStamps_tags_1) + /sizeof(asn_DEF_LocAndTimeStamps_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LocAndTimeStamps_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LocAndTimeStamps_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_LocAndTimeStamps_1, + 1, /* Single element */ + &asn_SPC_LocAndTimeStamps_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LocAndTimeStamps.h b/src/tmx/Asn_J2735/src/r2024/LocAndTimeStamps.h deleted file mode 100644 index c08382ac3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LocAndTimeStamps.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageMessage" - * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LocAndTimeStamps_H_ -#define _LocAndTimeStamps_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct LocAndTimeStamp; - -/* LocAndTimeStamps */ -typedef struct LocAndTimeStamps { - A_SEQUENCE_OF(struct LocAndTimeStamp) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LocAndTimeStamps_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LocAndTimeStamps; -extern asn_SET_OF_specifics_t asn_SPC_LocAndTimeStamps_specs_1; -extern asn_TYPE_member_t asn_MBR_LocAndTimeStamps_1[1]; -extern asn_per_constraints_t asn_PER_type_LocAndTimeStamps_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "LocAndTimeStamp.h" - -#endif /* _LocAndTimeStamps_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LocalVehicleClassId.c b/src/tmx/Asn_J2735/src/r2024/LocalVehicleClassId.c new file mode 100644 index 000000000..6f7df10e3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LocalVehicleClassId.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LocalVehicleClassId.h" + +int +LocalVehicleClassId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Int2Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LocalVehicleClassId_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LocalVehicleClassId_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LocalVehicleClassId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LocalVehicleClassId = { + "LocalVehicleClassId", + "LocalVehicleClassId", + &asn_OP_NativeInteger, + asn_DEF_LocalVehicleClassId_tags_1, + sizeof(asn_DEF_LocalVehicleClassId_tags_1) + /sizeof(asn_DEF_LocalVehicleClassId_tags_1[0]), /* 1 */ + asn_DEF_LocalVehicleClassId_tags_1, /* Same as above */ + sizeof(asn_DEF_LocalVehicleClassId_tags_1) + /sizeof(asn_DEF_LocalVehicleClassId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LocalVehicleClassId_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LocalVehicleClassId_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LocalVehicleClassId_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LocalVehicleClassId.h b/src/tmx/Asn_J2735/src/r2024/LocalVehicleClassId.h deleted file mode 100644 index 5c878bf2d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LocalVehicleClassId.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LocalVehicleClassId_H_ -#define _LocalVehicleClassId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int2Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LocalVehicleClassId */ -typedef Int2Unsigned_t LocalVehicleClassId_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LocalVehicleClassId_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LocalVehicleClassId; -asn_struct_free_f LocalVehicleClassId_free; -asn_struct_print_f LocalVehicleClassId_print; -asn_constr_check_f LocalVehicleClassId_constraint; -ber_type_decoder_f LocalVehicleClassId_decode_ber; -der_type_encoder_f LocalVehicleClassId_encode_der; -xer_type_decoder_f LocalVehicleClassId_decode_xer; -xer_type_encoder_f LocalVehicleClassId_encode_xer; -oer_type_decoder_f LocalVehicleClassId_decode_oer; -oer_type_encoder_f LocalVehicleClassId_encode_oer; -per_type_decoder_f LocalVehicleClassId_decode_uper; -per_type_encoder_f LocalVehicleClassId_encode_uper; -per_type_decoder_f LocalVehicleClassId_decode_aper; -per_type_encoder_f LocalVehicleClassId_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LocalVehicleClassId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Location-quality.c b/src/tmx/Asn_J2735/src/r2024/Location-quality.c new file mode 100644 index 000000000..ae60d0c59 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Location-quality.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Location-quality.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Location_quality_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Location_quality_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Location_quality_value2enum_1[] = { + { 0, 13, "loc-qual-bt1m" }, + { 1, 13, "loc-qual-bt5m" }, + { 2, 14, "loc-qual-bt12m" }, + { 3, 14, "loc-qual-bt50m" }, + { 4, 15, "loc-qual-bt125m" }, + { 5, 15, "loc-qual-bt500m" }, + { 6, 16, "loc-qual-bt1250m" }, + { 7, 16, "loc-qual-unknown" } +}; +static const unsigned int asn_MAP_Location_quality_enum2value_1[] = { + 6, /* loc-qual-bt1250m(6) */ + 4, /* loc-qual-bt125m(4) */ + 2, /* loc-qual-bt12m(2) */ + 0, /* loc-qual-bt1m(0) */ + 5, /* loc-qual-bt500m(5) */ + 3, /* loc-qual-bt50m(3) */ + 1, /* loc-qual-bt5m(1) */ + 7 /* loc-qual-unknown(7) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_Location_quality_specs_1 = { + asn_MAP_Location_quality_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Location_quality_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Location_quality_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Location_quality = { + "Location-quality", + "Location-quality", + &asn_OP_NativeEnumerated, + asn_DEF_Location_quality_tags_1, + sizeof(asn_DEF_Location_quality_tags_1) + /sizeof(asn_DEF_Location_quality_tags_1[0]), /* 1 */ + asn_DEF_Location_quality_tags_1, /* Same as above */ + sizeof(asn_DEF_Location_quality_tags_1) + /sizeof(asn_DEF_Location_quality_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Location_quality_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Location_quality_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Location_quality_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Location-quality.h b/src/tmx/Asn_J2735/src/r2024/Location-quality.h deleted file mode 100644 index fbf6b1351..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Location-quality.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Location_quality_H_ -#define _Location_quality_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Location_quality { - Location_quality_loc_qual_bt1m = 0, - Location_quality_loc_qual_bt5m = 1, - Location_quality_loc_qual_bt12m = 2, - Location_quality_loc_qual_bt50m = 3, - Location_quality_loc_qual_bt125m = 4, - Location_quality_loc_qual_bt500m = 5, - Location_quality_loc_qual_bt1250m = 6, - Location_quality_loc_qual_unknown = 7 -} e_Location_quality; - -/* Location-quality */ -typedef long Location_quality_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Location_quality; -asn_struct_free_f Location_quality_free; -asn_struct_print_f Location_quality_print; -asn_constr_check_f Location_quality_constraint; -ber_type_decoder_f Location_quality_decode_ber; -der_type_encoder_f Location_quality_encode_der; -xer_type_decoder_f Location_quality_decode_xer; -xer_type_encoder_f Location_quality_encode_xer; -oer_type_decoder_f Location_quality_decode_oer; -oer_type_encoder_f Location_quality_encode_oer; -per_type_decoder_f Location_quality_decode_uper; -per_type_encoder_f Location_quality_encode_uper; -per_type_decoder_f Location_quality_decode_aper; -per_type_encoder_f Location_quality_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Location_quality_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Location-tech.c b/src/tmx/Asn_J2735/src/r2024/Location-tech.c new file mode 100644 index 000000000..0af05a1da --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Location-tech.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Location-tech.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Location_tech_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Location_tech_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 9 } /* (0..9,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Location_tech_value2enum_1[] = { + { 0, 16, "loc-tech-unknown" }, + { 1, 13, "loc-tech-GNSS" }, + { 2, 13, "loc-tech-DGPS" }, + { 3, 12, "loc-tech-RTK" }, + { 4, 12, "loc-tech-PPP" }, + { 5, 14, "loc-tech-drGPS" }, + { 6, 15, "loc-tech-drDGPS" }, + { 7, 11, "loc-tech-dr" }, + { 8, 12, "loc-tech-nav" }, + { 9, 14, "loc-tech-fault" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Location_tech_enum2value_1[] = { + 2, /* loc-tech-DGPS(2) */ + 1, /* loc-tech-GNSS(1) */ + 4, /* loc-tech-PPP(4) */ + 3, /* loc-tech-RTK(3) */ + 7, /* loc-tech-dr(7) */ + 6, /* loc-tech-drDGPS(6) */ + 5, /* loc-tech-drGPS(5) */ + 9, /* loc-tech-fault(9) */ + 8, /* loc-tech-nav(8) */ + 0 /* loc-tech-unknown(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_Location_tech_specs_1 = { + asn_MAP_Location_tech_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Location_tech_enum2value_1, /* N => "tag"; sorted by N */ + 10, /* Number of elements in the maps */ + 11, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Location_tech_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Location_tech = { + "Location-tech", + "Location-tech", + &asn_OP_NativeEnumerated, + asn_DEF_Location_tech_tags_1, + sizeof(asn_DEF_Location_tech_tags_1) + /sizeof(asn_DEF_Location_tech_tags_1[0]), /* 1 */ + asn_DEF_Location_tech_tags_1, /* Same as above */ + sizeof(asn_DEF_Location_tech_tags_1) + /sizeof(asn_DEF_Location_tech_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Location_tech_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Location_tech_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Location_tech_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Location-tech.h b/src/tmx/Asn_J2735/src/r2024/Location-tech.h deleted file mode 100644 index 811ab4a24..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Location-tech.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Location_tech_H_ -#define _Location_tech_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Location_tech { - Location_tech_loc_tech_unknown = 0, - Location_tech_loc_tech_GNSS = 1, - Location_tech_loc_tech_DGPS = 2, - Location_tech_loc_tech_RTK = 3, - Location_tech_loc_tech_PPP = 4, - Location_tech_loc_tech_drGPS = 5, - Location_tech_loc_tech_drDGPS = 6, - Location_tech_loc_tech_dr = 7, - Location_tech_loc_tech_nav = 8, - Location_tech_loc_tech_fault = 9 - /* - * Enumeration is extensible - */ -} e_Location_tech; - -/* Location-tech */ -typedef long Location_tech_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Location_tech; -asn_struct_free_f Location_tech_free; -asn_struct_print_f Location_tech_print; -asn_constr_check_f Location_tech_constraint; -ber_type_decoder_f Location_tech_decode_ber; -der_type_encoder_f Location_tech_encode_der; -xer_type_decoder_f Location_tech_decode_xer; -xer_type_encoder_f Location_tech_encode_xer; -oer_type_decoder_f Location_tech_decode_oer; -oer_type_encoder_f Location_tech_encode_oer; -per_type_decoder_f Location_tech_decode_uper; -per_type_encoder_f Location_tech_encode_uper; -per_type_decoder_f Location_tech_decode_aper; -per_type_encoder_f Location_tech_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Location_tech_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LocationClassId.c b/src/tmx/Asn_J2735/src/r2024/LocationClassId.c new file mode 100644 index 000000000..9ac4e944c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LocationClassId.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LocationClassId.h" + +int +LocationClassId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using Int4Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LocationClassId_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..4294967295) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LocationClassId_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LocationClassId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LocationClassId = { + "LocationClassId", + "LocationClassId", + &asn_OP_NativeInteger, + asn_DEF_LocationClassId_tags_1, + sizeof(asn_DEF_LocationClassId_tags_1) + /sizeof(asn_DEF_LocationClassId_tags_1[0]), /* 1 */ + asn_DEF_LocationClassId_tags_1, /* Same as above */ + sizeof(asn_DEF_LocationClassId_tags_1) + /sizeof(asn_DEF_LocationClassId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LocationClassId_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LocationClassId_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LocationClassId_constraint + }, + 0, 0, /* No members */ + &asn_SPC_Int4Unsigned_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LocationClassId.h b/src/tmx/Asn_J2735/src/r2024/LocationClassId.h deleted file mode 100644 index 0739b5cd6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LocationClassId.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LocationClassId_H_ -#define _LocationClassId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int4Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LocationClassId */ -typedef Int4Unsigned_t LocationClassId_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LocationClassId_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LocationClassId; -asn_struct_free_f LocationClassId_free; -asn_struct_print_f LocationClassId_print; -asn_constr_check_f LocationClassId_constraint; -ber_type_decoder_f LocationClassId_decode_ber; -der_type_encoder_f LocationClassId_encode_der; -xer_type_decoder_f LocationClassId_decode_xer; -xer_type_encoder_f LocationClassId_encode_xer; -oer_type_decoder_f LocationClassId_decode_oer; -oer_type_encoder_f LocationClassId_encode_oer; -per_type_decoder_f LocationClassId_decode_uper; -per_type_encoder_f LocationClassId_encode_uper; -per_type_decoder_f LocationClassId_decode_aper; -per_type_encoder_f LocationClassId_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LocationClassId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LongOffset.c b/src/tmx/Asn_J2735/src/r2024/LongOffset.c new file mode 100644 index 000000000..ed854010b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LongOffset.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LongOffset.h" + +int +LongOffset_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -16384L && value <= 16383L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LongOffset_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-16384..16383) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LongOffset_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, -16384, 16383 } /* (-16384..16383) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LongOffset_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LongOffset = { + "LongOffset", + "LongOffset", + &asn_OP_NativeInteger, + asn_DEF_LongOffset_tags_1, + sizeof(asn_DEF_LongOffset_tags_1) + /sizeof(asn_DEF_LongOffset_tags_1[0]), /* 1 */ + asn_DEF_LongOffset_tags_1, /* Same as above */ + sizeof(asn_DEF_LongOffset_tags_1) + /sizeof(asn_DEF_LongOffset_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LongOffset_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LongOffset_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LongOffset_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LongOffset.h b/src/tmx/Asn_J2735/src/r2024/LongOffset.h deleted file mode 100644 index 6064b9001..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LongOffset.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LongOffset_H_ -#define _LongOffset_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LongOffset */ -typedef long LongOffset_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LongOffset_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LongOffset; -asn_struct_free_f LongOffset_free; -asn_struct_print_f LongOffset_print; -asn_constr_check_f LongOffset_constraint; -ber_type_decoder_f LongOffset_decode_ber; -der_type_encoder_f LongOffset_encode_der; -xer_type_decoder_f LongOffset_decode_xer; -xer_type_encoder_f LongOffset_encode_xer; -oer_type_decoder_f LongOffset_decode_oer; -oer_type_encoder_f LongOffset_encode_oer; -per_type_decoder_f LongOffset_decode_uper; -per_type_encoder_f LongOffset_encode_uper; -per_type_decoder_f LongOffset_decode_aper; -per_type_encoder_f LongOffset_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LongOffset_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LongitudeDMS.c b/src/tmx/Asn_J2735/src/r2024/LongitudeDMS.c new file mode 100644 index 000000000..0b80d4f11 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LongitudeDMS.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LongitudeDMS.h" + +int +LongitudeDMS_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -64800000L && value <= 64800000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LongitudeDMS_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-64800000..64800000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LongitudeDMS_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 27, -1, -64800000, 64800000 } /* (-64800000..64800000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_LongitudeDMS_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LongitudeDMS = { + "LongitudeDMS", + "LongitudeDMS", + &asn_OP_NativeInteger, + asn_DEF_LongitudeDMS_tags_1, + sizeof(asn_DEF_LongitudeDMS_tags_1) + /sizeof(asn_DEF_LongitudeDMS_tags_1[0]), /* 1 */ + asn_DEF_LongitudeDMS_tags_1, /* Same as above */ + sizeof(asn_DEF_LongitudeDMS_tags_1) + /sizeof(asn_DEF_LongitudeDMS_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LongitudeDMS_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LongitudeDMS_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + LongitudeDMS_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LongitudeDMS.h b/src/tmx/Asn_J2735/src/r2024/LongitudeDMS.h deleted file mode 100644 index 7121883a3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LongitudeDMS.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LongitudeDMS_H_ -#define _LongitudeDMS_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LongitudeDMS */ -typedef long LongitudeDMS_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LongitudeDMS_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LongitudeDMS; -asn_struct_free_f LongitudeDMS_free; -asn_struct_print_f LongitudeDMS_print; -asn_constr_check_f LongitudeDMS_constraint; -ber_type_decoder_f LongitudeDMS_decode_ber; -der_type_encoder_f LongitudeDMS_encode_der; -xer_type_decoder_f LongitudeDMS_decode_xer; -xer_type_encoder_f LongitudeDMS_encode_xer; -oer_type_decoder_f LongitudeDMS_decode_oer; -oer_type_encoder_f LongitudeDMS_encode_oer; -per_type_decoder_f LongitudeDMS_decode_uper; -per_type_encoder_f LongitudeDMS_encode_uper; -per_type_decoder_f LongitudeDMS_decode_aper; -per_type_encoder_f LongitudeDMS_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LongitudeDMS_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LongitudeDMS2.c b/src/tmx/Asn_J2735/src/r2024/LongitudeDMS2.c new file mode 100644 index 000000000..1c8001f29 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LongitudeDMS2.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LongitudeDMS2.h" + +asn_TYPE_member_t asn_MBR_LongitudeDMS2_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct LongitudeDMS2, d), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DegreesLong, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "d" + }, + { ATF_NOFLAGS, 0, offsetof(struct LongitudeDMS2, m), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinutesAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "m" + }, + { ATF_NOFLAGS, 0, offsetof(struct LongitudeDMS2, s), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SecondsAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "s" + }, +}; +static const ber_tlv_tag_t asn_DEF_LongitudeDMS2_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_LongitudeDMS2_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* d */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* m */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* s */ +}; +asn_SEQUENCE_specifics_t asn_SPC_LongitudeDMS2_specs_1 = { + sizeof(struct LongitudeDMS2), + offsetof(struct LongitudeDMS2, _asn_ctx), + asn_MAP_LongitudeDMS2_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_LongitudeDMS2 = { + "LongitudeDMS2", + "LongitudeDMS2", + &asn_OP_SEQUENCE, + asn_DEF_LongitudeDMS2_tags_1, + sizeof(asn_DEF_LongitudeDMS2_tags_1) + /sizeof(asn_DEF_LongitudeDMS2_tags_1[0]), /* 1 */ + asn_DEF_LongitudeDMS2_tags_1, /* Same as above */ + sizeof(asn_DEF_LongitudeDMS2_tags_1) + /sizeof(asn_DEF_LongitudeDMS2_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_LongitudeDMS2_1, + 3, /* Elements count */ + &asn_SPC_LongitudeDMS2_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LongitudeDMS2.h b/src/tmx/Asn_J2735/src/r2024/LongitudeDMS2.h deleted file mode 100644 index 62452b42d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LongitudeDMS2.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LongitudeDMS2_H_ -#define _LongitudeDMS2_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DegreesLong.h" -#include "MinutesAngle.h" -#include "SecondsAngle.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* LongitudeDMS2 */ -typedef struct LongitudeDMS2 { - DegreesLong_t d; - MinutesAngle_t m; - SecondsAngle_t s; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} LongitudeDMS2_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_LongitudeDMS2; -extern asn_SEQUENCE_specifics_t asn_SPC_LongitudeDMS2_specs_1; -extern asn_TYPE_member_t asn_MBR_LongitudeDMS2_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _LongitudeDMS2_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/LongitudinalControlState.c b/src/tmx/Asn_J2735/src/r2024/LongitudinalControlState.c new file mode 100644 index 000000000..79d2f9df1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/LongitudinalControlState.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "LongitudinalControlState.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_LongitudinalControlState_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_LongitudinalControlState_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 8 } /* (0..8,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_LongitudinalControlState_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 6, "manual" }, + { 2, 2, "cc" }, + { 3, 3, "acc" }, + { 4, 7, "caccOne" }, + { 5, 12, "caccMultiple" }, + { 6, 10, "sensorAuto" }, + { 7, 9, "fusedAuto" }, + { 8, 10, "manualOver" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_LongitudinalControlState_enum2value_1[] = { + 3, /* acc(3) */ + 5, /* caccMultiple(5) */ + 4, /* caccOne(4) */ + 2, /* cc(2) */ + 7, /* fusedAuto(7) */ + 1, /* manual(1) */ + 8, /* manualOver(8) */ + 6, /* sensorAuto(6) */ + 0 /* unavailable(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_LongitudinalControlState_specs_1 = { + asn_MAP_LongitudinalControlState_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_LongitudinalControlState_enum2value_1, /* N => "tag"; sorted by N */ + 9, /* Number of elements in the maps */ + 10, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_LongitudinalControlState_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_LongitudinalControlState = { + "LongitudinalControlState", + "LongitudinalControlState", + &asn_OP_NativeEnumerated, + asn_DEF_LongitudinalControlState_tags_1, + sizeof(asn_DEF_LongitudinalControlState_tags_1) + /sizeof(asn_DEF_LongitudinalControlState_tags_1[0]), /* 1 */ + asn_DEF_LongitudinalControlState_tags_1, /* Same as above */ + sizeof(asn_DEF_LongitudinalControlState_tags_1) + /sizeof(asn_DEF_LongitudinalControlState_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_LongitudinalControlState_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_LongitudinalControlState_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_LongitudinalControlState_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/LongitudinalControlState.h b/src/tmx/Asn_J2735/src/r2024/LongitudinalControlState.h deleted file mode 100644 index 07772199c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/LongitudinalControlState.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _LongitudinalControlState_H_ -#define _LongitudinalControlState_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum LongitudinalControlState { - LongitudinalControlState_unavailable = 0, - LongitudinalControlState_manual = 1, - LongitudinalControlState_cc = 2, - LongitudinalControlState_acc = 3, - LongitudinalControlState_caccOne = 4, - LongitudinalControlState_caccMultiple = 5, - LongitudinalControlState_sensorAuto = 6, - LongitudinalControlState_fusedAuto = 7, - LongitudinalControlState_manualOver = 8 - /* - * Enumeration is extensible - */ -} e_LongitudinalControlState; - -/* LongitudinalControlState */ -typedef long LongitudinalControlState_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_LongitudinalControlState_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_LongitudinalControlState; -extern const asn_INTEGER_specifics_t asn_SPC_LongitudinalControlState_specs_1; -asn_struct_free_f LongitudinalControlState_free; -asn_struct_print_f LongitudinalControlState_print; -asn_constr_check_f LongitudinalControlState_constraint; -ber_type_decoder_f LongitudinalControlState_decode_ber; -der_type_encoder_f LongitudinalControlState_encode_der; -xer_type_decoder_f LongitudinalControlState_decode_xer; -xer_type_encoder_f LongitudinalControlState_encode_xer; -oer_type_decoder_f LongitudinalControlState_decode_oer; -oer_type_encoder_f LongitudinalControlState_encode_oer; -per_type_decoder_f LongitudinalControlState_decode_uper; -per_type_encoder_f LongitudinalControlState_encode_uper; -per_type_decoder_f LongitudinalControlState_decode_aper; -per_type_encoder_f LongitudinalControlState_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _LongitudinalControlState_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Lpn.c b/src/tmx/Asn_J2735/src/r2024/Lpn.c new file mode 100644 index 000000000..9247a8c58 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Lpn.c @@ -0,0 +1,225 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Lpn.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_alphabetIndicator_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_alphabetIndicator_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 32 } /* (0..32) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_alphabetIndicator_value2enum_3[] = { + { 1, 16, "latinAlphabetNo1" }, + { 2, 16, "latinAlphabetNo2" }, + { 3, 16, "latinAlphabetNo3" }, + { 4, 16, "latinAlphabetNo4" }, + { 5, 21, "latinCyrillicAlphabet" }, + { 6, 19, "latinArabicAlphabet" }, + { 7, 18, "latinGreekAlphabet" }, + { 8, 19, "latinHebrewAlphabet" }, + { 9, 16, "latinAlphabetNo5" }, + { 10, 16, "latinAlphabetNo6" }, + { 11, 11, "twoOctetBMP" }, + { 12, 18, "fourOctetCanonical" }, + { 13, 15, "reservedForUse1" }, + { 14, 15, "reservedForUse2" }, + { 15, 15, "reservedForUse3" }, + { 16, 15, "reservedForUse4" }, + { 17, 15, "reservedForUse5" }, + { 18, 15, "reservedForUse6" }, + { 19, 15, "reservedForUse7" }, + { 20, 15, "reservedForUse8" }, + { 21, 15, "reservedForUse9" }, + { 22, 16, "reservedForUse10" }, + { 23, 16, "reservedForUse11" }, + { 24, 16, "reservedForUse12" }, + { 25, 16, "reservedForUse13" }, + { 26, 16, "reservedForUse14" }, + { 27, 16, "reservedForUse15" }, + { 28, 16, "reservedForUse16" }, + { 29, 16, "reservedForUse17" }, + { 30, 16, "reservedForUse18" }, + { 31, 16, "reservedForUse19" }, + { 32, 16, "reservedForUse20" }, + { 33, 16, "reservedForUse21" } +}; +static const unsigned int asn_MAP_alphabetIndicator_enum2value_3[] = { + 11, /* fourOctetCanonical(12) */ + 0, /* latinAlphabetNo1(1) */ + 1, /* latinAlphabetNo2(2) */ + 2, /* latinAlphabetNo3(3) */ + 3, /* latinAlphabetNo4(4) */ + 8, /* latinAlphabetNo5(9) */ + 9, /* latinAlphabetNo6(10) */ + 5, /* latinArabicAlphabet(6) */ + 4, /* latinCyrillicAlphabet(5) */ + 6, /* latinGreekAlphabet(7) */ + 7, /* latinHebrewAlphabet(8) */ + 12, /* reservedForUse1(13) */ + 21, /* reservedForUse10(22) */ + 22, /* reservedForUse11(23) */ + 23, /* reservedForUse12(24) */ + 24, /* reservedForUse13(25) */ + 25, /* reservedForUse14(26) */ + 26, /* reservedForUse15(27) */ + 27, /* reservedForUse16(28) */ + 28, /* reservedForUse17(29) */ + 29, /* reservedForUse18(30) */ + 30, /* reservedForUse19(31) */ + 13, /* reservedForUse2(14) */ + 31, /* reservedForUse20(32) */ + 32, /* reservedForUse21(33) */ + 14, /* reservedForUse3(15) */ + 15, /* reservedForUse4(16) */ + 16, /* reservedForUse5(17) */ + 17, /* reservedForUse6(18) */ + 18, /* reservedForUse7(19) */ + 19, /* reservedForUse8(20) */ + 20, /* reservedForUse9(21) */ + 10 /* twoOctetBMP(11) */ +}; +static const asn_INTEGER_specifics_t asn_SPC_alphabetIndicator_specs_3 = { + asn_MAP_alphabetIndicator_value2enum_3, /* "tag" => N; sorted by tag */ + asn_MAP_alphabetIndicator_enum2value_3, /* N => "tag"; sorted by N */ + 33, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_alphabetIndicator_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_alphabetIndicator_3 = { + "alphabetIndicator", + "alphabetIndicator", + &asn_OP_NativeEnumerated, + asn_DEF_alphabetIndicator_tags_3, + sizeof(asn_DEF_alphabetIndicator_tags_3) + /sizeof(asn_DEF_alphabetIndicator_tags_3[0]) - 1, /* 1 */ + asn_DEF_alphabetIndicator_tags_3, /* Same as above */ + sizeof(asn_DEF_alphabetIndicator_tags_3) + /sizeof(asn_DEF_alphabetIndicator_tags_3[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_alphabetIndicator_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_alphabetIndicator_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_alphabetIndicator_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Lpn_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Lpn, countryCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CountryCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "countryCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct Lpn, alphabetIndicator), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_alphabetIndicator_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "alphabetIndicator" + }, + { ATF_NOFLAGS, 0, offsetof(struct Lpn, licencePlateNumber), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "licencePlateNumber" + }, +}; +static const ber_tlv_tag_t asn_DEF_Lpn_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Lpn_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* countryCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* alphabetIndicator */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* licencePlateNumber */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Lpn_specs_1 = { + sizeof(struct Lpn), + offsetof(struct Lpn, _asn_ctx), + asn_MAP_Lpn_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Lpn = { + "Lpn", + "Lpn", + &asn_OP_SEQUENCE, + asn_DEF_Lpn_tags_1, + sizeof(asn_DEF_Lpn_tags_1) + /sizeof(asn_DEF_Lpn_tags_1[0]), /* 1 */ + asn_DEF_Lpn_tags_1, /* Same as above */ + sizeof(asn_DEF_Lpn_tags_1) + /sizeof(asn_DEF_Lpn_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Lpn_1, + 3, /* Elements count */ + &asn_SPC_Lpn_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Lpn.h b/src/tmx/Asn_J2735/src/r2024/Lpn.h deleted file mode 100644 index 8a4df074a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Lpn.h +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Lpn_H_ -#define _Lpn_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "CountryCode.h" -#include "NativeEnumerated.h" -#include "OCTET_STRING.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Lpn__alphabetIndicator { - Lpn__alphabetIndicator_latinAlphabetNo1 = 1, - Lpn__alphabetIndicator_latinAlphabetNo2 = 2, - Lpn__alphabetIndicator_latinAlphabetNo3 = 3, - Lpn__alphabetIndicator_latinAlphabetNo4 = 4, - Lpn__alphabetIndicator_latinCyrillicAlphabet = 5, - Lpn__alphabetIndicator_latinArabicAlphabet = 6, - Lpn__alphabetIndicator_latinGreekAlphabet = 7, - Lpn__alphabetIndicator_latinHebrewAlphabet = 8, - Lpn__alphabetIndicator_latinAlphabetNo5 = 9, - Lpn__alphabetIndicator_latinAlphabetNo6 = 10, - Lpn__alphabetIndicator_twoOctetBMP = 11, - Lpn__alphabetIndicator_fourOctetCanonical = 12, - Lpn__alphabetIndicator_reservedForUse1 = 13, - Lpn__alphabetIndicator_reservedForUse2 = 14, - Lpn__alphabetIndicator_reservedForUse3 = 15, - Lpn__alphabetIndicator_reservedForUse4 = 16, - Lpn__alphabetIndicator_reservedForUse5 = 17, - Lpn__alphabetIndicator_reservedForUse6 = 18, - Lpn__alphabetIndicator_reservedForUse7 = 19, - Lpn__alphabetIndicator_reservedForUse8 = 20, - Lpn__alphabetIndicator_reservedForUse9 = 21, - Lpn__alphabetIndicator_reservedForUse10 = 22, - Lpn__alphabetIndicator_reservedForUse11 = 23, - Lpn__alphabetIndicator_reservedForUse12 = 24, - Lpn__alphabetIndicator_reservedForUse13 = 25, - Lpn__alphabetIndicator_reservedForUse14 = 26, - Lpn__alphabetIndicator_reservedForUse15 = 27, - Lpn__alphabetIndicator_reservedForUse16 = 28, - Lpn__alphabetIndicator_reservedForUse17 = 29, - Lpn__alphabetIndicator_reservedForUse18 = 30, - Lpn__alphabetIndicator_reservedForUse19 = 31, - Lpn__alphabetIndicator_reservedForUse20 = 32, - Lpn__alphabetIndicator_reservedForUse21 = 33 -} e_Lpn__alphabetIndicator; - -/* Lpn */ -typedef struct Lpn { - CountryCode_t countryCode; - long alphabetIndicator; - OCTET_STRING_t licencePlateNumber; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Lpn_t; - -/* Implementation */ -/* extern asn_TYPE_descriptor_t asn_DEF_alphabetIndicator_3; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_Lpn; -extern asn_SEQUENCE_specifics_t asn_SPC_Lpn_specs_1; -extern asn_TYPE_member_t asn_MBR_Lpn_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Lpn_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MSCMType.c b/src/tmx/Asn_J2735/src/r2024/MSCMType.c new file mode 100644 index 000000000..449e4d37b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MSCMType.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MSCMType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MSCMType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MSCMType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_MSCMType_value2enum_1[] = { + { 0, 14, "maneuverIntent" }, + { 1, 15, "maneuverRequest" }, + { 2, 16, "maneuverResponse" }, + { 3, 19, "maneuverReservation" }, + { 4, 22, "hVManeuverCancellation" }, + { 5, 29, "rVManeuverCancellationRequest" }, + { 6, 28, "emergencyManeuverReservation" }, + { 7, 23, "maneuverExecutionStatus" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_MSCMType_enum2value_1[] = { + 6, /* emergencyManeuverReservation(6) */ + 4, /* hVManeuverCancellation(4) */ + 7, /* maneuverExecutionStatus(7) */ + 0, /* maneuverIntent(0) */ + 1, /* maneuverRequest(1) */ + 3, /* maneuverReservation(3) */ + 2, /* maneuverResponse(2) */ + 5 /* rVManeuverCancellationRequest(5) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_MSCMType_specs_1 = { + asn_MAP_MSCMType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_MSCMType_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 9, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_MSCMType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MSCMType = { + "MSCMType", + "MSCMType", + &asn_OP_NativeEnumerated, + asn_DEF_MSCMType_tags_1, + sizeof(asn_DEF_MSCMType_tags_1) + /sizeof(asn_DEF_MSCMType_tags_1[0]), /* 1 */ + asn_DEF_MSCMType_tags_1, /* Same as above */ + sizeof(asn_DEF_MSCMType_tags_1) + /sizeof(asn_DEF_MSCMType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MSCMType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MSCMType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_MSCMType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MSCMType.h b/src/tmx/Asn_J2735/src/r2024/MSCMType.h deleted file mode 100644 index 2d7a8634c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MSCMType.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MSCMType_H_ -#define _MSCMType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum MSCMType { - MSCMType_maneuverIntent = 0, - MSCMType_maneuverRequest = 1, - MSCMType_maneuverResponse = 2, - MSCMType_maneuverReservation = 3, - MSCMType_hVManeuverCancellation = 4, - MSCMType_rVManeuverCancellationRequest = 5, - MSCMType_emergencyManeuverReservation = 6, - MSCMType_maneuverExecutionStatus = 7 - /* - * Enumeration is extensible - */ -} e_MSCMType; - -/* MSCMType */ -typedef long MSCMType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MSCMType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MSCMType; -extern const asn_INTEGER_specifics_t asn_SPC_MSCMType_specs_1; -asn_struct_free_f MSCMType_free; -asn_struct_print_f MSCMType_print; -asn_constr_check_f MSCMType_constraint; -ber_type_decoder_f MSCMType_decode_ber; -der_type_encoder_f MSCMType_encode_der; -xer_type_decoder_f MSCMType_decode_xer; -xer_type_encoder_f MSCMType_encode_xer; -oer_type_decoder_f MSCMType_decode_oer; -oer_type_encoder_f MSCMType_encode_oer; -per_type_decoder_f MSCMType_decode_uper; -per_type_encoder_f MSCMType_encode_uper; -per_type_decoder_f MSCMType_decode_aper; -per_type_encoder_f MSCMType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MSCMType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MUTCDCode.c b/src/tmx/Asn_J2735/src/r2024/MUTCDCode.c new file mode 100644 index 000000000..076945a7a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MUTCDCode.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MUTCDCode.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MUTCDCode_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MUTCDCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_MUTCDCode_value2enum_1[] = { + { 0, 4, "none" }, + { 1, 10, "regulatory" }, + { 2, 7, "warning" }, + { 3, 11, "maintenance" }, + { 4, 15, "motoristService" }, + { 5, 5, "guide" }, + { 6, 3, "rec" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_MUTCDCode_enum2value_1[] = { + 5, /* guide(5) */ + 3, /* maintenance(3) */ + 4, /* motoristService(4) */ + 0, /* none(0) */ + 6, /* rec(6) */ + 1, /* regulatory(1) */ + 2 /* warning(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_MUTCDCode_specs_1 = { + asn_MAP_MUTCDCode_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_MUTCDCode_enum2value_1, /* N => "tag"; sorted by N */ + 7, /* Number of elements in the maps */ + 8, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_MUTCDCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MUTCDCode = { + "MUTCDCode", + "MUTCDCode", + &asn_OP_NativeEnumerated, + asn_DEF_MUTCDCode_tags_1, + sizeof(asn_DEF_MUTCDCode_tags_1) + /sizeof(asn_DEF_MUTCDCode_tags_1[0]), /* 1 */ + asn_DEF_MUTCDCode_tags_1, /* Same as above */ + sizeof(asn_DEF_MUTCDCode_tags_1) + /sizeof(asn_DEF_MUTCDCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MUTCDCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MUTCDCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_MUTCDCode_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MUTCDCode.h b/src/tmx/Asn_J2735/src/r2024/MUTCDCode.h deleted file mode 100644 index 8ad569c5b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MUTCDCode.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MUTCDCode_H_ -#define _MUTCDCode_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum MUTCDCode { - MUTCDCode_none = 0, - MUTCDCode_regulatory = 1, - MUTCDCode_warning = 2, - MUTCDCode_maintenance = 3, - MUTCDCode_motoristService = 4, - MUTCDCode_guide = 5, - MUTCDCode_rec = 6 - /* - * Enumeration is extensible - */ -} e_MUTCDCode; - -/* MUTCDCode */ -typedef long MUTCDCode_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MUTCDCode_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MUTCDCode; -extern const asn_INTEGER_specifics_t asn_SPC_MUTCDCode_specs_1; -asn_struct_free_f MUTCDCode_free; -asn_struct_print_f MUTCDCode_print; -asn_constr_check_f MUTCDCode_constraint; -ber_type_decoder_f MUTCDCode_decode_ber; -der_type_encoder_f MUTCDCode_encode_der; -xer_type_decoder_f MUTCDCode_decode_xer; -xer_type_encoder_f MUTCDCode_encode_xer; -oer_type_decoder_f MUTCDCode_decode_oer; -oer_type_encoder_f MUTCDCode_encode_oer; -per_type_decoder_f MUTCDCode_decode_uper; -per_type_encoder_f MUTCDCode_encode_uper; -per_type_decoder_f MUTCDCode_decode_aper; -per_type_encoder_f MUTCDCode_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MUTCDCode_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MUTCDLocations.c b/src/tmx/Asn_J2735/src/r2024/MUTCDLocations.c new file mode 100644 index 000000000..ab56a90ce --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MUTCDLocations.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MUTCDLocations.h" + +int +MUTCDLocations_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MUTCDLocations_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_MUTCDLocations_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_MUTCDLocations_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MUTCDLocations = { + "MUTCDLocations", + "MUTCDLocations", + &asn_OP_NativeInteger, + asn_DEF_MUTCDLocations_tags_1, + sizeof(asn_DEF_MUTCDLocations_tags_1) + /sizeof(asn_DEF_MUTCDLocations_tags_1[0]), /* 1 */ + asn_DEF_MUTCDLocations_tags_1, /* Same as above */ + sizeof(asn_DEF_MUTCDLocations_tags_1) + /sizeof(asn_DEF_MUTCDLocations_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MUTCDLocations_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MUTCDLocations_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + MUTCDLocations_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MUTCDLocations.h b/src/tmx/Asn_J2735/src/r2024/MUTCDLocations.h deleted file mode 100644 index f910272d5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MUTCDLocations.h +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MUTCDLocations_H_ -#define _MUTCDLocations_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum MUTCDLocations { - MUTCDLocations_ahead = 13569, - MUTCDLocations_here = 13570, - MUTCDLocations_here_to = 13571, - MUTCDLocations_here_to_alley = 13572, - MUTCDLocations_here_to_corner = 13573, - MUTCDLocations_here_to_sign = 13574, - MUTCDLocations_between_signs = 13575, - MUTCDLocations_between = 13633, - MUTCDLocations_this_side_of_street = 13576, - MUTCDLocations_this_side_of_sign = 13577, - MUTCDLocations_right = 13579, - MUTCDLocations_left = 13580, - MUTCDLocations_begin_point = 13581, - MUTCDLocations_next = 13582, - MUTCDLocations_starting_start = 13611, - MUTCDLocations_ends_end = 13583, - MUTCDLocations_other_Side = 13584, - MUTCDLocations_crossing = 13585, - MUTCDLocations_crosswalks = 13586, - MUTCDLocations_center_strip = 13587, - MUTCDLocations_lane = 13588, - MUTCDLocations_shelter = 13634, - MUTCDLocations_center = 13635, - MUTCDLocations_hill = 13589, - MUTCDLocations_both_ways_left_and_right = 13590, - MUTCDLocations_both_ways_45_degree_angle_tilting_right = 13591, - MUTCDLocations_both_ways_45_degree_angle_tilting_left = 13592, - MUTCDLocations_both_directions_of_travel = 13593, - MUTCDLocations_left_arrow = 13610, - MUTCDLocations_left_turn = 13594, - MUTCDLocations_left_45_degree_arrow = 13595, - MUTCDLocations_left_45_degree_turn = 13596, - MUTCDLocations_ahead_and_to_the_left = 13597, - MUTCDLocations_ahead_and_to_the_left_at_a_45_degree_angle = 13598, - MUTCDLocations_right_arrow = 13609, - MUTCDLocations_right_turn = 13599, - MUTCDLocations_right_45_degree_arrow = 13600, - MUTCDLocations_right_45_degree_turn = 13601, - MUTCDLocations_ahead_and_to_the_right = 13602, - MUTCDLocations_ahead_and_to_the_right_at_a_45_degree_angle = 13603, - MUTCDLocations_downward_left_45_degree = 13604, - MUTCDLocations_downward_right_45_degree = 13605, - MUTCDLocations_downward_left_and_right_45_degree = 13606, - MUTCDLocations_reverse_turn_to_right = 13636, - MUTCDLocations_reverse_turn_to_left = 13637, - MUTCDLocations_reverse_curve_to_right = 13638, - MUTCDLocations_reverse_curve_to_left = 13639, - MUTCDLocations_two_lane_reverse_curve_to_right = 13623, - MUTCDLocations_two_lane_reverse_curve_to_left = 13624, - MUTCDLocations_three_lane_reverse_curve_to_right = 13625, - MUTCDLocations_three_lane_reverse_curve_to_left = 13626, - MUTCDLocations_winding_road_to_right = 13640, - MUTCDLocations_winding_road_to_left = 13641, - MUTCDLocations_chevron_right = 13613, - MUTCDLocations_chevron_left = 13614, - MUTCDLocations_right_turn_with_junction = 13615, - MUTCDLocations_left_turn_with_junction = 13616, - MUTCDLocations_hairpin_right = 13617, - MUTCDLocations_hairpin_left = 13618, - MUTCDLocations_truck_rollover_right = 13619, - MUTCDLocations_truck_rollover_left = 13620, - MUTCDLocations_n270_degree_turn_right = 13621, - MUTCDLocations_n270_degree_turn_left = 13622, - MUTCDLocations_double_reverse_curve_to_right = 13627, - MUTCDLocations_double_reverse_curve_to_left = 13628, - MUTCDLocations_two_lane_double_reverse_curve_to_right = 13629, - MUTCDLocations_two_lane_double_reverse_curve_to_left = 13630, - MUTCDLocations_three_lane_double_reverse_curve_to_right = 13631, - MUTCDLocations_three_lane_double_reverse_curve_to_left = 13632 -} e_MUTCDLocations; - -/* MUTCDLocations */ -typedef long MUTCDLocations_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MUTCDLocations; -asn_struct_free_f MUTCDLocations_free; -asn_struct_print_f MUTCDLocations_print; -asn_constr_check_f MUTCDLocations_constraint; -ber_type_decoder_f MUTCDLocations_decode_ber; -der_type_encoder_f MUTCDLocations_encode_der; -xer_type_decoder_f MUTCDLocations_decode_xer; -xer_type_encoder_f MUTCDLocations_encode_xer; -oer_type_decoder_f MUTCDLocations_decode_oer; -oer_type_encoder_f MUTCDLocations_encode_oer; -per_type_decoder_f MUTCDLocations_decode_uper; -per_type_encoder_f MUTCDLocations_encode_uper; -per_type_decoder_f MUTCDLocations_decode_aper; -per_type_encoder_f MUTCDLocations_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MUTCDLocations_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Maneuver.c b/src/tmx/Asn_J2735/src/r2024/Maneuver.c new file mode 100644 index 000000000..2ca3ef313 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Maneuver.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Maneuver.h" + +asn_TYPE_member_t asn_MBR_Maneuver_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Maneuver, subManeuverList), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SubManeuverList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "subManeuverList" + }, +}; +static const ber_tlv_tag_t asn_DEF_Maneuver_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Maneuver_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* subManeuverList */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Maneuver_specs_1 = { + sizeof(struct Maneuver), + offsetof(struct Maneuver, _asn_ctx), + asn_MAP_Maneuver_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Maneuver = { + "Maneuver", + "Maneuver", + &asn_OP_SEQUENCE, + asn_DEF_Maneuver_tags_1, + sizeof(asn_DEF_Maneuver_tags_1) + /sizeof(asn_DEF_Maneuver_tags_1[0]), /* 1 */ + asn_DEF_Maneuver_tags_1, /* Same as above */ + sizeof(asn_DEF_Maneuver_tags_1) + /sizeof(asn_DEF_Maneuver_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Maneuver_1, + 1, /* Elements count */ + &asn_SPC_Maneuver_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Maneuver.h b/src/tmx/Asn_J2735/src/r2024/Maneuver.h deleted file mode 100644 index 3484913cd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Maneuver.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Maneuver_H_ -#define _Maneuver_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SubManeuverList.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Maneuver */ -typedef struct Maneuver { - SubManeuverList_t subManeuverList; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Maneuver_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Maneuver; -extern asn_SEQUENCE_specifics_t asn_SPC_Maneuver_specs_1; -extern asn_TYPE_member_t asn_MBR_Maneuver_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Maneuver_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ManeuverAssistList.c b/src/tmx/Asn_J2735/src/r2024/ManeuverAssistList.c new file mode 100644 index 000000000..d213aa70f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ManeuverAssistList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ManeuverAssistList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ManeuverAssistList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ManeuverAssistList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ManeuverAssistList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ConnectionManeuverAssist, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ManeuverAssistList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ManeuverAssistList_specs_1 = { + sizeof(struct ManeuverAssistList), + offsetof(struct ManeuverAssistList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ManeuverAssistList = { + "ManeuverAssistList", + "ManeuverAssistList", + &asn_OP_SEQUENCE_OF, + asn_DEF_ManeuverAssistList_tags_1, + sizeof(asn_DEF_ManeuverAssistList_tags_1) + /sizeof(asn_DEF_ManeuverAssistList_tags_1[0]), /* 1 */ + asn_DEF_ManeuverAssistList_tags_1, /* Same as above */ + sizeof(asn_DEF_ManeuverAssistList_tags_1) + /sizeof(asn_DEF_ManeuverAssistList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ManeuverAssistList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ManeuverAssistList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_ManeuverAssistList_1, + 1, /* Single element */ + &asn_SPC_ManeuverAssistList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ManeuverAssistList.h b/src/tmx/Asn_J2735/src/r2024/ManeuverAssistList.h deleted file mode 100644 index 8fd6f435a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ManeuverAssistList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ManeuverAssistList_H_ -#define _ManeuverAssistList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct ConnectionManeuverAssist; - -/* ManeuverAssistList */ -typedef struct ManeuverAssistList { - A_SEQUENCE_OF(struct ConnectionManeuverAssist) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ManeuverAssistList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ManeuverAssistList; -extern asn_SET_OF_specifics_t asn_SPC_ManeuverAssistList_specs_1; -extern asn_TYPE_member_t asn_MBR_ManeuverAssistList_1[1]; -extern asn_per_constraints_t asn_PER_type_ManeuverAssistList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "ConnectionManeuverAssist.h" - -#endif /* _ManeuverAssistList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ManeuverExecutionStatus.c b/src/tmx/Asn_J2735/src/r2024/ManeuverExecutionStatus.c new file mode 100644 index 000000000..2516e2ece --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ManeuverExecutionStatus.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ManeuverExecutionStatus.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ManeuverExecutionStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ManeuverExecutionStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_ManeuverExecutionStatus_value2enum_1[] = { + { 0, 7, "started" }, + { 1, 10, "inProgress" }, + { 2, 9, "completed" }, + { 3, 10, "terminated" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ManeuverExecutionStatus_enum2value_1[] = { + 2, /* completed(2) */ + 1, /* inProgress(1) */ + 0, /* started(0) */ + 3 /* terminated(3) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_ManeuverExecutionStatus_specs_1 = { + asn_MAP_ManeuverExecutionStatus_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ManeuverExecutionStatus_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ManeuverExecutionStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ManeuverExecutionStatus = { + "ManeuverExecutionStatus", + "ManeuverExecutionStatus", + &asn_OP_NativeEnumerated, + asn_DEF_ManeuverExecutionStatus_tags_1, + sizeof(asn_DEF_ManeuverExecutionStatus_tags_1) + /sizeof(asn_DEF_ManeuverExecutionStatus_tags_1[0]), /* 1 */ + asn_DEF_ManeuverExecutionStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_ManeuverExecutionStatus_tags_1) + /sizeof(asn_DEF_ManeuverExecutionStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ManeuverExecutionStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ManeuverExecutionStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ManeuverExecutionStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ManeuverExecutionStatus.h b/src/tmx/Asn_J2735/src/r2024/ManeuverExecutionStatus.h deleted file mode 100644 index 93ef44d04..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ManeuverExecutionStatus.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ManeuverExecutionStatus_H_ -#define _ManeuverExecutionStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ManeuverExecutionStatus { - ManeuverExecutionStatus_started = 0, - ManeuverExecutionStatus_inProgress = 1, - ManeuverExecutionStatus_completed = 2, - ManeuverExecutionStatus_terminated = 3 - /* - * Enumeration is extensible - */ -} e_ManeuverExecutionStatus; - -/* ManeuverExecutionStatus */ -typedef long ManeuverExecutionStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ManeuverExecutionStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ManeuverExecutionStatus; -extern const asn_INTEGER_specifics_t asn_SPC_ManeuverExecutionStatus_specs_1; -asn_struct_free_f ManeuverExecutionStatus_free; -asn_struct_print_f ManeuverExecutionStatus_print; -asn_constr_check_f ManeuverExecutionStatus_constraint; -ber_type_decoder_f ManeuverExecutionStatus_decode_ber; -der_type_encoder_f ManeuverExecutionStatus_encode_der; -xer_type_decoder_f ManeuverExecutionStatus_decode_xer; -xer_type_encoder_f ManeuverExecutionStatus_encode_xer; -oer_type_decoder_f ManeuverExecutionStatus_decode_oer; -oer_type_encoder_f ManeuverExecutionStatus_encode_oer; -per_type_decoder_f ManeuverExecutionStatus_decode_uper; -per_type_encoder_f ManeuverExecutionStatus_encode_uper; -per_type_decoder_f ManeuverExecutionStatus_decode_aper; -per_type_encoder_f ManeuverExecutionStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ManeuverExecutionStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage.c b/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage.c new file mode 100644 index 000000000..a3277dbca --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage.c @@ -0,0 +1,248 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ManeuverSharingAndCoordinatingMessage.h" + +asn_TYPE_member_t asn_MBR_ManeuverSharingAndCoordinatingMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ManeuverSharingAndCoordinatingMessage, mSCMTimestamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mSCMTimestamp" + }, + { ATF_POINTER, 2, offsetof(struct ManeuverSharingAndCoordinatingMessage, hVPos), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hVPos" + }, + { ATF_POINTER, 1, offsetof(struct ManeuverSharingAndCoordinatingMessage, hVPosXYConf), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionalAccuracy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hVPosXYConf" + }, + { ATF_NOFLAGS, 0, offsetof(struct ManeuverSharingAndCoordinatingMessage, mSCMType), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MSCMType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mSCMType" + }, + { ATF_NOFLAGS, 0, offsetof(struct ManeuverSharingAndCoordinatingMessage, sourceID), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sourceID" + }, + { ATF_POINTER, 6, offsetof(struct ManeuverSharingAndCoordinatingMessage, destinationIDs), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryIDList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "destinationIDs" + }, + { ATF_POINTER, 5, offsetof(struct ManeuverSharingAndCoordinatingMessage, maneuverID), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ManeuverSharingAndCoordinatingMessage_ManeuverID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maneuverID" + }, + { ATF_POINTER, 4, offsetof(struct ManeuverSharingAndCoordinatingMessage, maneuver), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Maneuver, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maneuver" + }, + { ATF_POINTER, 3, offsetof(struct ManeuverSharingAndCoordinatingMessage, responseFlag), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ResponseFlag, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "responseFlag" + }, + { ATF_POINTER, 2, offsetof(struct ManeuverSharingAndCoordinatingMessage, reasonCode), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ReasonCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reasonCode" + }, + { ATF_POINTER, 1, offsetof(struct ManeuverSharingAndCoordinatingMessage, maneuverExecutionStatus), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ManeuverExecutionStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maneuverExecutionStatus" + }, +}; +static const int asn_MAP_ManeuverSharingAndCoordinatingMessage_oms_1[] = { 1, 2, 5, 6, 7, 8, 9, 10 }; +static const ber_tlv_tag_t asn_DEF_ManeuverSharingAndCoordinatingMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ManeuverSharingAndCoordinatingMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* mSCMTimestamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* hVPos */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* hVPosXYConf */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* mSCMType */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* sourceID */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* destinationIDs */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* maneuverID */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* maneuver */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* responseFlag */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* reasonCode */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 } /* maneuverExecutionStatus */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ManeuverSharingAndCoordinatingMessage_specs_1 = { + sizeof(struct ManeuverSharingAndCoordinatingMessage), + offsetof(struct ManeuverSharingAndCoordinatingMessage, _asn_ctx), + asn_MAP_ManeuverSharingAndCoordinatingMessage_tag2el_1, + 11, /* Count of tags in the map */ + asn_MAP_ManeuverSharingAndCoordinatingMessage_oms_1, /* Optional members */ + 8, 0, /* Root/Additions */ + 11, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ManeuverSharingAndCoordinatingMessage = { + "ManeuverSharingAndCoordinatingMessage", + "ManeuverSharingAndCoordinatingMessage", + &asn_OP_SEQUENCE, + asn_DEF_ManeuverSharingAndCoordinatingMessage_tags_1, + sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_tags_1) + /sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_tags_1[0]), /* 1 */ + asn_DEF_ManeuverSharingAndCoordinatingMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_tags_1) + /sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ManeuverSharingAndCoordinatingMessage_1, + 11, /* Elements count */ + &asn_SPC_ManeuverSharingAndCoordinatingMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage.h b/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage.h deleted file mode 100644 index f93c57c1b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ManeuverSharingAndCoordinatingMessage_H_ -#define _ManeuverSharingAndCoordinatingMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DDateTime.h" -#include "MSCMType.h" -#include "TemporaryID.h" -#include "ManeuverSharingAndCoordinatingMessage_ManeuverID.h" -#include "ResponseFlag.h" -#include "ReasonCode.h" -#include "ManeuverExecutionStatus.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Position3D; -struct PositionalAccuracy; -struct TemporaryIDList; -struct Maneuver; - -/* ManeuverSharingAndCoordinatingMessage */ -typedef struct ManeuverSharingAndCoordinatingMessage { - DDateTime_t mSCMTimestamp; - struct Position3D *hVPos; /* OPTIONAL */ - struct PositionalAccuracy *hVPosXYConf; /* OPTIONAL */ - MSCMType_t mSCMType; - TemporaryID_t sourceID; - struct TemporaryIDList *destinationIDs; /* OPTIONAL */ - ManeuverSharingAndCoordinatingMessage_ManeuverID_t *maneuverID; /* OPTIONAL */ - struct Maneuver *maneuver; /* OPTIONAL */ - ResponseFlag_t *responseFlag; /* OPTIONAL */ - ReasonCode_t *reasonCode; /* OPTIONAL */ - ManeuverExecutionStatus_t *maneuverExecutionStatus; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ManeuverSharingAndCoordinatingMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ManeuverSharingAndCoordinatingMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_ManeuverSharingAndCoordinatingMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_ManeuverSharingAndCoordinatingMessage_1[11]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Position3D.h" -#include "PositionalAccuracy.h" -#include "TemporaryIDList.h" -#include "Maneuver.h" - -#endif /* _ManeuverSharingAndCoordinatingMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ManeuverID.c b/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ManeuverID.c new file mode 100644 index 000000000..bb87ab2fa --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ManeuverID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ManeuverSharingAndCoordinatingMessage_ManeuverID.h" + +int +ManeuverSharingAndCoordinatingMessage_ManeuverID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ManeuverSharingAndCoordinatingMessage_ManeuverID_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ManeuverSharingAndCoordinatingMessage_ManeuverID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ManeuverSharingAndCoordinatingMessage_ManeuverID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ManeuverSharingAndCoordinatingMessage_ManeuverID = { + "ManeuverID", + "ManeuverID", + &asn_OP_NativeInteger, + asn_DEF_ManeuverSharingAndCoordinatingMessage_ManeuverID_tags_1, + sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_ManeuverID_tags_1) + /sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_ManeuverID_tags_1[0]), /* 1 */ + asn_DEF_ManeuverSharingAndCoordinatingMessage_ManeuverID_tags_1, /* Same as above */ + sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_ManeuverID_tags_1) + /sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_ManeuverID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ManeuverSharingAndCoordinatingMessage_ManeuverID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ManeuverSharingAndCoordinatingMessage_ManeuverID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ManeuverSharingAndCoordinatingMessage_ManeuverID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ManeuverID.h b/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ManeuverID.h deleted file mode 100644 index b41355adb..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ManeuverID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ManeuverSharingAndCoordinatingMessage_ManeuverID_H_ -#define _ManeuverSharingAndCoordinatingMessage_ManeuverID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ManeuverSharingAndCoordinatingMessage_ManeuverID */ -typedef long ManeuverSharingAndCoordinatingMessage_ManeuverID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ManeuverSharingAndCoordinatingMessage_ManeuverID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ManeuverSharingAndCoordinatingMessage_ManeuverID; -asn_struct_free_f ManeuverSharingAndCoordinatingMessage_ManeuverID_free; -asn_struct_print_f ManeuverSharingAndCoordinatingMessage_ManeuverID_print; -asn_constr_check_f ManeuverSharingAndCoordinatingMessage_ManeuverID_constraint; -ber_type_decoder_f ManeuverSharingAndCoordinatingMessage_ManeuverID_decode_ber; -der_type_encoder_f ManeuverSharingAndCoordinatingMessage_ManeuverID_encode_der; -xer_type_decoder_f ManeuverSharingAndCoordinatingMessage_ManeuverID_decode_xer; -xer_type_encoder_f ManeuverSharingAndCoordinatingMessage_ManeuverID_encode_xer; -oer_type_decoder_f ManeuverSharingAndCoordinatingMessage_ManeuverID_decode_oer; -oer_type_encoder_f ManeuverSharingAndCoordinatingMessage_ManeuverID_encode_oer; -per_type_decoder_f ManeuverSharingAndCoordinatingMessage_ManeuverID_decode_uper; -per_type_encoder_f ManeuverSharingAndCoordinatingMessage_ManeuverID_encode_uper; -per_type_decoder_f ManeuverSharingAndCoordinatingMessage_ManeuverID_decode_aper; -per_type_encoder_f ManeuverSharingAndCoordinatingMessage_ManeuverID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ManeuverSharingAndCoordinatingMessage_ManeuverID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ObjectDistance.c b/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ObjectDistance.c new file mode 100644 index 000000000..1db30958c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ObjectDistance.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ManeuverSharingAndCoordinatingMessage_ObjectDistance.h" + +int +ManeuverSharingAndCoordinatingMessage_ObjectDistance_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32767L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ManeuverSharingAndCoordinatingMessage_ObjectDistance_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32767..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ManeuverSharingAndCoordinatingMessage_ObjectDistance_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32767, 32767 } /* (-32767..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ManeuverSharingAndCoordinatingMessage_ObjectDistance_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ManeuverSharingAndCoordinatingMessage_ObjectDistance = { + "ObjectDistance", + "ObjectDistance", + &asn_OP_NativeInteger, + asn_DEF_ManeuverSharingAndCoordinatingMessage_ObjectDistance_tags_1, + sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_ObjectDistance_tags_1) + /sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_ObjectDistance_tags_1[0]), /* 1 */ + asn_DEF_ManeuverSharingAndCoordinatingMessage_ObjectDistance_tags_1, /* Same as above */ + sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_ObjectDistance_tags_1) + /sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_ObjectDistance_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ManeuverSharingAndCoordinatingMessage_ObjectDistance_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ManeuverSharingAndCoordinatingMessage_ObjectDistance_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ManeuverSharingAndCoordinatingMessage_ObjectDistance_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ObjectDistance.h b/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ObjectDistance.h deleted file mode 100644 index e05045bf6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_ObjectDistance.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ManeuverSharingAndCoordinatingMessage_ObjectDistance_H_ -#define _ManeuverSharingAndCoordinatingMessage_ObjectDistance_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ManeuverSharingAndCoordinatingMessage_ObjectDistance */ -typedef long ManeuverSharingAndCoordinatingMessage_ObjectDistance_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ManeuverSharingAndCoordinatingMessage_ObjectDistance_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ManeuverSharingAndCoordinatingMessage_ObjectDistance; -asn_struct_free_f ManeuverSharingAndCoordinatingMessage_ObjectDistance_free; -asn_struct_print_f ManeuverSharingAndCoordinatingMessage_ObjectDistance_print; -asn_constr_check_f ManeuverSharingAndCoordinatingMessage_ObjectDistance_constraint; -ber_type_decoder_f ManeuverSharingAndCoordinatingMessage_ObjectDistance_decode_ber; -der_type_encoder_f ManeuverSharingAndCoordinatingMessage_ObjectDistance_encode_der; -xer_type_decoder_f ManeuverSharingAndCoordinatingMessage_ObjectDistance_decode_xer; -xer_type_encoder_f ManeuverSharingAndCoordinatingMessage_ObjectDistance_encode_xer; -oer_type_decoder_f ManeuverSharingAndCoordinatingMessage_ObjectDistance_decode_oer; -oer_type_encoder_f ManeuverSharingAndCoordinatingMessage_ObjectDistance_encode_oer; -per_type_decoder_f ManeuverSharingAndCoordinatingMessage_ObjectDistance_decode_uper; -per_type_encoder_f ManeuverSharingAndCoordinatingMessage_ObjectDistance_encode_uper; -per_type_decoder_f ManeuverSharingAndCoordinatingMessage_ObjectDistance_decode_aper; -per_type_encoder_f ManeuverSharingAndCoordinatingMessage_ObjectDistance_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ManeuverSharingAndCoordinatingMessage_ObjectDistance_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ.c b/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ.c new file mode 100644 index 000000000..26325b30f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ.h" + +asn_TYPE_member_t asn_MBR_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ, offsetX), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ManeuverSharingAndCoordinatingMessage_ObjectDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offsetX" + }, + { ATF_NOFLAGS, 0, offsetof(struct ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ, offsetY), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ManeuverSharingAndCoordinatingMessage_ObjectDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offsetY" + }, + { ATF_POINTER, 1, offsetof(struct ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ, offsetZ), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ManeuverSharingAndCoordinatingMessage_ObjectDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offsetZ" + }, +}; +static const int asn_MAP_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* offsetX */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* offsetY */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* offsetZ */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_specs_1 = { + sizeof(struct ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ), + offsetof(struct ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ, _asn_ctx), + asn_MAP_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ = { + "PositionOffsetXYZ", + "PositionOffsetXYZ", + &asn_OP_SEQUENCE, + asn_DEF_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_tags_1, + sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_tags_1) + /sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_tags_1[0]), /* 1 */ + asn_DEF_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_tags_1, /* Same as above */ + sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_tags_1) + /sizeof(asn_DEF_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_1, + 3, /* Elements count */ + &asn_SPC_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ.h b/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ.h deleted file mode 100644 index 720721caf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_H_ -#define _ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ManeuverSharingAndCoordinatingMessage_ObjectDistance.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ */ -typedef struct ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ { - ManeuverSharingAndCoordinatingMessage_ObjectDistance_t offsetX; - ManeuverSharingAndCoordinatingMessage_ObjectDistance_t offsetY; - ManeuverSharingAndCoordinatingMessage_ObjectDistance_t *offsetZ; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ; -extern asn_SEQUENCE_specifics_t asn_SPC_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_specs_1; -extern asn_TYPE_member_t asn_MBR_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MapData-addGrpC.c b/src/tmx/Asn_J2735/src/r2024/MapData-addGrpC.c new file mode 100644 index 000000000..4482ca6d6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MapData-addGrpC.c @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MapData-addGrpC.h" + +asn_TYPE_member_t asn_MBR_MapData_addGrpC_1[] = { + { ATF_POINTER, 1, offsetof(struct MapData_addGrpC, signalHeadLocations), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SignalHeadLocationList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "signalHeadLocations" + }, +}; +static const int asn_MAP_MapData_addGrpC_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_MapData_addGrpC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MapData_addGrpC_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* signalHeadLocations */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MapData_addGrpC_specs_1 = { + sizeof(struct MapData_addGrpC), + offsetof(struct MapData_addGrpC, _asn_ctx), + asn_MAP_MapData_addGrpC_tag2el_1, + 1, /* Count of tags in the map */ + asn_MAP_MapData_addGrpC_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MapData_addGrpC = { + "MapData-addGrpC", + "MapData-addGrpC", + &asn_OP_SEQUENCE, + asn_DEF_MapData_addGrpC_tags_1, + sizeof(asn_DEF_MapData_addGrpC_tags_1) + /sizeof(asn_DEF_MapData_addGrpC_tags_1[0]), /* 1 */ + asn_DEF_MapData_addGrpC_tags_1, /* Same as above */ + sizeof(asn_DEF_MapData_addGrpC_tags_1) + /sizeof(asn_DEF_MapData_addGrpC_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_MapData_addGrpC_1, + 1, /* Elements count */ + &asn_SPC_MapData_addGrpC_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MapData-addGrpC.h b/src/tmx/Asn_J2735/src/r2024/MapData-addGrpC.h deleted file mode 100644 index 42e99d77d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MapData-addGrpC.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MapData_addGrpC_H_ -#define _MapData_addGrpC_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct SignalHeadLocationList; - -/* MapData-addGrpC */ -typedef struct MapData_addGrpC { - struct SignalHeadLocationList *signalHeadLocations; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} MapData_addGrpC_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MapData_addGrpC; -extern asn_SEQUENCE_specifics_t asn_SPC_MapData_addGrpC_specs_1; -extern asn_TYPE_member_t asn_MBR_MapData_addGrpC_1[1]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "SignalHeadLocationList.h" - -#endif /* _MapData_addGrpC_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MapData.c b/src/tmx/Asn_J2735/src/r2024/MapData.c new file mode 100644 index 000000000..091214ead --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MapData.c @@ -0,0 +1,315 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MapData.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_10 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_10 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_10 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_10 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_10[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_MapData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_10[] = { + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_10 = { + sizeof(struct MapData__regional), + offsetof(struct MapData__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_10 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_10, + sizeof(asn_DEF_regional_tags_10) + /sizeof(asn_DEF_regional_tags_10[0]) - 1, /* 1 */ + asn_DEF_regional_tags_10, /* Same as above */ + sizeof(asn_DEF_regional_tags_10) + /sizeof(asn_DEF_regional_tags_10[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_10, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_10, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_10, + 1, /* Single element */ + &asn_SPC_regional_specs_10 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_MapData_1[] = { + { ATF_POINTER, 1, offsetof(struct MapData, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_NOFLAGS, 0, offsetof(struct MapData, msgIssueRevision), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msgIssueRevision" + }, + { ATF_POINTER, 7, offsetof(struct MapData, layerType), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LayerType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "layerType" + }, + { ATF_POINTER, 6, offsetof(struct MapData, layerID), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LayerID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "layerID" + }, + { ATF_POINTER, 5, offsetof(struct MapData, intersections), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IntersectionGeometryList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "intersections" + }, + { ATF_POINTER, 4, offsetof(struct MapData, roadSegments), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadSegmentList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadSegments" + }, + { ATF_POINTER, 3, offsetof(struct MapData, dataParameters), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DataParameters, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dataParameters" + }, + { ATF_POINTER, 2, offsetof(struct MapData, restrictionList), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RestrictionClassList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "restrictionList" + }, + { ATF_POINTER, 1, offsetof(struct MapData, regional), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + 0, + &asn_DEF_regional_10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_10, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_10, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_MapData_oms_1[] = { 0, 2, 3, 4, 5, 6, 7, 8 }; +static const ber_tlv_tag_t asn_DEF_MapData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MapData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* msgIssueRevision */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* layerType */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* layerID */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* intersections */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* roadSegments */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* dataParameters */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* restrictionList */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MapData_specs_1 = { + sizeof(struct MapData), + offsetof(struct MapData, _asn_ctx), + asn_MAP_MapData_tag2el_1, + 9, /* Count of tags in the map */ + asn_MAP_MapData_oms_1, /* Optional members */ + 8, 0, /* Root/Additions */ + 9, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MapData = { + "MapData", + "MapData", + &asn_OP_SEQUENCE, + asn_DEF_MapData_tags_1, + sizeof(asn_DEF_MapData_tags_1) + /sizeof(asn_DEF_MapData_tags_1[0]), /* 1 */ + asn_DEF_MapData_tags_1, /* Same as above */ + sizeof(asn_DEF_MapData_tags_1) + /sizeof(asn_DEF_MapData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_MapData_1, + 9, /* Elements count */ + &asn_SPC_MapData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MapData.h b/src/tmx/Asn_J2735/src/r2024/MapData.h deleted file mode 100644 index 0cc7eb011..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MapData.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MapData_H_ -#define _MapData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "MinuteOfTheYear.h" -#include "Common_MsgCount.h" -#include "LayerType.h" -#include "LayerID.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IntersectionGeometryList; -struct RoadSegmentList; -struct DataParameters; -struct RestrictionClassList; -struct Reg_MapData; - -/* MapData */ -typedef struct MapData { - MinuteOfTheYear_t *timeStamp; /* OPTIONAL */ - Common_MsgCount_t msgIssueRevision; - LayerType_t *layerType; /* OPTIONAL */ - LayerID_t *layerID; /* OPTIONAL */ - struct IntersectionGeometryList *intersections; /* OPTIONAL */ - struct RoadSegmentList *roadSegments; /* OPTIONAL */ - struct DataParameters *dataParameters; /* OPTIONAL */ - struct RestrictionClassList *restrictionList; /* OPTIONAL */ - struct MapData__regional { - A_SEQUENCE_OF(struct Reg_MapData) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} MapData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MapData; -extern asn_SEQUENCE_specifics_t asn_SPC_MapData_specs_1; -extern asn_TYPE_member_t asn_MBR_MapData_1[9]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IntersectionGeometryList.h" -#include "RoadSegmentList.h" -#include "DataParameters.h" -#include "RestrictionClassList.h" -#include "RegionalExtension.h" - -#endif /* _MapData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MaxAvailableAcceleration.c b/src/tmx/Asn_J2735/src/r2024/MaxAvailableAcceleration.c new file mode 100644 index 000000000..e3ddcead5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MaxAvailableAcceleration.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MaxAvailableAcceleration.h" + +int +MaxAvailableAcceleration_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 2001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MaxAvailableAcceleration_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..2001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MaxAvailableAcceleration_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 0, 2001 } /* (0..2001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_MaxAvailableAcceleration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MaxAvailableAcceleration = { + "MaxAvailableAcceleration", + "MaxAvailableAcceleration", + &asn_OP_NativeInteger, + asn_DEF_MaxAvailableAcceleration_tags_1, + sizeof(asn_DEF_MaxAvailableAcceleration_tags_1) + /sizeof(asn_DEF_MaxAvailableAcceleration_tags_1[0]), /* 1 */ + asn_DEF_MaxAvailableAcceleration_tags_1, /* Same as above */ + sizeof(asn_DEF_MaxAvailableAcceleration_tags_1) + /sizeof(asn_DEF_MaxAvailableAcceleration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MaxAvailableAcceleration_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MaxAvailableAcceleration_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + MaxAvailableAcceleration_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MaxAvailableAcceleration.h b/src/tmx/Asn_J2735/src/r2024/MaxAvailableAcceleration.h deleted file mode 100644 index d5405d535..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MaxAvailableAcceleration.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MaxAvailableAcceleration_H_ -#define _MaxAvailableAcceleration_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* MaxAvailableAcceleration */ -typedef long MaxAvailableAcceleration_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MaxAvailableAcceleration_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MaxAvailableAcceleration; -asn_struct_free_f MaxAvailableAcceleration_free; -asn_struct_print_f MaxAvailableAcceleration_print; -asn_constr_check_f MaxAvailableAcceleration_constraint; -ber_type_decoder_f MaxAvailableAcceleration_decode_ber; -der_type_encoder_f MaxAvailableAcceleration_encode_der; -xer_type_decoder_f MaxAvailableAcceleration_decode_xer; -xer_type_encoder_f MaxAvailableAcceleration_encode_xer; -oer_type_decoder_f MaxAvailableAcceleration_decode_oer; -oer_type_encoder_f MaxAvailableAcceleration_encode_oer; -per_type_decoder_f MaxAvailableAcceleration_decode_uper; -per_type_encoder_f MaxAvailableAcceleration_encode_uper; -per_type_decoder_f MaxAvailableAcceleration_decode_aper; -per_type_encoder_f MaxAvailableAcceleration_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MaxAvailableAcceleration_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MaxAvailableDeceleration.c b/src/tmx/Asn_J2735/src/r2024/MaxAvailableDeceleration.c new file mode 100644 index 000000000..fdabf1a98 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MaxAvailableDeceleration.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MaxAvailableDeceleration.h" + +int +MaxAvailableDeceleration_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -2001L && value <= 0L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MaxAvailableDeceleration_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-2001..0) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MaxAvailableDeceleration_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, -2001, 0 } /* (-2001..0) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_MaxAvailableDeceleration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MaxAvailableDeceleration = { + "MaxAvailableDeceleration", + "MaxAvailableDeceleration", + &asn_OP_NativeInteger, + asn_DEF_MaxAvailableDeceleration_tags_1, + sizeof(asn_DEF_MaxAvailableDeceleration_tags_1) + /sizeof(asn_DEF_MaxAvailableDeceleration_tags_1[0]), /* 1 */ + asn_DEF_MaxAvailableDeceleration_tags_1, /* Same as above */ + sizeof(asn_DEF_MaxAvailableDeceleration_tags_1) + /sizeof(asn_DEF_MaxAvailableDeceleration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MaxAvailableDeceleration_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MaxAvailableDeceleration_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + MaxAvailableDeceleration_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MaxAvailableDeceleration.h b/src/tmx/Asn_J2735/src/r2024/MaxAvailableDeceleration.h deleted file mode 100644 index c2096bd6c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MaxAvailableDeceleration.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MaxAvailableDeceleration_H_ -#define _MaxAvailableDeceleration_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* MaxAvailableDeceleration */ -typedef long MaxAvailableDeceleration_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MaxAvailableDeceleration_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MaxAvailableDeceleration; -asn_struct_free_f MaxAvailableDeceleration_free; -asn_struct_print_f MaxAvailableDeceleration_print; -asn_constr_check_f MaxAvailableDeceleration_constraint; -ber_type_decoder_f MaxAvailableDeceleration_decode_ber; -der_type_encoder_f MaxAvailableDeceleration_encode_der; -xer_type_decoder_f MaxAvailableDeceleration_decode_xer; -xer_type_encoder_f MaxAvailableDeceleration_encode_xer; -oer_type_decoder_f MaxAvailableDeceleration_decode_oer; -oer_type_encoder_f MaxAvailableDeceleration_encode_oer; -per_type_decoder_f MaxAvailableDeceleration_decode_uper; -per_type_encoder_f MaxAvailableDeceleration_encode_uper; -per_type_decoder_f MaxAvailableDeceleration_decode_aper; -per_type_encoder_f MaxAvailableDeceleration_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MaxAvailableDeceleration_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MaxTimetoChange.c b/src/tmx/Asn_J2735/src/r2024/MaxTimetoChange.c new file mode 100644 index 000000000..48aceda8b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MaxTimetoChange.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MaxTimetoChange.h" + +int +MaxTimetoChange_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 2402L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MaxTimetoChange_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..2402) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MaxTimetoChange_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 2402 } /* (0..2402) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_MaxTimetoChange_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MaxTimetoChange = { + "MaxTimetoChange", + "MaxTimetoChange", + &asn_OP_NativeInteger, + asn_DEF_MaxTimetoChange_tags_1, + sizeof(asn_DEF_MaxTimetoChange_tags_1) + /sizeof(asn_DEF_MaxTimetoChange_tags_1[0]), /* 1 */ + asn_DEF_MaxTimetoChange_tags_1, /* Same as above */ + sizeof(asn_DEF_MaxTimetoChange_tags_1) + /sizeof(asn_DEF_MaxTimetoChange_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MaxTimetoChange_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MaxTimetoChange_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + MaxTimetoChange_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MaxTimetoChange.h b/src/tmx/Asn_J2735/src/r2024/MaxTimetoChange.h deleted file mode 100644 index b3e89b87b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MaxTimetoChange.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MaxTimetoChange_H_ -#define _MaxTimetoChange_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* MaxTimetoChange */ -typedef long MaxTimetoChange_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MaxTimetoChange_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MaxTimetoChange; -asn_struct_free_f MaxTimetoChange_free; -asn_struct_print_f MaxTimetoChange_print; -asn_constr_check_f MaxTimetoChange_constraint; -ber_type_decoder_f MaxTimetoChange_decode_ber; -der_type_encoder_f MaxTimetoChange_encode_der; -xer_type_decoder_f MaxTimetoChange_decode_xer; -xer_type_encoder_f MaxTimetoChange_encode_xer; -oer_type_decoder_f MaxTimetoChange_decode_oer; -oer_type_encoder_f MaxTimetoChange_encode_oer; -per_type_decoder_f MaxTimetoChange_decode_uper; -per_type_encoder_f MaxTimetoChange_encode_uper; -per_type_decoder_f MaxTimetoChange_decode_aper; -per_type_encoder_f MaxTimetoChange_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MaxTimetoChange_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MeasurementTimeOffset.c b/src/tmx/Asn_J2735/src/r2024/MeasurementTimeOffset.c new file mode 100644 index 000000000..21fea5092 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MeasurementTimeOffset.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MeasurementTimeOffset.h" + +int +MeasurementTimeOffset_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -1500L && value <= 1500L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MeasurementTimeOffset_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-1500..1500) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MeasurementTimeOffset_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, -1500, 1500 } /* (-1500..1500) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_MeasurementTimeOffset_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MeasurementTimeOffset = { + "MeasurementTimeOffset", + "MeasurementTimeOffset", + &asn_OP_NativeInteger, + asn_DEF_MeasurementTimeOffset_tags_1, + sizeof(asn_DEF_MeasurementTimeOffset_tags_1) + /sizeof(asn_DEF_MeasurementTimeOffset_tags_1[0]), /* 1 */ + asn_DEF_MeasurementTimeOffset_tags_1, /* Same as above */ + sizeof(asn_DEF_MeasurementTimeOffset_tags_1) + /sizeof(asn_DEF_MeasurementTimeOffset_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MeasurementTimeOffset_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MeasurementTimeOffset_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + MeasurementTimeOffset_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MeasurementTimeOffset.h b/src/tmx/Asn_J2735/src/r2024/MeasurementTimeOffset.h deleted file mode 100644 index 10acf0ef1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MeasurementTimeOffset.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MeasurementTimeOffset_H_ -#define _MeasurementTimeOffset_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* MeasurementTimeOffset */ -typedef long MeasurementTimeOffset_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MeasurementTimeOffset_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MeasurementTimeOffset; -asn_struct_free_f MeasurementTimeOffset_free; -asn_struct_print_f MeasurementTimeOffset_print; -asn_constr_check_f MeasurementTimeOffset_constraint; -ber_type_decoder_f MeasurementTimeOffset_decode_ber; -der_type_encoder_f MeasurementTimeOffset_encode_der; -xer_type_decoder_f MeasurementTimeOffset_decode_xer; -xer_type_encoder_f MeasurementTimeOffset_encode_xer; -oer_type_decoder_f MeasurementTimeOffset_decode_oer; -oer_type_encoder_f MeasurementTimeOffset_encode_oer; -per_type_decoder_f MeasurementTimeOffset_decode_uper; -per_type_encoder_f MeasurementTimeOffset_encode_uper; -per_type_decoder_f MeasurementTimeOffset_decode_aper; -per_type_encoder_f MeasurementTimeOffset_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MeasurementTimeOffset_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MergeDivergeNodeAngle.c b/src/tmx/Asn_J2735/src/r2024/MergeDivergeNodeAngle.c new file mode 100644 index 000000000..0eec4f1f3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MergeDivergeNodeAngle.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MergeDivergeNodeAngle.h" + +int +MergeDivergeNodeAngle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -180L && value <= 180L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MergeDivergeNodeAngle_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-180..180) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MergeDivergeNodeAngle_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, -180, 180 } /* (-180..180) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_MergeDivergeNodeAngle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MergeDivergeNodeAngle = { + "MergeDivergeNodeAngle", + "MergeDivergeNodeAngle", + &asn_OP_NativeInteger, + asn_DEF_MergeDivergeNodeAngle_tags_1, + sizeof(asn_DEF_MergeDivergeNodeAngle_tags_1) + /sizeof(asn_DEF_MergeDivergeNodeAngle_tags_1[0]), /* 1 */ + asn_DEF_MergeDivergeNodeAngle_tags_1, /* Same as above */ + sizeof(asn_DEF_MergeDivergeNodeAngle_tags_1) + /sizeof(asn_DEF_MergeDivergeNodeAngle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MergeDivergeNodeAngle_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MergeDivergeNodeAngle_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + MergeDivergeNodeAngle_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MergeDivergeNodeAngle.h b/src/tmx/Asn_J2735/src/r2024/MergeDivergeNodeAngle.h deleted file mode 100644 index 560b7d008..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MergeDivergeNodeAngle.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MergeDivergeNodeAngle_H_ -#define _MergeDivergeNodeAngle_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* MergeDivergeNodeAngle */ -typedef long MergeDivergeNodeAngle_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MergeDivergeNodeAngle_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MergeDivergeNodeAngle; -asn_struct_free_f MergeDivergeNodeAngle_free; -asn_struct_print_f MergeDivergeNodeAngle_print; -asn_constr_check_f MergeDivergeNodeAngle_constraint; -ber_type_decoder_f MergeDivergeNodeAngle_decode_ber; -der_type_encoder_f MergeDivergeNodeAngle_encode_der; -xer_type_decoder_f MergeDivergeNodeAngle_decode_xer; -xer_type_encoder_f MergeDivergeNodeAngle_encode_xer; -oer_type_decoder_f MergeDivergeNodeAngle_decode_oer; -oer_type_encoder_f MergeDivergeNodeAngle_encode_oer; -per_type_decoder_f MergeDivergeNodeAngle_decode_uper; -per_type_encoder_f MergeDivergeNodeAngle_encode_uper; -per_type_decoder_f MergeDivergeNodeAngle_decode_aper; -per_type_encoder_f MergeDivergeNodeAngle_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MergeDivergeNodeAngle_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MessageBLOB.c b/src/tmx/Asn_J2735/src/r2024/MessageBLOB.c new file mode 100644 index 000000000..7c5902022 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MessageBLOB.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MessageBLOB.h" + +int +MessageBLOB_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 10UL && size <= 2000UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MessageBLOB_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(10..2000)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_MessageBLOB_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 11, 11, 10, 2000 } /* (SIZE(10..2000)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_MessageBLOB_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MessageBLOB = { + "MessageBLOB", + "MessageBLOB", + &asn_OP_OCTET_STRING, + asn_DEF_MessageBLOB_tags_1, + sizeof(asn_DEF_MessageBLOB_tags_1) + /sizeof(asn_DEF_MessageBLOB_tags_1[0]), /* 1 */ + asn_DEF_MessageBLOB_tags_1, /* Same as above */ + sizeof(asn_DEF_MessageBLOB_tags_1) + /sizeof(asn_DEF_MessageBLOB_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MessageBLOB_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MessageBLOB_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + MessageBLOB_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MessageBLOB.h b/src/tmx/Asn_J2735/src/r2024/MessageBLOB.h deleted file mode 100644 index 3e5561e6c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MessageBLOB.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MessageBLOB_H_ -#define _MessageBLOB_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* MessageBLOB */ -typedef OCTET_STRING_t MessageBLOB_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MessageBLOB; -asn_struct_free_f MessageBLOB_free; -asn_struct_print_f MessageBLOB_print; -asn_constr_check_f MessageBLOB_constraint; -ber_type_decoder_f MessageBLOB_decode_ber; -der_type_encoder_f MessageBLOB_encode_der; -xer_type_decoder_f MessageBLOB_decode_xer; -xer_type_encoder_f MessageBLOB_encode_xer; -oer_type_decoder_f MessageBLOB_decode_oer; -oer_type_encoder_f MessageBLOB_encode_oer; -per_type_decoder_f MessageBLOB_decode_uper; -per_type_encoder_f MessageBLOB_encode_uper; -per_type_decoder_f MessageBLOB_decode_aper; -per_type_encoder_f MessageBLOB_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MessageBLOB_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MessageFrame.c b/src/tmx/Asn_J2735/src/r2024/MessageFrame.c new file mode 100644 index 000000000..8beecc1da --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MessageFrame.c @@ -0,0 +1,1254 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MessageFrame" + * found in "J2735-MessageFrame-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MessageFrame.h" + +static const long asn_VAL_1_basicSafetyMessage = 20; +static const long asn_VAL_2_mapData = 18; +static const long asn_VAL_3_signalPhaseAndTimingMessage = 19; +static const long asn_VAL_4_commonSafetyRequest = 21; +static const long asn_VAL_5_emergencyVehicleAlert = 22; +static const long asn_VAL_6_intersectionCollision = 23; +static const long asn_VAL_7_nmeaCorrections = 24; +static const long asn_VAL_8_probeDataManagement = 25; +static const long asn_VAL_9_probeVehicleData = 26; +static const long asn_VAL_10_roadSideAlert = 27; +static const long asn_VAL_11_rtcmCorrections = 28; +static const long asn_VAL_12_signalRequestMessage = 29; +static const long asn_VAL_13_signalStatusMessage = 30; +static const long asn_VAL_14_travelerInformation = 31; +static const long asn_VAL_15_personalSafetyMessage = 32; +static const long asn_VAL_16_roadSafetyMessage = 33; +static const long asn_VAL_17_roadWeatherMessage = 34; +static const long asn_VAL_18_probeDataConfigMessage = 35; +static const long asn_VAL_19_probeDataReportMessage = 36; +static const long asn_VAL_20_tollAdvertisementMessage = 37; +static const long asn_VAL_21_tollUsageMessage = 38; +static const long asn_VAL_22_tollUsageAckMessage = 39; +static const long asn_VAL_23_cooperativeControlMessage = 40; +static const long asn_VAL_24_sensorDataSharingMessage = 41; +static const long asn_VAL_25_maneuverSharingAndCoordinatingMessage = 42; +static const long asn_VAL_26_roadGeometryAndAttributes = 43; +static const long asn_VAL_27_personalSafetyMessage2 = 44; +static const long asn_VAL_28_trafficSignalPhaseAndTiming = 45; +static const long asn_VAL_29_signalControlAndPrioritizationRequest = 46; +static const long asn_VAL_30_signalControlAndPrioritizationStatus = 47; +static const long asn_VAL_31_roadUserChargingConfigMessage = 48; +static const long asn_VAL_32_roadUserChargingReportMessage = 49; +static const long asn_VAL_33_trafficLightStatusMessage = 50; +static const long asn_VAL_34_testMessage00 = 240; +static const long asn_VAL_35_testMessage01 = 241; +static const long asn_VAL_36_testMessage02 = 242; +static const long asn_VAL_37_testMessage03 = 243; +static const long asn_VAL_38_testMessage04 = 244; +static const long asn_VAL_39_testMessage05 = 245; +static const long asn_VAL_40_testMessage06 = 246; +static const long asn_VAL_41_testMessage07 = 247; +static const long asn_VAL_42_testMessage08 = 248; +static const long asn_VAL_43_testMessage09 = 249; +static const long asn_VAL_44_testMessage10 = 250; +static const long asn_VAL_45_testMessage11 = 251; +static const long asn_VAL_46_testMessage12 = 252; +static const long asn_VAL_47_testMessage13 = 253; +static const long asn_VAL_48_testMessage14 = 254; +static const long asn_VAL_49_testMessage15 = 255; +static const asn_ioc_cell_t asn_IOS_MessageTypes_1_rows[] = { + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_1_basicSafetyMessage }, + { "&Type", aioc__type, &asn_DEF_BasicSafetyMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_2_mapData }, + { "&Type", aioc__type, &asn_DEF_MapData }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_3_signalPhaseAndTimingMessage }, + { "&Type", aioc__type, &asn_DEF_SPAT }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_4_commonSafetyRequest }, + { "&Type", aioc__type, &asn_DEF_CommonSafetyRequest }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_5_emergencyVehicleAlert }, + { "&Type", aioc__type, &asn_DEF_EmergencyVehicleAlert }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_6_intersectionCollision }, + { "&Type", aioc__type, &asn_DEF_IntersectionCollision }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_7_nmeaCorrections }, + { "&Type", aioc__type, &asn_DEF_NMEAcorrections }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_8_probeDataManagement }, + { "&Type", aioc__type, &asn_DEF_ProbeDataManagement }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_9_probeVehicleData }, + { "&Type", aioc__type, &asn_DEF_ProbeVehicleData }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_10_roadSideAlert }, + { "&Type", aioc__type, &asn_DEF_RoadSideAlert }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_11_rtcmCorrections }, + { "&Type", aioc__type, &asn_DEF_RTCMcorrections }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_12_signalRequestMessage }, + { "&Type", aioc__type, &asn_DEF_SignalRequestMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_13_signalStatusMessage }, + { "&Type", aioc__type, &asn_DEF_SignalStatusMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_14_travelerInformation }, + { "&Type", aioc__type, &asn_DEF_TravelerInformation }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_15_personalSafetyMessage }, + { "&Type", aioc__type, &asn_DEF_PersonalSafetyMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_16_roadSafetyMessage }, + { "&Type", aioc__type, &asn_DEF_RoadSafetyMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_17_roadWeatherMessage }, + { "&Type", aioc__type, &asn_DEF_RoadWeatherMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_18_probeDataConfigMessage }, + { "&Type", aioc__type, &asn_DEF_ProbeDataConfigMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_19_probeDataReportMessage }, + { "&Type", aioc__type, &asn_DEF_ProbeDataReportMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_20_tollAdvertisementMessage }, + { "&Type", aioc__type, &asn_DEF_TollAdvertisementMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_21_tollUsageMessage }, + { "&Type", aioc__type, &asn_DEF_TollUsageMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_22_tollUsageAckMessage }, + { "&Type", aioc__type, &asn_DEF_TollUsageAckMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_23_cooperativeControlMessage }, + { "&Type", aioc__type, &asn_DEF_CooperativeControlMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_24_sensorDataSharingMessage }, + { "&Type", aioc__type, &asn_DEF_SensorDataSharingMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_25_maneuverSharingAndCoordinatingMessage }, + { "&Type", aioc__type, &asn_DEF_ManeuverSharingAndCoordinatingMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_26_roadGeometryAndAttributes }, + { "&Type", aioc__type, &asn_DEF_RoadGeometryAndAttributes }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_27_personalSafetyMessage2 }, + { "&Type", aioc__type, &asn_DEF_PersonalSafetyMessage2 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_28_trafficSignalPhaseAndTiming }, + { "&Type", aioc__type, &asn_DEF_TrafficSignalPhaseAndTiming }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_29_signalControlAndPrioritizationRequest }, + { "&Type", aioc__type, &asn_DEF_SignalControlAndPrioritizationRequest }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_30_signalControlAndPrioritizationStatus }, + { "&Type", aioc__type, &asn_DEF_SignalControlAndPrioritizationStatus }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_31_roadUserChargingConfigMessage }, + { "&Type", aioc__type, &asn_DEF_RoadUserChargingConfigMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_32_roadUserChargingReportMessage }, + { "&Type", aioc__type, &asn_DEF_RoadUserChargingReportMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_33_trafficLightStatusMessage }, + { "&Type", aioc__type, &asn_DEF_TrafficLightStatusMessage }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_34_testMessage00 }, + { "&Type", aioc__type, &asn_DEF_TestMessage00 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_35_testMessage01 }, + { "&Type", aioc__type, &asn_DEF_TestMessage01 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_36_testMessage02 }, + { "&Type", aioc__type, &asn_DEF_TestMessage02 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_37_testMessage03 }, + { "&Type", aioc__type, &asn_DEF_TestMessage03 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_38_testMessage04 }, + { "&Type", aioc__type, &asn_DEF_TestMessage04 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_39_testMessage05 }, + { "&Type", aioc__type, &asn_DEF_TestMessage05 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_40_testMessage06 }, + { "&Type", aioc__type, &asn_DEF_TestMessage06 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_41_testMessage07 }, + { "&Type", aioc__type, &asn_DEF_TestMessage07 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_42_testMessage08 }, + { "&Type", aioc__type, &asn_DEF_TestMessage08 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_43_testMessage09 }, + { "&Type", aioc__type, &asn_DEF_TestMessage09 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_44_testMessage10 }, + { "&Type", aioc__type, &asn_DEF_TestMessage10 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_45_testMessage11 }, + { "&Type", aioc__type, &asn_DEF_TestMessage11 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_46_testMessage12 }, + { "&Type", aioc__type, &asn_DEF_TestMessage12 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_47_testMessage13 }, + { "&Type", aioc__type, &asn_DEF_TestMessage13 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_48_testMessage14 }, + { "&Type", aioc__type, &asn_DEF_TestMessage14 }, + { "&id", aioc__value, &asn_DEF_DSRCmsgID, &asn_VAL_49_testMessage15 }, + { "&Type", aioc__type, &asn_DEF_TestMessage15 } +}; +static const asn_ioc_set_t asn_IOS_MessageTypes_1[] = { + { 49, 2, asn_IOS_MessageTypes_1_rows } +}; +static int +memb_messageId_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_MessageFrame_value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_MessageTypes_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &Type */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct MessageFrame, messageId)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_messageId_constr_2 CC_NOTUSED = { + { 2, 1 } /* (0..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_messageId_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 32767 } /* (0..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_value_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_value_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_value_3[] = { + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.BasicSafetyMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_BasicSafetyMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "BasicSafetyMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.MapData), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MapData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "MapData" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.SPAT), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SPAT, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "SPAT" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.CommonSafetyRequest), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CommonSafetyRequest, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "CommonSafetyRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.EmergencyVehicleAlert), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_EmergencyVehicleAlert, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "EmergencyVehicleAlert" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.IntersectionCollision), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IntersectionCollision, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "IntersectionCollision" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.NMEAcorrections), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NMEAcorrections, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "NMEAcorrections" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.ProbeDataManagement), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProbeDataManagement, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ProbeDataManagement" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.ProbeVehicleData), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProbeVehicleData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ProbeVehicleData" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.RoadSideAlert), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RoadSideAlert, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "RoadSideAlert" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.RTCMcorrections), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RTCMcorrections, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "RTCMcorrections" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.SignalRequestMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SignalRequestMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "SignalRequestMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.SignalStatusMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SignalStatusMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "SignalStatusMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TravelerInformation), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TravelerInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TravelerInformation" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.PersonalSafetyMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_PersonalSafetyMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "PersonalSafetyMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.RoadSafetyMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RoadSafetyMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "RoadSafetyMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.RoadWeatherMessage), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_RoadWeatherMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "RoadWeatherMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.ProbeDataConfigMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProbeDataConfigMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ProbeDataConfigMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.ProbeDataReportMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProbeDataReportMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ProbeDataReportMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TollAdvertisementMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TollAdvertisementMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TollAdvertisementMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TollUsageMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TollUsageMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TollUsageMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TollUsageAckMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TollUsageAckMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TollUsageAckMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.CooperativeControlMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_CooperativeControlMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "CooperativeControlMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.SensorDataSharingMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SensorDataSharingMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "SensorDataSharingMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.ManeuverSharingAndCoordinatingMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ManeuverSharingAndCoordinatingMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ManeuverSharingAndCoordinatingMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.RoadGeometryAndAttributes), + (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), + 0, + &asn_DEF_RoadGeometryAndAttributes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "RoadGeometryAndAttributes" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.PersonalSafetyMessage2), + (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), + 0, + &asn_DEF_PersonalSafetyMessage2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "PersonalSafetyMessage2" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TrafficSignalPhaseAndTiming), + (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), + 0, + &asn_DEF_TrafficSignalPhaseAndTiming, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TrafficSignalPhaseAndTiming" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.SignalControlAndPrioritizationRequest), + (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), + 0, + &asn_DEF_SignalControlAndPrioritizationRequest, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "SignalControlAndPrioritizationRequest" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.SignalControlAndPrioritizationStatus), + (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), + 0, + &asn_DEF_SignalControlAndPrioritizationStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "SignalControlAndPrioritizationStatus" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.RoadUserChargingConfigMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RoadUserChargingConfigMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "RoadUserChargingConfigMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.RoadUserChargingReportMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RoadUserChargingReportMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "RoadUserChargingReportMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TrafficLightStatusMessage), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TrafficLightStatusMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TrafficLightStatusMessage" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage00), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage00, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage00" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage01), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage01, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage01" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage02), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage02, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage02" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage03), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage03, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage03" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage04), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage04, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage04" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage05), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage05, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage05" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage06), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage06, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage06" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage07), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage07, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage07" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage08), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage08, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage08" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage09), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage09, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage09" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage10), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage10" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage11), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage11, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage11" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage12), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage12" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage13), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage13, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage13" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage14), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage14, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage14" + }, + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame__value, choice.TestMessage15), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TestMessage15, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "TestMessage15" + }, +}; +static const unsigned asn_MAP_value_to_canonical_3[] = { 25, 26, 27, 28, 29, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 16 }; +static const unsigned asn_MAP_value_from_canonical_3[] = { 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 48, 21, 22, 23, 24, 25, 26, 27, 28, 0, 1, 2, 3, 4, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47 }; +static const asn_TYPE_tag2member_t asn_MAP_value_tag2el_3[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 25, 0, 4 }, /* RoadGeometryAndAttributes */ + { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 26, -1, 3 }, /* PersonalSafetyMessage2 */ + { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 27, -2, 2 }, /* TrafficSignalPhaseAndTiming */ + { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 28, -3, 1 }, /* SignalControlAndPrioritizationRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)), 29, -4, 0 }, /* SignalControlAndPrioritizationStatus */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 42 }, /* BasicSafetyMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 41 }, /* MapData */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 40 }, /* SPAT */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 3, -3, 39 }, /* CommonSafetyRequest */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 4, -4, 38 }, /* EmergencyVehicleAlert */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 5, -5, 37 }, /* IntersectionCollision */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 6, -6, 36 }, /* NMEAcorrections */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 7, -7, 35 }, /* ProbeDataManagement */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 8, -8, 34 }, /* ProbeVehicleData */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 9, -9, 33 }, /* RoadSideAlert */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 10, -10, 32 }, /* RTCMcorrections */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 11, -11, 31 }, /* SignalRequestMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 12, -12, 30 }, /* SignalStatusMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 13, -13, 29 }, /* TravelerInformation */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 14, -14, 28 }, /* PersonalSafetyMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 15, -15, 27 }, /* RoadSafetyMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 17, -16, 26 }, /* ProbeDataConfigMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 18, -17, 25 }, /* ProbeDataReportMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 19, -18, 24 }, /* TollAdvertisementMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 20, -19, 23 }, /* TollUsageMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 21, -20, 22 }, /* TollUsageAckMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 22, -21, 21 }, /* CooperativeControlMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 23, -22, 20 }, /* SensorDataSharingMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 24, -23, 19 }, /* ManeuverSharingAndCoordinatingMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 30, -24, 18 }, /* RoadUserChargingConfigMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 31, -25, 17 }, /* RoadUserChargingReportMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 32, -26, 16 }, /* TrafficLightStatusMessage */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 33, -27, 15 }, /* TestMessage00 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 34, -28, 14 }, /* TestMessage01 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 35, -29, 13 }, /* TestMessage02 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 36, -30, 12 }, /* TestMessage03 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 37, -31, 11 }, /* TestMessage04 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 38, -32, 10 }, /* TestMessage05 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 39, -33, 9 }, /* TestMessage06 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 40, -34, 8 }, /* TestMessage07 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 41, -35, 7 }, /* TestMessage08 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 42, -36, 6 }, /* TestMessage09 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 43, -37, 5 }, /* TestMessage10 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 44, -38, 4 }, /* TestMessage11 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 45, -39, 3 }, /* TestMessage12 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 46, -40, 2 }, /* TestMessage13 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 47, -41, 1 }, /* TestMessage14 */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 48, -42, 0 }, /* TestMessage15 */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 16, 0, 0 }, /* upload */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 16, 0, 0 } /* download */ +}; +static asn_CHOICE_specifics_t asn_SPC_value_specs_3 = { + sizeof(struct MessageFrame__value), + offsetof(struct MessageFrame__value, _asn_ctx), + offsetof(struct MessageFrame__value, present), + sizeof(((struct MessageFrame__value *)0)->present), + asn_MAP_value_tag2el_3, + 50, /* Count of tags in the map */ + asn_MAP_value_to_canonical_3, + asn_MAP_value_from_canonical_3, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_value_3 = { + "value", + "value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + asn_MBR_value_3, + 49, /* Elements count */ + &asn_SPC_value_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_MessageFrame_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MessageFrame, messageId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DSRCmsgID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_messageId_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_messageId_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_messageId_constraint_1 + }, + 0, 0, /* No default value */ + "messageId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct MessageFrame, value), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_value_3, + select_MessageFrame_value_type, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_value_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_value_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_value_constraint_1 + }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_MessageFrame_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MessageFrame_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* messageId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* value */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_MessageFrame_specs_1 = { + sizeof(struct MessageFrame), + offsetof(struct MessageFrame, _asn_ctx), + asn_MAP_MessageFrame_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MessageFrame = { + "MessageFrame", + "MessageFrame", + &asn_OP_SEQUENCE, + asn_DEF_MessageFrame_tags_1, + sizeof(asn_DEF_MessageFrame_tags_1) + /sizeof(asn_DEF_MessageFrame_tags_1[0]), /* 1 */ + asn_DEF_MessageFrame_tags_1, /* Same as above */ + sizeof(asn_DEF_MessageFrame_tags_1) + /sizeof(asn_DEF_MessageFrame_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_MessageFrame_1, + 2, /* Elements count */ + &asn_SPC_MessageFrame_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MessageFrame.h b/src/tmx/Asn_J2735/src/r2024/MessageFrame.h deleted file mode 100644 index f329a97ab..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MessageFrame.h +++ /dev/null @@ -1,206 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MessageFrame" - * found in "J2735-MessageFrame-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MessageFrame_H_ -#define _MessageFrame_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DSRCmsgID.h" -#include "ANY.h" -#include "asn_ioc.h" -#include "BasicSafetyMessage.h" -#include "MapData.h" -#include "SPAT.h" -#include "CommonSafetyRequest.h" -#include "EmergencyVehicleAlert.h" -#include "IntersectionCollision.h" -#include "NMEAcorrections.h" -#include "ProbeDataManagement.h" -#include "ProbeVehicleData.h" -#include "RoadSideAlert.h" -#include "RTCMcorrections.h" -#include "SignalRequestMessage.h" -#include "SignalStatusMessage.h" -#include "TravelerInformation.h" -#include "PersonalSafetyMessage.h" -#include "RoadSafetyMessage.h" -#include "RoadWeatherMessage.h" -#include "ProbeDataConfigMessage.h" -#include "ProbeDataReportMessage.h" -#include "TollAdvertisementMessage.h" -#include "TollUsageMessage.h" -#include "TollUsageAckMessage.h" -#include "CooperativeControlMessage.h" -#include "SensorDataSharingMessage.h" -#include "ManeuverSharingAndCoordinatingMessage.h" -#include "RoadGeometryAndAttributes.h" -#include "PersonalSafetyMessage2.h" -#include "TrafficSignalPhaseAndTiming.h" -#include "SignalControlAndPrioritizationRequest.h" -#include "SignalControlAndPrioritizationStatus.h" -#include "RoadUserChargingConfigMessage.h" -#include "RoadUserChargingReportMessage.h" -#include "TrafficLightStatusMessage.h" -#include "TestMessage00.h" -#include "TestMessage01.h" -#include "TestMessage02.h" -#include "TestMessage03.h" -#include "TestMessage04.h" -#include "TestMessage05.h" -#include "TestMessage06.h" -#include "TestMessage07.h" -#include "TestMessage08.h" -#include "TestMessage09.h" -#include "TestMessage10.h" -#include "TestMessage11.h" -#include "TestMessage12.h" -#include "TestMessage13.h" -#include "TestMessage14.h" -#include "TestMessage15.h" -#include "OPEN_TYPE.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum MessageFrame__value_PR { - MessageFrame__value_PR_NOTHING, /* No components present */ - MessageFrame__value_PR_BasicSafetyMessage, - MessageFrame__value_PR_MapData, - MessageFrame__value_PR_SPAT, - MessageFrame__value_PR_CommonSafetyRequest, - MessageFrame__value_PR_EmergencyVehicleAlert, - MessageFrame__value_PR_IntersectionCollision, - MessageFrame__value_PR_NMEAcorrections, - MessageFrame__value_PR_ProbeDataManagement, - MessageFrame__value_PR_ProbeVehicleData, - MessageFrame__value_PR_RoadSideAlert, - MessageFrame__value_PR_RTCMcorrections, - MessageFrame__value_PR_SignalRequestMessage, - MessageFrame__value_PR_SignalStatusMessage, - MessageFrame__value_PR_TravelerInformation, - MessageFrame__value_PR_PersonalSafetyMessage, - MessageFrame__value_PR_RoadSafetyMessage, - MessageFrame__value_PR_RoadWeatherMessage, - MessageFrame__value_PR_ProbeDataConfigMessage, - MessageFrame__value_PR_ProbeDataReportMessage, - MessageFrame__value_PR_TollAdvertisementMessage, - MessageFrame__value_PR_TollUsageMessage, - MessageFrame__value_PR_TollUsageAckMessage, - MessageFrame__value_PR_CooperativeControlMessage, - MessageFrame__value_PR_SensorDataSharingMessage, - MessageFrame__value_PR_ManeuverSharingAndCoordinatingMessage, - MessageFrame__value_PR_RoadGeometryAndAttributes, - MessageFrame__value_PR_PersonalSafetyMessage2, - MessageFrame__value_PR_TrafficSignalPhaseAndTiming, - MessageFrame__value_PR_SignalControlAndPrioritizationRequest, - MessageFrame__value_PR_SignalControlAndPrioritizationStatus, - MessageFrame__value_PR_RoadUserChargingConfigMessage, - MessageFrame__value_PR_RoadUserChargingReportMessage, - MessageFrame__value_PR_TrafficLightStatusMessage, - MessageFrame__value_PR_TestMessage00, - MessageFrame__value_PR_TestMessage01, - MessageFrame__value_PR_TestMessage02, - MessageFrame__value_PR_TestMessage03, - MessageFrame__value_PR_TestMessage04, - MessageFrame__value_PR_TestMessage05, - MessageFrame__value_PR_TestMessage06, - MessageFrame__value_PR_TestMessage07, - MessageFrame__value_PR_TestMessage08, - MessageFrame__value_PR_TestMessage09, - MessageFrame__value_PR_TestMessage10, - MessageFrame__value_PR_TestMessage11, - MessageFrame__value_PR_TestMessage12, - MessageFrame__value_PR_TestMessage13, - MessageFrame__value_PR_TestMessage14, - MessageFrame__value_PR_TestMessage15 -} MessageFrame__value_PR; - -/* MessageFrame */ -typedef struct MessageFrame { - DSRCmsgID_t messageId; - struct MessageFrame__value { - MessageFrame__value_PR present; - union MessageFrame__value_u { - BasicSafetyMessage_t BasicSafetyMessage; - MapData_t MapData; - SPAT_t SPAT; - CommonSafetyRequest_t CommonSafetyRequest; - EmergencyVehicleAlert_t EmergencyVehicleAlert; - IntersectionCollision_t IntersectionCollision; - NMEAcorrections_t NMEAcorrections; - ProbeDataManagement_t ProbeDataManagement; - ProbeVehicleData_t ProbeVehicleData; - RoadSideAlert_t RoadSideAlert; - RTCMcorrections_t RTCMcorrections; - SignalRequestMessage_t SignalRequestMessage; - SignalStatusMessage_t SignalStatusMessage; - TravelerInformation_t TravelerInformation; - PersonalSafetyMessage_t PersonalSafetyMessage; - RoadSafetyMessage_t RoadSafetyMessage; - RoadWeatherMessage_t RoadWeatherMessage; - ProbeDataConfigMessage_t ProbeDataConfigMessage; - ProbeDataReportMessage_t ProbeDataReportMessage; - TollAdvertisementMessage_t TollAdvertisementMessage; - TollUsageMessage_t TollUsageMessage; - TollUsageAckMessage_t TollUsageAckMessage; - CooperativeControlMessage_t CooperativeControlMessage; - SensorDataSharingMessage_t SensorDataSharingMessage; - ManeuverSharingAndCoordinatingMessage_t ManeuverSharingAndCoordinatingMessage; - RoadGeometryAndAttributes_t RoadGeometryAndAttributes; - PersonalSafetyMessage2_t PersonalSafetyMessage2; - TrafficSignalPhaseAndTiming_t TrafficSignalPhaseAndTiming; - SignalControlAndPrioritizationRequest_t SignalControlAndPrioritizationRequest; - SignalControlAndPrioritizationStatus_t SignalControlAndPrioritizationStatus; - RoadUserChargingConfigMessage_t RoadUserChargingConfigMessage; - RoadUserChargingReportMessage_t RoadUserChargingReportMessage; - TrafficLightStatusMessage_t TrafficLightStatusMessage; - TestMessage00_t TestMessage00; - TestMessage01_t TestMessage01; - TestMessage02_t TestMessage02; - TestMessage03_t TestMessage03; - TestMessage04_t TestMessage04; - TestMessage05_t TestMessage05; - TestMessage06_t TestMessage06; - TestMessage07_t TestMessage07; - TestMessage08_t TestMessage08; - TestMessage09_t TestMessage09; - TestMessage10_t TestMessage10; - TestMessage11_t TestMessage11; - TestMessage12_t TestMessage12; - TestMessage13_t TestMessage13; - TestMessage14_t TestMessage14; - TestMessage15_t TestMessage15; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } value; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} MessageFrame_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MessageFrame; - -#ifdef __cplusplus -} -#endif - -#endif /* _MessageFrame_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MinTimetoChange.c b/src/tmx/Asn_J2735/src/r2024/MinTimetoChange.c new file mode 100644 index 000000000..a737ba342 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MinTimetoChange.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MinTimetoChange.h" + +int +MinTimetoChange_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 2402L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MinTimetoChange_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..2402) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MinTimetoChange_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 2402 } /* (0..2402) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_MinTimetoChange_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MinTimetoChange = { + "MinTimetoChange", + "MinTimetoChange", + &asn_OP_NativeInteger, + asn_DEF_MinTimetoChange_tags_1, + sizeof(asn_DEF_MinTimetoChange_tags_1) + /sizeof(asn_DEF_MinTimetoChange_tags_1[0]), /* 1 */ + asn_DEF_MinTimetoChange_tags_1, /* Same as above */ + sizeof(asn_DEF_MinTimetoChange_tags_1) + /sizeof(asn_DEF_MinTimetoChange_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MinTimetoChange_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MinTimetoChange_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + MinTimetoChange_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MinTimetoChange.h b/src/tmx/Asn_J2735/src/r2024/MinTimetoChange.h deleted file mode 100644 index 60d3b85d3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MinTimetoChange.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MinTimetoChange_H_ -#define _MinTimetoChange_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* MinTimetoChange */ -typedef long MinTimetoChange_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MinTimetoChange_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MinTimetoChange; -asn_struct_free_f MinTimetoChange_free; -asn_struct_print_f MinTimetoChange_print; -asn_constr_check_f MinTimetoChange_constraint; -ber_type_decoder_f MinTimetoChange_decode_ber; -der_type_encoder_f MinTimetoChange_encode_der; -xer_type_decoder_f MinTimetoChange_decode_xer; -xer_type_encoder_f MinTimetoChange_encode_xer; -oer_type_decoder_f MinTimetoChange_decode_oer; -oer_type_encoder_f MinTimetoChange_encode_oer; -per_type_decoder_f MinTimetoChange_decode_uper; -per_type_encoder_f MinTimetoChange_encode_uper; -per_type_decoder_f MinTimetoChange_decode_aper; -per_type_encoder_f MinTimetoChange_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MinTimetoChange_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Minute.c b/src/tmx/Asn_J2735/src/r2024/Minute.c new file mode 100644 index 000000000..0afd89e96 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Minute.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Minute.h" + +int +Minute_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Minute_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Minute_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Minute_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Minute = { + "Minute", + "Minute", + &asn_OP_NativeInteger, + asn_DEF_Minute_tags_1, + sizeof(asn_DEF_Minute_tags_1) + /sizeof(asn_DEF_Minute_tags_1[0]), /* 1 */ + asn_DEF_Minute_tags_1, /* Same as above */ + sizeof(asn_DEF_Minute_tags_1) + /sizeof(asn_DEF_Minute_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Minute_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Minute_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Minute_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Minute.h b/src/tmx/Asn_J2735/src/r2024/Minute.h deleted file mode 100644 index 5ad2034e4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Minute.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Minute_H_ -#define _Minute_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Minute */ -typedef long Minute_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Minute_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Minute; -asn_struct_free_f Minute_free; -asn_struct_print_f Minute_print; -asn_constr_check_f Minute_constraint; -ber_type_decoder_f Minute_decode_ber; -der_type_encoder_f Minute_encode_der; -xer_type_decoder_f Minute_decode_xer; -xer_type_encoder_f Minute_encode_xer; -oer_type_decoder_f Minute_decode_oer; -oer_type_encoder_f Minute_encode_oer; -per_type_decoder_f Minute_decode_uper; -per_type_encoder_f Minute_encode_uper; -per_type_decoder_f Minute_decode_aper; -per_type_encoder_f Minute_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Minute_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MinuteOfTheYear.c b/src/tmx/Asn_J2735/src/r2024/MinuteOfTheYear.c new file mode 100644 index 000000000..e645dbdd0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MinuteOfTheYear.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MinuteOfTheYear.h" + +int +MinuteOfTheYear_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 527040L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MinuteOfTheYear_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..527040) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MinuteOfTheYear_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 20, -1, 0, 527040 } /* (0..527040) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_MinuteOfTheYear_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MinuteOfTheYear = { + "MinuteOfTheYear", + "MinuteOfTheYear", + &asn_OP_NativeInteger, + asn_DEF_MinuteOfTheYear_tags_1, + sizeof(asn_DEF_MinuteOfTheYear_tags_1) + /sizeof(asn_DEF_MinuteOfTheYear_tags_1[0]), /* 1 */ + asn_DEF_MinuteOfTheYear_tags_1, /* Same as above */ + sizeof(asn_DEF_MinuteOfTheYear_tags_1) + /sizeof(asn_DEF_MinuteOfTheYear_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MinuteOfTheYear_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MinuteOfTheYear_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + MinuteOfTheYear_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MinuteOfTheYear.h b/src/tmx/Asn_J2735/src/r2024/MinuteOfTheYear.h deleted file mode 100644 index 2d71bc1dc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MinuteOfTheYear.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MinuteOfTheYear_H_ -#define _MinuteOfTheYear_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* MinuteOfTheYear */ -typedef long MinuteOfTheYear_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MinuteOfTheYear_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MinuteOfTheYear; -asn_struct_free_f MinuteOfTheYear_free; -asn_struct_print_f MinuteOfTheYear_print; -asn_constr_check_f MinuteOfTheYear_constraint; -ber_type_decoder_f MinuteOfTheYear_decode_ber; -der_type_encoder_f MinuteOfTheYear_encode_der; -xer_type_decoder_f MinuteOfTheYear_decode_xer; -xer_type_encoder_f MinuteOfTheYear_encode_xer; -oer_type_decoder_f MinuteOfTheYear_decode_oer; -oer_type_encoder_f MinuteOfTheYear_encode_oer; -per_type_decoder_f MinuteOfTheYear_decode_uper; -per_type_encoder_f MinuteOfTheYear_encode_uper; -per_type_decoder_f MinuteOfTheYear_decode_aper; -per_type_encoder_f MinuteOfTheYear_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MinuteOfTheYear_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MinutesAngle.c b/src/tmx/Asn_J2735/src/r2024/MinutesAngle.c new file mode 100644 index 000000000..768212d69 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MinutesAngle.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MinutesAngle.h" + +int +MinutesAngle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 59L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MinutesAngle_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..59) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MinutesAngle_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 59 } /* (0..59) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_MinutesAngle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MinutesAngle = { + "MinutesAngle", + "MinutesAngle", + &asn_OP_NativeInteger, + asn_DEF_MinutesAngle_tags_1, + sizeof(asn_DEF_MinutesAngle_tags_1) + /sizeof(asn_DEF_MinutesAngle_tags_1[0]), /* 1 */ + asn_DEF_MinutesAngle_tags_1, /* Same as above */ + sizeof(asn_DEF_MinutesAngle_tags_1) + /sizeof(asn_DEF_MinutesAngle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MinutesAngle_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MinutesAngle_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + MinutesAngle_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MinutesAngle.h b/src/tmx/Asn_J2735/src/r2024/MinutesAngle.h deleted file mode 100644 index 83780151b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MinutesAngle.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MinutesAngle_H_ -#define _MinutesAngle_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* MinutesAngle */ -typedef long MinutesAngle_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MinutesAngle_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MinutesAngle; -asn_struct_free_f MinutesAngle_free; -asn_struct_print_f MinutesAngle_print; -asn_constr_check_f MinutesAngle_constraint; -ber_type_decoder_f MinutesAngle_decode_ber; -der_type_encoder_f MinutesAngle_encode_der; -xer_type_decoder_f MinutesAngle_decode_xer; -xer_type_encoder_f MinutesAngle_encode_xer; -oer_type_decoder_f MinutesAngle_decode_oer; -oer_type_encoder_f MinutesAngle_encode_oer; -per_type_decoder_f MinutesAngle_decode_uper; -per_type_encoder_f MinutesAngle_encode_uper; -per_type_decoder_f MinutesAngle_decode_aper; -per_type_encoder_f MinutesAngle_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MinutesAngle_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MinutesDuration.c b/src/tmx/Asn_J2735/src/r2024/MinutesDuration.c new file mode 100644 index 000000000..4780ce347 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MinutesDuration.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MinutesDuration.h" + +int +MinutesDuration_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 32000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MinutesDuration_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..32000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MinutesDuration_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 32000 } /* (0..32000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_MinutesDuration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MinutesDuration = { + "MinutesDuration", + "MinutesDuration", + &asn_OP_NativeInteger, + asn_DEF_MinutesDuration_tags_1, + sizeof(asn_DEF_MinutesDuration_tags_1) + /sizeof(asn_DEF_MinutesDuration_tags_1[0]), /* 1 */ + asn_DEF_MinutesDuration_tags_1, /* Same as above */ + sizeof(asn_DEF_MinutesDuration_tags_1) + /sizeof(asn_DEF_MinutesDuration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MinutesDuration_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MinutesDuration_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + MinutesDuration_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MinutesDuration.h b/src/tmx/Asn_J2735/src/r2024/MinutesDuration.h deleted file mode 100644 index a9fcac9c5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MinutesDuration.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MinutesDuration_H_ -#define _MinutesDuration_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* MinutesDuration */ -typedef long MinutesDuration_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MinutesDuration_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MinutesDuration; -asn_struct_free_f MinutesDuration_free; -asn_struct_print_f MinutesDuration_print; -asn_constr_check_f MinutesDuration_constraint; -ber_type_decoder_f MinutesDuration_decode_ber; -der_type_encoder_f MinutesDuration_encode_der; -xer_type_decoder_f MinutesDuration_decode_xer; -xer_type_encoder_f MinutesDuration_encode_xer; -oer_type_decoder_f MinutesDuration_decode_oer; -oer_type_encoder_f MinutesDuration_encode_oer; -per_type_decoder_f MinutesDuration_decode_uper; -per_type_encoder_f MinutesDuration_encode_uper; -per_type_decoder_f MinutesDuration_decode_aper; -per_type_encoder_f MinutesDuration_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MinutesDuration_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MobileSituation.c b/src/tmx/Asn_J2735/src/r2024/MobileSituation.c new file mode 100644 index 000000000..04dce6625 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MobileSituation.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MobileSituation.h" + +int +MobileSituation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MobileSituation_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MobileSituation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_MobileSituation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MobileSituation = { + "MobileSituation", + "MobileSituation", + &asn_OP_NativeInteger, + asn_DEF_MobileSituation_tags_1, + sizeof(asn_DEF_MobileSituation_tags_1) + /sizeof(asn_DEF_MobileSituation_tags_1[0]), /* 1 */ + asn_DEF_MobileSituation_tags_1, /* Same as above */ + sizeof(asn_DEF_MobileSituation_tags_1) + /sizeof(asn_DEF_MobileSituation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MobileSituation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MobileSituation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + MobileSituation_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MobileSituation.h b/src/tmx/Asn_J2735/src/r2024/MobileSituation.h deleted file mode 100644 index c62de1d6e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MobileSituation.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MobileSituation_H_ -#define _MobileSituation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum MobileSituation { - MobileSituation_abnormal_load = 2049, - MobileSituation_wide_load = 2050, - MobileSituation_long_load = 2051, - MobileSituation_slow_vehicle = 2052, - MobileSituation_farm_equipment = 2053, - MobileSituation_horse_drawn_vehicles = 2054, - MobileSituation_overheight_load = 2055, - MobileSituation_overweight_load = 2056, - MobileSituation_tracked_vehicle = 2057, - MobileSituation_vehicle_carrying_hazardous_materials = 2058, - MobileSituation_slow_moving_maintenance_vehicle = 2059, - MobileSituation_convoy = 2060, - MobileSituation_military_convoy = 2061, - MobileSituation_refugee_convoy = 2062, - MobileSituation_motorcade = 2063, - MobileSituation_mobile_situation_repositioning = 2064, - MobileSituation_winter_maintenance_vehicles = 2065, - MobileSituation_snowplows = 2066, - MobileSituation_slow_moving_maintenance_vehicle_warning_cleared = 2172, - MobileSituation_exceptional_load_warning_cleared = 2173, - MobileSituation_hazardous_load_warning_cleared = 2174, - MobileSituation_convoy_cleared = 2175 -} e_MobileSituation; - -/* MobileSituation */ -typedef long MobileSituation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MobileSituation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MobileSituation; -asn_struct_free_f MobileSituation_free; -asn_struct_print_f MobileSituation_print; -asn_constr_check_f MobileSituation_constraint; -ber_type_decoder_f MobileSituation_decode_ber; -der_type_encoder_f MobileSituation_encode_der; -xer_type_decoder_f MobileSituation_decode_xer; -xer_type_encoder_f MobileSituation_encode_xer; -oer_type_decoder_f MobileSituation_decode_oer; -oer_type_encoder_f MobileSituation_encode_oer; -per_type_decoder_f MobileSituation_decode_uper; -per_type_encoder_f MobileSituation_encode_uper; -per_type_decoder_f MobileSituation_decode_aper; -per_type_encoder_f MobileSituation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MobileSituation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Month.c b/src/tmx/Asn_J2735/src/r2024/Month.c new file mode 100644 index 000000000..69db173b0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Month.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Month.h" + +int +Month_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Month_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Month_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Month_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Month = { + "Month", + "Month", + &asn_OP_NativeInteger, + asn_DEF_Month_tags_1, + sizeof(asn_DEF_Month_tags_1) + /sizeof(asn_DEF_Month_tags_1[0]), /* 1 */ + asn_DEF_Month_tags_1, /* Same as above */ + sizeof(asn_DEF_Month_tags_1) + /sizeof(asn_DEF_Month_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Month_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Month_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Month_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Month.h b/src/tmx/Asn_J2735/src/r2024/Month.h deleted file mode 100644 index 5f75b4091..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Month.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Month_H_ -#define _Month_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Month */ -typedef long Month_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Month_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Month; -asn_struct_free_f Month_free; -asn_struct_print_f Month_print; -asn_constr_check_f Month_constraint; -ber_type_decoder_f Month_decode_ber; -der_type_encoder_f Month_encode_der; -xer_type_decoder_f Month_decode_xer; -xer_type_encoder_f Month_encode_xer; -oer_type_decoder_f Month_decode_oer; -oer_type_encoder_f Month_encode_oer; -per_type_decoder_f Month_decode_uper; -per_type_encoder_f Month_encode_uper; -per_type_decoder_f Month_decode_aper; -per_type_encoder_f Month_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Month_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MotorizedPropelledType.c b/src/tmx/Asn_J2735/src/r2024/MotorizedPropelledType.c new file mode 100644 index 000000000..209acc18c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MotorizedPropelledType.c @@ -0,0 +1,78 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MotorizedPropelledType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MotorizedPropelledType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MotorizedPropelledType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 5 } /* (0..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_MotorizedPropelledType_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 10, "otherTypes" }, + { 2, 10, "wheelChair" }, + { 3, 7, "bicycle" }, + { 4, 7, "scooter" }, + { 5, 19, "selfBalancingDevice" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_MotorizedPropelledType_enum2value_1[] = { + 3, /* bicycle(3) */ + 1, /* otherTypes(1) */ + 4, /* scooter(4) */ + 5, /* selfBalancingDevice(5) */ + 0, /* unavailable(0) */ + 2 /* wheelChair(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_MotorizedPropelledType_specs_1 = { + asn_MAP_MotorizedPropelledType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_MotorizedPropelledType_enum2value_1, /* N => "tag"; sorted by N */ + 6, /* Number of elements in the maps */ + 7, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_MotorizedPropelledType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MotorizedPropelledType = { + "MotorizedPropelledType", + "MotorizedPropelledType", + &asn_OP_NativeEnumerated, + asn_DEF_MotorizedPropelledType_tags_1, + sizeof(asn_DEF_MotorizedPropelledType_tags_1) + /sizeof(asn_DEF_MotorizedPropelledType_tags_1[0]), /* 1 */ + asn_DEF_MotorizedPropelledType_tags_1, /* Same as above */ + sizeof(asn_DEF_MotorizedPropelledType_tags_1) + /sizeof(asn_DEF_MotorizedPropelledType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MotorizedPropelledType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MotorizedPropelledType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_MotorizedPropelledType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MotorizedPropelledType.h b/src/tmx/Asn_J2735/src/r2024/MotorizedPropelledType.h deleted file mode 100644 index b3a37450e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MotorizedPropelledType.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MotorizedPropelledType_H_ -#define _MotorizedPropelledType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum MotorizedPropelledType { - MotorizedPropelledType_unavailable = 0, - MotorizedPropelledType_otherTypes = 1, - MotorizedPropelledType_wheelChair = 2, - MotorizedPropelledType_bicycle = 3, - MotorizedPropelledType_scooter = 4, - MotorizedPropelledType_selfBalancingDevice = 5 - /* - * Enumeration is extensible - */ -} e_MotorizedPropelledType; - -/* MotorizedPropelledType */ -typedef long MotorizedPropelledType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MotorizedPropelledType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MotorizedPropelledType; -extern const asn_INTEGER_specifics_t asn_SPC_MotorizedPropelledType_specs_1; -asn_struct_free_f MotorizedPropelledType_free; -asn_struct_print_f MotorizedPropelledType_print; -asn_constr_check_f MotorizedPropelledType_constraint; -ber_type_decoder_f MotorizedPropelledType_decode_ber; -der_type_encoder_f MotorizedPropelledType_encode_der; -xer_type_decoder_f MotorizedPropelledType_decode_xer; -xer_type_encoder_f MotorizedPropelledType_encode_xer; -oer_type_decoder_f MotorizedPropelledType_decode_oer; -oer_type_encoder_f MotorizedPropelledType_encode_oer; -per_type_decoder_f MotorizedPropelledType_decode_uper; -per_type_encoder_f MotorizedPropelledType_encode_uper; -per_type_decoder_f MotorizedPropelledType_decode_aper; -per_type_encoder_f MotorizedPropelledType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MotorizedPropelledType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MovementEvent-addGrpB.c b/src/tmx/Asn_J2735/src/r2024/MovementEvent-addGrpB.c new file mode 100644 index 000000000..f97cc09ae --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MovementEvent-addGrpB.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MovementEvent-addGrpB.h" + +asn_TYPE_member_t asn_MBR_MovementEvent_addGrpB_1[] = { + { ATF_POINTER, 1, offsetof(struct MovementEvent_addGrpB, startTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeRemaining, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct MovementEvent_addGrpB, minEndTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinTimetoChange, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "minEndTime" + }, + { ATF_POINTER, 4, offsetof(struct MovementEvent_addGrpB, maxEndTime), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MaxTimetoChange, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maxEndTime" + }, + { ATF_POINTER, 3, offsetof(struct MovementEvent_addGrpB, likelyTime), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeRemaining, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "likelyTime" + }, + { ATF_POINTER, 2, offsetof(struct MovementEvent_addGrpB, confidence), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeIntervalConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, + { ATF_POINTER, 1, offsetof(struct MovementEvent_addGrpB, nextTime), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeRemaining, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "nextTime" + }, +}; +static const int asn_MAP_MovementEvent_addGrpB_oms_1[] = { 0, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_MovementEvent_addGrpB_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MovementEvent_addGrpB_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* startTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* minEndTime */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* maxEndTime */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* likelyTime */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* confidence */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* nextTime */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MovementEvent_addGrpB_specs_1 = { + sizeof(struct MovementEvent_addGrpB), + offsetof(struct MovementEvent_addGrpB, _asn_ctx), + asn_MAP_MovementEvent_addGrpB_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_MovementEvent_addGrpB_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MovementEvent_addGrpB = { + "MovementEvent-addGrpB", + "MovementEvent-addGrpB", + &asn_OP_SEQUENCE, + asn_DEF_MovementEvent_addGrpB_tags_1, + sizeof(asn_DEF_MovementEvent_addGrpB_tags_1) + /sizeof(asn_DEF_MovementEvent_addGrpB_tags_1[0]), /* 1 */ + asn_DEF_MovementEvent_addGrpB_tags_1, /* Same as above */ + sizeof(asn_DEF_MovementEvent_addGrpB_tags_1) + /sizeof(asn_DEF_MovementEvent_addGrpB_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_MovementEvent_addGrpB_1, + 6, /* Elements count */ + &asn_SPC_MovementEvent_addGrpB_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MovementEvent-addGrpB.h b/src/tmx/Asn_J2735/src/r2024/MovementEvent-addGrpB.h deleted file mode 100644 index aaaf1fab8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MovementEvent-addGrpB.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MovementEvent_addGrpB_H_ -#define _MovementEvent_addGrpB_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TimeRemaining.h" -#include "MinTimetoChange.h" -#include "MaxTimetoChange.h" -#include "TimeIntervalConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* MovementEvent-addGrpB */ -typedef struct MovementEvent_addGrpB { - TimeRemaining_t *startTime; /* OPTIONAL */ - MinTimetoChange_t minEndTime; - MaxTimetoChange_t *maxEndTime; /* OPTIONAL */ - TimeRemaining_t *likelyTime; /* OPTIONAL */ - TimeIntervalConfidence_t *confidence; /* OPTIONAL */ - TimeRemaining_t *nextTime; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} MovementEvent_addGrpB_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MovementEvent_addGrpB; -extern asn_SEQUENCE_specifics_t asn_SPC_MovementEvent_addGrpB_specs_1; -extern asn_TYPE_member_t asn_MBR_MovementEvent_addGrpB_1[6]; - -#ifdef __cplusplus -} -#endif - -#endif /* _MovementEvent_addGrpB_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MovementEvent.c b/src/tmx/Asn_J2735/src/r2024/MovementEvent.c new file mode 100644 index 000000000..6022ab485 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MovementEvent.c @@ -0,0 +1,225 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MovementEvent.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_5[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_MovementEvent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_5[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_5 = { + sizeof(struct MovementEvent__regional), + offsetof(struct MovementEvent__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_5 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_5, + sizeof(asn_DEF_regional_tags_5) + /sizeof(asn_DEF_regional_tags_5[0]) - 1, /* 1 */ + asn_DEF_regional_tags_5, /* Same as above */ + sizeof(asn_DEF_regional_tags_5) + /sizeof(asn_DEF_regional_tags_5[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_5, + 1, /* Single element */ + &asn_SPC_regional_specs_5 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_MovementEvent_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct MovementEvent, eventState), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MovementPhaseState, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventState" + }, + { ATF_POINTER, 3, offsetof(struct MovementEvent, timing), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeChangeDetails, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timing" + }, + { ATF_POINTER, 2, offsetof(struct MovementEvent, speeds), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AdvisorySpeedList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speeds" + }, + { ATF_POINTER, 1, offsetof(struct MovementEvent, regional), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + 0, + &asn_DEF_regional_5, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_MovementEvent_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_MovementEvent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MovementEvent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* eventState */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* timing */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* speeds */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MovementEvent_specs_1 = { + sizeof(struct MovementEvent), + offsetof(struct MovementEvent, _asn_ctx), + asn_MAP_MovementEvent_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_MovementEvent_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MovementEvent = { + "MovementEvent", + "MovementEvent", + &asn_OP_SEQUENCE, + asn_DEF_MovementEvent_tags_1, + sizeof(asn_DEF_MovementEvent_tags_1) + /sizeof(asn_DEF_MovementEvent_tags_1[0]), /* 1 */ + asn_DEF_MovementEvent_tags_1, /* Same as above */ + sizeof(asn_DEF_MovementEvent_tags_1) + /sizeof(asn_DEF_MovementEvent_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_MovementEvent_1, + 4, /* Elements count */ + &asn_SPC_MovementEvent_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MovementEvent.h b/src/tmx/Asn_J2735/src/r2024/MovementEvent.h deleted file mode 100644 index 848244548..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MovementEvent.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MovementEvent_H_ -#define _MovementEvent_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "MovementPhaseState.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct TimeChangeDetails; -struct AdvisorySpeedList; -struct Reg_MovementEvent; - -/* MovementEvent */ -typedef struct MovementEvent { - MovementPhaseState_t eventState; - struct TimeChangeDetails *timing; /* OPTIONAL */ - struct AdvisorySpeedList *speeds; /* OPTIONAL */ - struct MovementEvent__regional { - A_SEQUENCE_OF(struct Reg_MovementEvent) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} MovementEvent_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MovementEvent; -extern asn_SEQUENCE_specifics_t asn_SPC_MovementEvent_specs_1; -extern asn_TYPE_member_t asn_MBR_MovementEvent_1[4]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "TimeChangeDetails.h" -#include "AdvisorySpeedList.h" -#include "RegionalExtension.h" - -#endif /* _MovementEvent_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MovementEventList.c b/src/tmx/Asn_J2735/src/r2024/MovementEventList.c new file mode 100644 index 000000000..419c52733 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MovementEventList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MovementEventList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MovementEventList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MovementEventList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_MovementEventList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MovementEvent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_MovementEventList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_MovementEventList_specs_1 = { + sizeof(struct MovementEventList), + offsetof(struct MovementEventList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_MovementEventList = { + "MovementEventList", + "MovementEventList", + &asn_OP_SEQUENCE_OF, + asn_DEF_MovementEventList_tags_1, + sizeof(asn_DEF_MovementEventList_tags_1) + /sizeof(asn_DEF_MovementEventList_tags_1[0]), /* 1 */ + asn_DEF_MovementEventList_tags_1, /* Same as above */ + sizeof(asn_DEF_MovementEventList_tags_1) + /sizeof(asn_DEF_MovementEventList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MovementEventList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MovementEventList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_MovementEventList_1, + 1, /* Single element */ + &asn_SPC_MovementEventList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MovementEventList.h b/src/tmx/Asn_J2735/src/r2024/MovementEventList.h deleted file mode 100644 index 0ec53c412..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MovementEventList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MovementEventList_H_ -#define _MovementEventList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct MovementEvent; - -/* MovementEventList */ -typedef struct MovementEventList { - A_SEQUENCE_OF(struct MovementEvent) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} MovementEventList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MovementEventList; -extern asn_SET_OF_specifics_t asn_SPC_MovementEventList_specs_1; -extern asn_TYPE_member_t asn_MBR_MovementEventList_1[1]; -extern asn_per_constraints_t asn_PER_type_MovementEventList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "MovementEvent.h" - -#endif /* _MovementEventList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MovementList.c b/src/tmx/Asn_J2735/src/r2024/MovementList.c new file mode 100644 index 000000000..ebcb8ee8d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MovementList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MovementList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MovementList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..255)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MovementList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_MovementList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MovementState, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_MovementList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_MovementList_specs_1 = { + sizeof(struct MovementList), + offsetof(struct MovementList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_MovementList = { + "MovementList", + "MovementList", + &asn_OP_SEQUENCE_OF, + asn_DEF_MovementList_tags_1, + sizeof(asn_DEF_MovementList_tags_1) + /sizeof(asn_DEF_MovementList_tags_1[0]), /* 1 */ + asn_DEF_MovementList_tags_1, /* Same as above */ + sizeof(asn_DEF_MovementList_tags_1) + /sizeof(asn_DEF_MovementList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MovementList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MovementList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_MovementList_1, + 1, /* Single element */ + &asn_SPC_MovementList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MovementList.h b/src/tmx/Asn_J2735/src/r2024/MovementList.h deleted file mode 100644 index 0b87e3720..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MovementList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MovementList_H_ -#define _MovementList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct MovementState; - -/* MovementList */ -typedef struct MovementList { - A_SEQUENCE_OF(struct MovementState) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} MovementList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MovementList; -extern asn_SET_OF_specifics_t asn_SPC_MovementList_specs_1; -extern asn_TYPE_member_t asn_MBR_MovementList_1[1]; -extern asn_per_constraints_t asn_PER_type_MovementList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "MovementState.h" - -#endif /* _MovementList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MovementPhaseState.c b/src/tmx/Asn_J2735/src/r2024/MovementPhaseState.c new file mode 100644 index 000000000..018b48f14 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MovementPhaseState.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MovementPhaseState.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MovementPhaseState_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MovementPhaseState_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 9 } /* (0..9) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_MovementPhaseState_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 4, "dark" }, + { 2, 17, "stop-Then-Proceed" }, + { 3, 15, "stop-And-Remain" }, + { 4, 12, "pre-Movement" }, + { 5, 27, "permissive-Movement-Allowed" }, + { 6, 26, "protected-Movement-Allowed" }, + { 7, 20, "permissive-clearance" }, + { 8, 19, "protected-clearance" }, + { 9, 27, "caution-Conflicting-Traffic" } +}; +static const unsigned int asn_MAP_MovementPhaseState_enum2value_1[] = { + 9, /* caution-Conflicting-Traffic(9) */ + 1, /* dark(1) */ + 5, /* permissive-Movement-Allowed(5) */ + 7, /* permissive-clearance(7) */ + 4, /* pre-Movement(4) */ + 6, /* protected-Movement-Allowed(6) */ + 8, /* protected-clearance(8) */ + 3, /* stop-And-Remain(3) */ + 2, /* stop-Then-Proceed(2) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_MovementPhaseState_specs_1 = { + asn_MAP_MovementPhaseState_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_MovementPhaseState_enum2value_1, /* N => "tag"; sorted by N */ + 10, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_MovementPhaseState_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MovementPhaseState = { + "MovementPhaseState", + "MovementPhaseState", + &asn_OP_NativeEnumerated, + asn_DEF_MovementPhaseState_tags_1, + sizeof(asn_DEF_MovementPhaseState_tags_1) + /sizeof(asn_DEF_MovementPhaseState_tags_1[0]), /* 1 */ + asn_DEF_MovementPhaseState_tags_1, /* Same as above */ + sizeof(asn_DEF_MovementPhaseState_tags_1) + /sizeof(asn_DEF_MovementPhaseState_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MovementPhaseState_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MovementPhaseState_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_MovementPhaseState_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MovementPhaseState.h b/src/tmx/Asn_J2735/src/r2024/MovementPhaseState.h deleted file mode 100644 index 830905752..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MovementPhaseState.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MovementPhaseState_H_ -#define _MovementPhaseState_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum MovementPhaseState { - MovementPhaseState_unavailable = 0, - MovementPhaseState_dark = 1, - MovementPhaseState_stop_Then_Proceed = 2, - MovementPhaseState_stop_And_Remain = 3, - MovementPhaseState_pre_Movement = 4, - MovementPhaseState_permissive_Movement_Allowed = 5, - MovementPhaseState_protected_Movement_Allowed = 6, - MovementPhaseState_permissive_clearance = 7, - MovementPhaseState_protected_clearance = 8, - MovementPhaseState_caution_Conflicting_Traffic = 9 -} e_MovementPhaseState; - -/* MovementPhaseState */ -typedef long MovementPhaseState_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MovementPhaseState_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MovementPhaseState; -extern const asn_INTEGER_specifics_t asn_SPC_MovementPhaseState_specs_1; -asn_struct_free_f MovementPhaseState_free; -asn_struct_print_f MovementPhaseState_print; -asn_constr_check_f MovementPhaseState_constraint; -ber_type_decoder_f MovementPhaseState_decode_ber; -der_type_encoder_f MovementPhaseState_encode_der; -xer_type_decoder_f MovementPhaseState_decode_xer; -xer_type_encoder_f MovementPhaseState_encode_xer; -oer_type_decoder_f MovementPhaseState_decode_oer; -oer_type_encoder_f MovementPhaseState_encode_oer; -per_type_decoder_f MovementPhaseState_decode_uper; -per_type_encoder_f MovementPhaseState_encode_uper; -per_type_decoder_f MovementPhaseState_decode_aper; -per_type_encoder_f MovementPhaseState_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MovementPhaseState_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MovementState.c b/src/tmx/Asn_J2735/src/r2024/MovementState.c new file mode 100644 index 000000000..cc947d7ee --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MovementState.c @@ -0,0 +1,243 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MovementState.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_6[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_MovementState, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_6[] = { + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_6 = { + sizeof(struct MovementState__regional), + offsetof(struct MovementState__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_6 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_6, + sizeof(asn_DEF_regional_tags_6) + /sizeof(asn_DEF_regional_tags_6[0]) - 1, /* 1 */ + asn_DEF_regional_tags_6, /* Same as above */ + sizeof(asn_DEF_regional_tags_6) + /sizeof(asn_DEF_regional_tags_6[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_6, + 1, /* Single element */ + &asn_SPC_regional_specs_6 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_MovementState_1[] = { + { ATF_POINTER, 1, offsetof(struct MovementState, movementName), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveName, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "movementName" + }, + { ATF_NOFLAGS, 0, offsetof(struct MovementState, signalGroup), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SignalGroupID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "signalGroup" + }, + { ATF_NOFLAGS, 0, offsetof(struct MovementState, state_time_speed), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MovementEventList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "state-time-speed" + }, + { ATF_POINTER, 2, offsetof(struct MovementState, maneuverAssistList), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ManeuverAssistList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maneuverAssistList" + }, + { ATF_POINTER, 1, offsetof(struct MovementState, regional), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + 0, + &asn_DEF_regional_6, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_MovementState_oms_1[] = { 0, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_MovementState_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_MovementState_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* movementName */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* signalGroup */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* state-time-speed */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* maneuverAssistList */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_MovementState_specs_1 = { + sizeof(struct MovementState), + offsetof(struct MovementState, _asn_ctx), + asn_MAP_MovementState_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_MovementState_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_MovementState = { + "MovementState", + "MovementState", + &asn_OP_SEQUENCE, + asn_DEF_MovementState_tags_1, + sizeof(asn_DEF_MovementState_tags_1) + /sizeof(asn_DEF_MovementState_tags_1[0]), /* 1 */ + asn_DEF_MovementState_tags_1, /* Same as above */ + sizeof(asn_DEF_MovementState_tags_1) + /sizeof(asn_DEF_MovementState_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_MovementState_1, + 5, /* Elements count */ + &asn_SPC_MovementState_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MovementState.h b/src/tmx/Asn_J2735/src/r2024/MovementState.h deleted file mode 100644 index 8e1fc87bd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MovementState.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MovementState_H_ -#define _MovementState_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DescriptiveName.h" -#include "SignalGroupID.h" -#include "MovementEventList.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct ManeuverAssistList; -struct Reg_MovementState; - -/* MovementState */ -typedef struct MovementState { - DescriptiveName_t *movementName; /* OPTIONAL */ - SignalGroupID_t signalGroup; - MovementEventList_t state_time_speed; - struct ManeuverAssistList *maneuverAssistList; /* OPTIONAL */ - struct MovementState__regional { - A_SEQUENCE_OF(struct Reg_MovementState) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} MovementState_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_MovementState; -extern asn_SEQUENCE_specifics_t asn_SPC_MovementState_specs_1; -extern asn_TYPE_member_t asn_MBR_MovementState_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "ManeuverAssistList.h" -#include "RegionalExtension.h" - -#endif /* _MovementState_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MsgCRC.c b/src/tmx/Asn_J2735/src/r2024/MsgCRC.c new file mode 100644 index 000000000..9c5f86b51 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MsgCRC.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MsgCRC.h" + +int +MsgCRC_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MsgCRC_constr_1 CC_NOTUSED = { + { 0, 0 }, + 2 /* (SIZE(2..2)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MsgCRC_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_MsgCRC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MsgCRC = { + "MsgCRC", + "MsgCRC", + &asn_OP_OCTET_STRING, + asn_DEF_MsgCRC_tags_1, + sizeof(asn_DEF_MsgCRC_tags_1) + /sizeof(asn_DEF_MsgCRC_tags_1[0]), /* 1 */ + asn_DEF_MsgCRC_tags_1, /* Same as above */ + sizeof(asn_DEF_MsgCRC_tags_1) + /sizeof(asn_DEF_MsgCRC_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MsgCRC_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MsgCRC_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + MsgCRC_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MsgCRC.h b/src/tmx/Asn_J2735/src/r2024/MsgCRC.h deleted file mode 100644 index 7a3f49b24..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MsgCRC.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MsgCRC_H_ -#define _MsgCRC_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* MsgCRC */ -typedef OCTET_STRING_t MsgCRC_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MsgCRC_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MsgCRC; -asn_struct_free_f MsgCRC_free; -asn_struct_print_f MsgCRC_print; -asn_constr_check_f MsgCRC_constraint; -ber_type_decoder_f MsgCRC_decode_ber; -der_type_encoder_f MsgCRC_encode_der; -xer_type_decoder_f MsgCRC_decode_xer; -xer_type_encoder_f MsgCRC_encode_xer; -oer_type_decoder_f MsgCRC_decode_oer; -oer_type_encoder_f MsgCRC_encode_oer; -per_type_decoder_f MsgCRC_decode_uper; -per_type_encoder_f MsgCRC_encode_uper; -per_type_decoder_f MsgCRC_decode_aper; -per_type_encoder_f MsgCRC_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MsgCRC_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/MultiVehicleResponse.c b/src/tmx/Asn_J2735/src/r2024/MultiVehicleResponse.c new file mode 100644 index 000000000..0e39f329e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/MultiVehicleResponse.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "MultiVehicleResponse.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_MultiVehicleResponse_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_MultiVehicleResponse_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_MultiVehicleResponse_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 13, "singleVehicle" }, + { 2, 12, "multiVehicle" }, + { 3, 8, "reserved" } +}; +static const unsigned int asn_MAP_MultiVehicleResponse_enum2value_1[] = { + 2, /* multiVehicle(2) */ + 3, /* reserved(3) */ + 1, /* singleVehicle(1) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_MultiVehicleResponse_specs_1 = { + asn_MAP_MultiVehicleResponse_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_MultiVehicleResponse_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_MultiVehicleResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_MultiVehicleResponse = { + "MultiVehicleResponse", + "MultiVehicleResponse", + &asn_OP_NativeEnumerated, + asn_DEF_MultiVehicleResponse_tags_1, + sizeof(asn_DEF_MultiVehicleResponse_tags_1) + /sizeof(asn_DEF_MultiVehicleResponse_tags_1[0]), /* 1 */ + asn_DEF_MultiVehicleResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_MultiVehicleResponse_tags_1) + /sizeof(asn_DEF_MultiVehicleResponse_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_MultiVehicleResponse_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_MultiVehicleResponse_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_MultiVehicleResponse_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/MultiVehicleResponse.h b/src/tmx/Asn_J2735/src/r2024/MultiVehicleResponse.h deleted file mode 100644 index b01563f73..000000000 --- a/src/tmx/Asn_J2735/src/r2024/MultiVehicleResponse.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _MultiVehicleResponse_H_ -#define _MultiVehicleResponse_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum MultiVehicleResponse { - MultiVehicleResponse_unavailable = 0, - MultiVehicleResponse_singleVehicle = 1, - MultiVehicleResponse_multiVehicle = 2, - MultiVehicleResponse_reserved = 3 -} e_MultiVehicleResponse; - -/* MultiVehicleResponse */ -typedef long MultiVehicleResponse_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_MultiVehicleResponse_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_MultiVehicleResponse; -extern const asn_INTEGER_specifics_t asn_SPC_MultiVehicleResponse_specs_1; -asn_struct_free_f MultiVehicleResponse_free; -asn_struct_print_f MultiVehicleResponse_print; -asn_constr_check_f MultiVehicleResponse_constraint; -ber_type_decoder_f MultiVehicleResponse_decode_ber; -der_type_encoder_f MultiVehicleResponse_encode_der; -xer_type_decoder_f MultiVehicleResponse_decode_xer; -xer_type_encoder_f MultiVehicleResponse_encode_xer; -oer_type_decoder_f MultiVehicleResponse_decode_oer; -oer_type_encoder_f MultiVehicleResponse_encode_oer; -per_type_decoder_f MultiVehicleResponse_decode_uper; -per_type_encoder_f MultiVehicleResponse_encode_uper; -per_type_decoder_f MultiVehicleResponse_decode_aper; -per_type_encoder_f MultiVehicleResponse_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _MultiVehicleResponse_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NMEA-MsgType.c b/src/tmx/Asn_J2735/src/r2024/NMEA-MsgType.c new file mode 100644 index 000000000..71e255ef4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NMEA-MsgType.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "NMEAcorrections" + * found in "J2735-NMEAcorrections-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NMEA-MsgType.h" + +int +NMEA_MsgType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NMEA_MsgType_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NMEA_MsgType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 32767 } /* (0..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NMEA_MsgType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NMEA_MsgType = { + "NMEA-MsgType", + "NMEA-MsgType", + &asn_OP_NativeInteger, + asn_DEF_NMEA_MsgType_tags_1, + sizeof(asn_DEF_NMEA_MsgType_tags_1) + /sizeof(asn_DEF_NMEA_MsgType_tags_1[0]), /* 1 */ + asn_DEF_NMEA_MsgType_tags_1, /* Same as above */ + sizeof(asn_DEF_NMEA_MsgType_tags_1) + /sizeof(asn_DEF_NMEA_MsgType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NMEA_MsgType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NMEA_MsgType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NMEA_MsgType_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NMEA-MsgType.h b/src/tmx/Asn_J2735/src/r2024/NMEA-MsgType.h deleted file mode 100644 index 97f85edbf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NMEA-MsgType.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "NMEAcorrections" - * found in "J2735-NMEAcorrections-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NMEA_MsgType_H_ -#define _NMEA_MsgType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NMEA-MsgType */ -typedef long NMEA_MsgType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NMEA_MsgType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NMEA_MsgType; -asn_struct_free_f NMEA_MsgType_free; -asn_struct_print_f NMEA_MsgType_print; -asn_constr_check_f NMEA_MsgType_constraint; -ber_type_decoder_f NMEA_MsgType_decode_ber; -der_type_encoder_f NMEA_MsgType_encode_der; -xer_type_decoder_f NMEA_MsgType_decode_xer; -xer_type_encoder_f NMEA_MsgType_encode_xer; -oer_type_decoder_f NMEA_MsgType_decode_oer; -oer_type_encoder_f NMEA_MsgType_encode_oer; -per_type_decoder_f NMEA_MsgType_decode_uper; -per_type_encoder_f NMEA_MsgType_encode_uper; -per_type_decoder_f NMEA_MsgType_decode_aper; -per_type_encoder_f NMEA_MsgType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NMEA_MsgType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NMEA-Payload.c b/src/tmx/Asn_J2735/src/r2024/NMEA-Payload.c new file mode 100644 index 000000000..0bf594386 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NMEA-Payload.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "NMEAcorrections" + * found in "J2735-NMEAcorrections-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NMEA-Payload.h" + +int +NMEA_Payload_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 1023UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NMEA_Payload_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..1023)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NMEA_Payload_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 10, 10, 1, 1023 } /* (SIZE(1..1023)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NMEA_Payload_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NMEA_Payload = { + "NMEA-Payload", + "NMEA-Payload", + &asn_OP_OCTET_STRING, + asn_DEF_NMEA_Payload_tags_1, + sizeof(asn_DEF_NMEA_Payload_tags_1) + /sizeof(asn_DEF_NMEA_Payload_tags_1[0]), /* 1 */ + asn_DEF_NMEA_Payload_tags_1, /* Same as above */ + sizeof(asn_DEF_NMEA_Payload_tags_1) + /sizeof(asn_DEF_NMEA_Payload_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NMEA_Payload_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NMEA_Payload_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NMEA_Payload_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NMEA-Payload.h b/src/tmx/Asn_J2735/src/r2024/NMEA-Payload.h deleted file mode 100644 index 6d38acce1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NMEA-Payload.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "NMEAcorrections" - * found in "J2735-NMEAcorrections-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NMEA_Payload_H_ -#define _NMEA_Payload_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NMEA-Payload */ -typedef OCTET_STRING_t NMEA_Payload_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NMEA_Payload_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NMEA_Payload; -asn_struct_free_f NMEA_Payload_free; -asn_struct_print_f NMEA_Payload_print; -asn_constr_check_f NMEA_Payload_constraint; -ber_type_decoder_f NMEA_Payload_decode_ber; -der_type_encoder_f NMEA_Payload_encode_der; -xer_type_decoder_f NMEA_Payload_decode_xer; -xer_type_encoder_f NMEA_Payload_encode_xer; -oer_type_decoder_f NMEA_Payload_decode_oer; -oer_type_encoder_f NMEA_Payload_encode_oer; -per_type_decoder_f NMEA_Payload_decode_uper; -per_type_encoder_f NMEA_Payload_encode_uper; -per_type_decoder_f NMEA_Payload_decode_aper; -per_type_encoder_f NMEA_Payload_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NMEA_Payload_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NMEA-Revision.c b/src/tmx/Asn_J2735/src/r2024/NMEA-Revision.c new file mode 100644 index 000000000..9873f35de --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NMEA-Revision.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "NMEAcorrections" + * found in "J2735-NMEAcorrections-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NMEA-Revision.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NMEA_Revision_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NMEA_Revision_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_NMEA_Revision_value2enum_1[] = { + { 0, 7, "unknown" }, + { 1, 8, "reserved" }, + { 2, 4, "rev1" }, + { 3, 4, "rev2" }, + { 4, 4, "rev3" }, + { 5, 4, "rev4" }, + { 6, 4, "rev5" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_NMEA_Revision_enum2value_1[] = { + 1, /* reserved(1) */ + 2, /* rev1(2) */ + 3, /* rev2(3) */ + 4, /* rev3(4) */ + 5, /* rev4(5) */ + 6, /* rev5(6) */ + 0 /* unknown(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_NMEA_Revision_specs_1 = { + asn_MAP_NMEA_Revision_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_NMEA_Revision_enum2value_1, /* N => "tag"; sorted by N */ + 7, /* Number of elements in the maps */ + 8, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NMEA_Revision_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NMEA_Revision = { + "NMEA-Revision", + "NMEA-Revision", + &asn_OP_NativeEnumerated, + asn_DEF_NMEA_Revision_tags_1, + sizeof(asn_DEF_NMEA_Revision_tags_1) + /sizeof(asn_DEF_NMEA_Revision_tags_1[0]), /* 1 */ + asn_DEF_NMEA_Revision_tags_1, /* Same as above */ + sizeof(asn_DEF_NMEA_Revision_tags_1) + /sizeof(asn_DEF_NMEA_Revision_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NMEA_Revision_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NMEA_Revision_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NMEA_Revision_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NMEA-Revision.h b/src/tmx/Asn_J2735/src/r2024/NMEA-Revision.h deleted file mode 100644 index 89ec40463..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NMEA-Revision.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "NMEAcorrections" - * found in "J2735-NMEAcorrections-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NMEA_Revision_H_ -#define _NMEA_Revision_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NMEA_Revision { - NMEA_Revision_unknown = 0, - NMEA_Revision_reserved = 1, - NMEA_Revision_rev1 = 2, - NMEA_Revision_rev2 = 3, - NMEA_Revision_rev3 = 4, - NMEA_Revision_rev4 = 5, - NMEA_Revision_rev5 = 6 - /* - * Enumeration is extensible - */ -} e_NMEA_Revision; - -/* NMEA-Revision */ -typedef long NMEA_Revision_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NMEA_Revision_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NMEA_Revision; -extern const asn_INTEGER_specifics_t asn_SPC_NMEA_Revision_specs_1; -asn_struct_free_f NMEA_Revision_free; -asn_struct_print_f NMEA_Revision_print; -asn_constr_check_f NMEA_Revision_constraint; -ber_type_decoder_f NMEA_Revision_decode_ber; -der_type_encoder_f NMEA_Revision_encode_der; -xer_type_decoder_f NMEA_Revision_decode_xer; -xer_type_encoder_f NMEA_Revision_encode_xer; -oer_type_decoder_f NMEA_Revision_decode_oer; -oer_type_encoder_f NMEA_Revision_encode_oer; -per_type_decoder_f NMEA_Revision_decode_uper; -per_type_encoder_f NMEA_Revision_encode_uper; -per_type_decoder_f NMEA_Revision_decode_aper; -per_type_encoder_f NMEA_Revision_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NMEA_Revision_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NMEAcorrections.c b/src/tmx/Asn_J2735/src/r2024/NMEAcorrections.c new file mode 100644 index 000000000..d9729735f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NMEAcorrections.c @@ -0,0 +1,261 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "NMEAcorrections" + * found in "J2735-NMEAcorrections-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NMEAcorrections.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_7[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_NMEAcorrections, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_7[] = { + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_7 = { + sizeof(struct NMEAcorrections__regional), + offsetof(struct NMEAcorrections__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_7 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_7, + sizeof(asn_DEF_regional_tags_7) + /sizeof(asn_DEF_regional_tags_7[0]) - 1, /* 1 */ + asn_DEF_regional_tags_7, /* Same as above */ + sizeof(asn_DEF_regional_tags_7) + /sizeof(asn_DEF_regional_tags_7[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_7, + 1, /* Single element */ + &asn_SPC_regional_specs_7 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_NMEAcorrections_1[] = { + { ATF_POINTER, 4, offsetof(struct NMEAcorrections, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_POINTER, 3, offsetof(struct NMEAcorrections, rev), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NMEA_Revision, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rev" + }, + { ATF_POINTER, 2, offsetof(struct NMEAcorrections, msg), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NMEA_MsgType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msg" + }, + { ATF_POINTER, 1, offsetof(struct NMEAcorrections, wdCount), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ObjectCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wdCount" + }, + { ATF_NOFLAGS, 0, offsetof(struct NMEAcorrections, payload), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NMEA_Payload, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "payload" + }, + { ATF_POINTER, 1, offsetof(struct NMEAcorrections, regional), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + 0, + &asn_DEF_regional_7, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_NMEAcorrections_oms_1[] = { 0, 1, 2, 3, 5 }; +static const ber_tlv_tag_t asn_DEF_NMEAcorrections_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NMEAcorrections_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rev */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* msg */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* wdCount */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* payload */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NMEAcorrections_specs_1 = { + sizeof(struct NMEAcorrections), + offsetof(struct NMEAcorrections, _asn_ctx), + asn_MAP_NMEAcorrections_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_NMEAcorrections_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NMEAcorrections = { + "NMEAcorrections", + "NMEAcorrections", + &asn_OP_SEQUENCE, + asn_DEF_NMEAcorrections_tags_1, + sizeof(asn_DEF_NMEAcorrections_tags_1) + /sizeof(asn_DEF_NMEAcorrections_tags_1[0]), /* 1 */ + asn_DEF_NMEAcorrections_tags_1, /* Same as above */ + sizeof(asn_DEF_NMEAcorrections_tags_1) + /sizeof(asn_DEF_NMEAcorrections_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NMEAcorrections_1, + 6, /* Elements count */ + &asn_SPC_NMEAcorrections_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NMEAcorrections.h b/src/tmx/Asn_J2735/src/r2024/NMEAcorrections.h deleted file mode 100644 index fd4885353..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NMEAcorrections.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "NMEAcorrections" - * found in "J2735-NMEAcorrections-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NMEAcorrections_H_ -#define _NMEAcorrections_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "MinuteOfTheYear.h" -#include "NMEA-Revision.h" -#include "NMEA-MsgType.h" -#include "ObjectCount.h" -#include "NMEA-Payload.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_NMEAcorrections; - -/* NMEAcorrections */ -typedef struct NMEAcorrections { - MinuteOfTheYear_t *timeStamp; /* OPTIONAL */ - NMEA_Revision_t *rev; /* OPTIONAL */ - NMEA_MsgType_t *msg; /* OPTIONAL */ - ObjectCount_t *wdCount; /* OPTIONAL */ - NMEA_Payload_t payload; - struct NMEAcorrections__regional { - A_SEQUENCE_OF(struct Reg_NMEAcorrections) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NMEAcorrections_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NMEAcorrections; -extern asn_SEQUENCE_specifics_t asn_SPC_NMEAcorrections_specs_1; -extern asn_TYPE_member_t asn_MBR_NMEAcorrections_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _NMEAcorrections_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssAirTemperature.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssAirTemperature.c new file mode 100644 index 000000000..0206e8fd2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssAirTemperature.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssAirTemperature.h" + +int +NTCIPEssAirTemperature_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -1000L && value <= 1001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssAirTemperature_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-1000..1001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssAirTemperature_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, -1000, 1001 } /* (-1000..1001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssAirTemperature_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssAirTemperature = { + "NTCIPEssAirTemperature", + "NTCIPEssAirTemperature", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssAirTemperature_tags_1, + sizeof(asn_DEF_NTCIPEssAirTemperature_tags_1) + /sizeof(asn_DEF_NTCIPEssAirTemperature_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssAirTemperature_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssAirTemperature_tags_1) + /sizeof(asn_DEF_NTCIPEssAirTemperature_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssAirTemperature_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssAirTemperature_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssAirTemperature_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssAirTemperature.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssAirTemperature.h deleted file mode 100644 index e39f2b889..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssAirTemperature.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssAirTemperature_H_ -#define _NTCIPEssAirTemperature_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssAirTemperature */ -typedef long NTCIPEssAirTemperature_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssAirTemperature_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssAirTemperature; -asn_struct_free_f NTCIPEssAirTemperature_free; -asn_struct_print_f NTCIPEssAirTemperature_print; -asn_constr_check_f NTCIPEssAirTemperature_constraint; -ber_type_decoder_f NTCIPEssAirTemperature_decode_ber; -der_type_encoder_f NTCIPEssAirTemperature_encode_der; -xer_type_decoder_f NTCIPEssAirTemperature_decode_xer; -xer_type_encoder_f NTCIPEssAirTemperature_encode_xer; -oer_type_decoder_f NTCIPEssAirTemperature_decode_oer; -oer_type_encoder_f NTCIPEssAirTemperature_encode_oer; -per_type_decoder_f NTCIPEssAirTemperature_decode_uper; -per_type_encoder_f NTCIPEssAirTemperature_encode_uper; -per_type_decoder_f NTCIPEssAirTemperature_decode_aper; -per_type_encoder_f NTCIPEssAirTemperature_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssAirTemperature_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssCloudSituationV4.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssCloudSituationV4.c new file mode 100644 index 000000000..e7b2196f4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssCloudSituationV4.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssCloudSituationV4.h" + +int +NTCIPEssCloudSituationV4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 8L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssCloudSituationV4_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..8) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssCloudSituationV4_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 8 } /* (0..8) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssCloudSituationV4_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssCloudSituationV4 = { + "NTCIPEssCloudSituationV4", + "NTCIPEssCloudSituationV4", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssCloudSituationV4_tags_1, + sizeof(asn_DEF_NTCIPEssCloudSituationV4_tags_1) + /sizeof(asn_DEF_NTCIPEssCloudSituationV4_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssCloudSituationV4_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssCloudSituationV4_tags_1) + /sizeof(asn_DEF_NTCIPEssCloudSituationV4_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssCloudSituationV4_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssCloudSituationV4_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssCloudSituationV4_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssCloudSituationV4.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssCloudSituationV4.h deleted file mode 100644 index f3f13f31b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssCloudSituationV4.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssCloudSituationV4_H_ -#define _NTCIPEssCloudSituationV4_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssCloudSituationV4 */ -typedef long NTCIPEssCloudSituationV4_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssCloudSituationV4_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssCloudSituationV4; -asn_struct_free_f NTCIPEssCloudSituationV4_free; -asn_struct_print_f NTCIPEssCloudSituationV4_print; -asn_constr_check_f NTCIPEssCloudSituationV4_constraint; -ber_type_decoder_f NTCIPEssCloudSituationV4_decode_ber; -der_type_encoder_f NTCIPEssCloudSituationV4_encode_der; -xer_type_decoder_f NTCIPEssCloudSituationV4_decode_xer; -xer_type_encoder_f NTCIPEssCloudSituationV4_encode_xer; -oer_type_decoder_f NTCIPEssCloudSituationV4_decode_oer; -oer_type_encoder_f NTCIPEssCloudSituationV4_encode_oer; -per_type_decoder_f NTCIPEssCloudSituationV4_decode_uper; -per_type_encoder_f NTCIPEssCloudSituationV4_encode_uper; -per_type_decoder_f NTCIPEssCloudSituationV4_decode_aper; -per_type_encoder_f NTCIPEssCloudSituationV4_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssCloudSituationV4_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssDewpointTemp.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssDewpointTemp.c new file mode 100644 index 000000000..9593144b7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssDewpointTemp.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssDewpointTemp.h" + +int +NTCIPEssDewpointTemp_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -1000L && value <= 1001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssDewpointTemp_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-1000..1001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssDewpointTemp_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, -1000, 1001 } /* (-1000..1001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssDewpointTemp_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssDewpointTemp = { + "NTCIPEssDewpointTemp", + "NTCIPEssDewpointTemp", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssDewpointTemp_tags_1, + sizeof(asn_DEF_NTCIPEssDewpointTemp_tags_1) + /sizeof(asn_DEF_NTCIPEssDewpointTemp_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssDewpointTemp_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssDewpointTemp_tags_1) + /sizeof(asn_DEF_NTCIPEssDewpointTemp_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssDewpointTemp_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssDewpointTemp_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssDewpointTemp_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssDewpointTemp.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssDewpointTemp.h deleted file mode 100644 index 20b70d87b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssDewpointTemp.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssDewpointTemp_H_ -#define _NTCIPEssDewpointTemp_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssDewpointTemp */ -typedef long NTCIPEssDewpointTemp_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssDewpointTemp_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssDewpointTemp; -asn_struct_free_f NTCIPEssDewpointTemp_free; -asn_struct_print_f NTCIPEssDewpointTemp_print; -asn_constr_check_f NTCIPEssDewpointTemp_constraint; -ber_type_decoder_f NTCIPEssDewpointTemp_decode_ber; -der_type_encoder_f NTCIPEssDewpointTemp_encode_der; -xer_type_decoder_f NTCIPEssDewpointTemp_decode_xer; -xer_type_encoder_f NTCIPEssDewpointTemp_encode_xer; -oer_type_decoder_f NTCIPEssDewpointTemp_decode_oer; -oer_type_encoder_f NTCIPEssDewpointTemp_encode_oer; -per_type_decoder_f NTCIPEssDewpointTemp_decode_uper; -per_type_encoder_f NTCIPEssDewpointTemp_encode_uper; -per_type_decoder_f NTCIPEssDewpointTemp_decode_aper; -per_type_encoder_f NTCIPEssDewpointTemp_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssDewpointTemp_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductForm.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductForm.c new file mode 100644 index 000000000..698b4c081 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductForm.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssPaveTreatProductForm.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssPaveTreatProductForm_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssPaveTreatProductForm_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_NTCIPEssPaveTreatProductForm_value2enum_1[] = { + { 1, 5, "other" }, + { 2, 3, "dry" }, + { 3, 6, "prewet" }, + { 4, 6, "liquid" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_NTCIPEssPaveTreatProductForm_enum2value_1[] = { + 1, /* dry(2) */ + 3, /* liquid(4) */ + 0, /* other(1) */ + 2 /* prewet(3) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_NTCIPEssPaveTreatProductForm_specs_1 = { + asn_MAP_NTCIPEssPaveTreatProductForm_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_NTCIPEssPaveTreatProductForm_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NTCIPEssPaveTreatProductForm_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssPaveTreatProductForm = { + "NTCIPEssPaveTreatProductForm", + "NTCIPEssPaveTreatProductForm", + &asn_OP_NativeEnumerated, + asn_DEF_NTCIPEssPaveTreatProductForm_tags_1, + sizeof(asn_DEF_NTCIPEssPaveTreatProductForm_tags_1) + /sizeof(asn_DEF_NTCIPEssPaveTreatProductForm_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssPaveTreatProductForm_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssPaveTreatProductForm_tags_1) + /sizeof(asn_DEF_NTCIPEssPaveTreatProductForm_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssPaveTreatProductForm_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssPaveTreatProductForm_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NTCIPEssPaveTreatProductForm_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductForm.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductForm.h deleted file mode 100644 index 144df37fc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductForm.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssPaveTreatProductForm_H_ -#define _NTCIPEssPaveTreatProductForm_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NTCIPEssPaveTreatProductForm { - NTCIPEssPaveTreatProductForm_other = 1, - NTCIPEssPaveTreatProductForm_dry = 2, - NTCIPEssPaveTreatProductForm_prewet = 3, - NTCIPEssPaveTreatProductForm_liquid = 4 - /* - * Enumeration is extensible - */ -} e_NTCIPEssPaveTreatProductForm; - -/* NTCIPEssPaveTreatProductForm */ -typedef long NTCIPEssPaveTreatProductForm_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssPaveTreatProductForm_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssPaveTreatProductForm; -extern const asn_INTEGER_specifics_t asn_SPC_NTCIPEssPaveTreatProductForm_specs_1; -asn_struct_free_f NTCIPEssPaveTreatProductForm_free; -asn_struct_print_f NTCIPEssPaveTreatProductForm_print; -asn_constr_check_f NTCIPEssPaveTreatProductForm_constraint; -ber_type_decoder_f NTCIPEssPaveTreatProductForm_decode_ber; -der_type_encoder_f NTCIPEssPaveTreatProductForm_encode_der; -xer_type_decoder_f NTCIPEssPaveTreatProductForm_decode_xer; -xer_type_encoder_f NTCIPEssPaveTreatProductForm_encode_xer; -oer_type_decoder_f NTCIPEssPaveTreatProductForm_decode_oer; -oer_type_encoder_f NTCIPEssPaveTreatProductForm_encode_oer; -per_type_decoder_f NTCIPEssPaveTreatProductForm_decode_uper; -per_type_encoder_f NTCIPEssPaveTreatProductForm_encode_uper; -per_type_decoder_f NTCIPEssPaveTreatProductForm_decode_aper; -per_type_encoder_f NTCIPEssPaveTreatProductForm_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssPaveTreatProductForm_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductType.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductType.c new file mode 100644 index 000000000..cadd621f3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductType.c @@ -0,0 +1,94 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssPaveTreatProductType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssPaveTreatProductType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssPaveTreatProductType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 13 } /* (0..13,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_NTCIPEssPaveTreatProductType_value2enum_1[] = { + { 1, 5, "other" }, + { 2, 4, "sand" }, + { 3, 4, "dirt" }, + { 4, 6, "gravel" }, + { 5, 7, "cinders" }, + { 6, 5, "water" }, + { 7, 13, "enhancedSalts" }, + { 8, 4, "naCl" }, + { 9, 4, "caCl" }, + { 10, 4, "mgCl" }, + { 11, 3, "cMA" }, + { 12, 3, "kAC" }, + { 13, 9, "naFormate" }, + { 14, 3, "naA" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_NTCIPEssPaveTreatProductType_enum2value_1[] = { + 10, /* cMA(11) */ + 8, /* caCl(9) */ + 4, /* cinders(5) */ + 2, /* dirt(3) */ + 6, /* enhancedSalts(7) */ + 3, /* gravel(4) */ + 11, /* kAC(12) */ + 9, /* mgCl(10) */ + 13, /* naA(14) */ + 7, /* naCl(8) */ + 12, /* naFormate(13) */ + 0, /* other(1) */ + 1, /* sand(2) */ + 5 /* water(6) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_NTCIPEssPaveTreatProductType_specs_1 = { + asn_MAP_NTCIPEssPaveTreatProductType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_NTCIPEssPaveTreatProductType_enum2value_1, /* N => "tag"; sorted by N */ + 14, /* Number of elements in the maps */ + 15, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NTCIPEssPaveTreatProductType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssPaveTreatProductType = { + "NTCIPEssPaveTreatProductType", + "NTCIPEssPaveTreatProductType", + &asn_OP_NativeEnumerated, + asn_DEF_NTCIPEssPaveTreatProductType_tags_1, + sizeof(asn_DEF_NTCIPEssPaveTreatProductType_tags_1) + /sizeof(asn_DEF_NTCIPEssPaveTreatProductType_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssPaveTreatProductType_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssPaveTreatProductType_tags_1) + /sizeof(asn_DEF_NTCIPEssPaveTreatProductType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssPaveTreatProductType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssPaveTreatProductType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NTCIPEssPaveTreatProductType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductType.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductType.h deleted file mode 100644 index 5cb4010fb..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatProductType.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssPaveTreatProductType_H_ -#define _NTCIPEssPaveTreatProductType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NTCIPEssPaveTreatProductType { - NTCIPEssPaveTreatProductType_other = 1, - NTCIPEssPaveTreatProductType_sand = 2, - NTCIPEssPaveTreatProductType_dirt = 3, - NTCIPEssPaveTreatProductType_gravel = 4, - NTCIPEssPaveTreatProductType_cinders = 5, - NTCIPEssPaveTreatProductType_water = 6, - NTCIPEssPaveTreatProductType_enhancedSalts = 7, - NTCIPEssPaveTreatProductType_naCl = 8, - NTCIPEssPaveTreatProductType_caCl = 9, - NTCIPEssPaveTreatProductType_mgCl = 10, - NTCIPEssPaveTreatProductType_cMA = 11, - NTCIPEssPaveTreatProductType_kAC = 12, - NTCIPEssPaveTreatProductType_naFormate = 13, - NTCIPEssPaveTreatProductType_naA = 14 - /* - * Enumeration is extensible - */ -} e_NTCIPEssPaveTreatProductType; - -/* NTCIPEssPaveTreatProductType */ -typedef long NTCIPEssPaveTreatProductType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssPaveTreatProductType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssPaveTreatProductType; -extern const asn_INTEGER_specifics_t asn_SPC_NTCIPEssPaveTreatProductType_specs_1; -asn_struct_free_f NTCIPEssPaveTreatProductType_free; -asn_struct_print_f NTCIPEssPaveTreatProductType_print; -asn_constr_check_f NTCIPEssPaveTreatProductType_constraint; -ber_type_decoder_f NTCIPEssPaveTreatProductType_decode_ber; -der_type_encoder_f NTCIPEssPaveTreatProductType_encode_der; -xer_type_decoder_f NTCIPEssPaveTreatProductType_decode_xer; -xer_type_encoder_f NTCIPEssPaveTreatProductType_encode_xer; -oer_type_decoder_f NTCIPEssPaveTreatProductType_decode_oer; -oer_type_encoder_f NTCIPEssPaveTreatProductType_encode_oer; -per_type_decoder_f NTCIPEssPaveTreatProductType_decode_uper; -per_type_encoder_f NTCIPEssPaveTreatProductType_encode_uper; -per_type_decoder_f NTCIPEssPaveTreatProductType_decode_aper; -per_type_encoder_f NTCIPEssPaveTreatProductType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssPaveTreatProductType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentAmount.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentAmount.c new file mode 100644 index 000000000..59c70ff35 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentAmount.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssPaveTreatmentAmount.h" + +int +NTCIPEssPaveTreatmentAmount_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssPaveTreatmentAmount_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssPaveTreatmentAmount_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssPaveTreatmentAmount_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssPaveTreatmentAmount = { + "NTCIPEssPaveTreatmentAmount", + "NTCIPEssPaveTreatmentAmount", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssPaveTreatmentAmount_tags_1, + sizeof(asn_DEF_NTCIPEssPaveTreatmentAmount_tags_1) + /sizeof(asn_DEF_NTCIPEssPaveTreatmentAmount_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssPaveTreatmentAmount_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssPaveTreatmentAmount_tags_1) + /sizeof(asn_DEF_NTCIPEssPaveTreatmentAmount_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssPaveTreatmentAmount_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssPaveTreatmentAmount_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssPaveTreatmentAmount_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentAmount.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentAmount.h deleted file mode 100644 index 7758f7c49..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentAmount.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssPaveTreatmentAmount_H_ -#define _NTCIPEssPaveTreatmentAmount_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssPaveTreatmentAmount */ -typedef long NTCIPEssPaveTreatmentAmount_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssPaveTreatmentAmount_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssPaveTreatmentAmount; -asn_struct_free_f NTCIPEssPaveTreatmentAmount_free; -asn_struct_print_f NTCIPEssPaveTreatmentAmount_print; -asn_constr_check_f NTCIPEssPaveTreatmentAmount_constraint; -ber_type_decoder_f NTCIPEssPaveTreatmentAmount_decode_ber; -der_type_encoder_f NTCIPEssPaveTreatmentAmount_encode_der; -xer_type_decoder_f NTCIPEssPaveTreatmentAmount_decode_xer; -xer_type_encoder_f NTCIPEssPaveTreatmentAmount_encode_xer; -oer_type_decoder_f NTCIPEssPaveTreatmentAmount_decode_oer; -oer_type_encoder_f NTCIPEssPaveTreatmentAmount_encode_oer; -per_type_decoder_f NTCIPEssPaveTreatmentAmount_decode_uper; -per_type_encoder_f NTCIPEssPaveTreatmentAmount_encode_uper; -per_type_decoder_f NTCIPEssPaveTreatmentAmount_decode_aper; -per_type_encoder_f NTCIPEssPaveTreatmentAmount_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssPaveTreatmentAmount_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentWidth.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentWidth.c new file mode 100644 index 000000000..044a98102 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentWidth.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssPaveTreatmentWidth.h" + +int +NTCIPEssPaveTreatmentWidth_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssPaveTreatmentWidth_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssPaveTreatmentWidth_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssPaveTreatmentWidth_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssPaveTreatmentWidth = { + "NTCIPEssPaveTreatmentWidth", + "NTCIPEssPaveTreatmentWidth", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssPaveTreatmentWidth_tags_1, + sizeof(asn_DEF_NTCIPEssPaveTreatmentWidth_tags_1) + /sizeof(asn_DEF_NTCIPEssPaveTreatmentWidth_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssPaveTreatmentWidth_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssPaveTreatmentWidth_tags_1) + /sizeof(asn_DEF_NTCIPEssPaveTreatmentWidth_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssPaveTreatmentWidth_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssPaveTreatmentWidth_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssPaveTreatmentWidth_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentWidth.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentWidth.h deleted file mode 100644 index 5c47fc882..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPaveTreatmentWidth.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssPaveTreatmentWidth_H_ -#define _NTCIPEssPaveTreatmentWidth_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssPaveTreatmentWidth */ -typedef long NTCIPEssPaveTreatmentWidth_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssPaveTreatmentWidth_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssPaveTreatmentWidth; -asn_struct_free_f NTCIPEssPaveTreatmentWidth_free; -asn_struct_print_f NTCIPEssPaveTreatmentWidth_print; -asn_constr_check_f NTCIPEssPaveTreatmentWidth_constraint; -ber_type_decoder_f NTCIPEssPaveTreatmentWidth_decode_ber; -der_type_encoder_f NTCIPEssPaveTreatmentWidth_encode_der; -xer_type_decoder_f NTCIPEssPaveTreatmentWidth_decode_xer; -xer_type_encoder_f NTCIPEssPaveTreatmentWidth_encode_xer; -oer_type_decoder_f NTCIPEssPaveTreatmentWidth_decode_oer; -oer_type_encoder_f NTCIPEssPaveTreatmentWidth_encode_oer; -per_type_decoder_f NTCIPEssPaveTreatmentWidth_decode_uper; -per_type_encoder_f NTCIPEssPaveTreatmentWidth_encode_uper; -per_type_decoder_f NTCIPEssPaveTreatmentWidth_decode_aper; -per_type_encoder_f NTCIPEssPaveTreatmentWidth_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssPaveTreatmentWidth_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLatitude.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLatitude.c new file mode 100644 index 000000000..4bde9e563 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLatitude.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssPavementTreatmentLatitude.h" + +int +NTCIPEssPavementTreatmentLatitude_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -90000000L && value <= 90000001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssPavementTreatmentLatitude_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-90000000..90000001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssPavementTreatmentLatitude_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 28, -1, -90000000, 90000001 } /* (-90000000..90000001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssPavementTreatmentLatitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssPavementTreatmentLatitude = { + "NTCIPEssPavementTreatmentLatitude", + "NTCIPEssPavementTreatmentLatitude", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssPavementTreatmentLatitude_tags_1, + sizeof(asn_DEF_NTCIPEssPavementTreatmentLatitude_tags_1) + /sizeof(asn_DEF_NTCIPEssPavementTreatmentLatitude_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssPavementTreatmentLatitude_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssPavementTreatmentLatitude_tags_1) + /sizeof(asn_DEF_NTCIPEssPavementTreatmentLatitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssPavementTreatmentLatitude_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssPavementTreatmentLatitude_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssPavementTreatmentLatitude_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLatitude.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLatitude.h deleted file mode 100644 index 5c47bc796..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLatitude.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssPavementTreatmentLatitude_H_ -#define _NTCIPEssPavementTreatmentLatitude_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssPavementTreatmentLatitude */ -typedef long NTCIPEssPavementTreatmentLatitude_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssPavementTreatmentLatitude_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssPavementTreatmentLatitude; -asn_struct_free_f NTCIPEssPavementTreatmentLatitude_free; -asn_struct_print_f NTCIPEssPavementTreatmentLatitude_print; -asn_constr_check_f NTCIPEssPavementTreatmentLatitude_constraint; -ber_type_decoder_f NTCIPEssPavementTreatmentLatitude_decode_ber; -der_type_encoder_f NTCIPEssPavementTreatmentLatitude_encode_der; -xer_type_decoder_f NTCIPEssPavementTreatmentLatitude_decode_xer; -xer_type_encoder_f NTCIPEssPavementTreatmentLatitude_encode_xer; -oer_type_decoder_f NTCIPEssPavementTreatmentLatitude_decode_oer; -oer_type_encoder_f NTCIPEssPavementTreatmentLatitude_encode_oer; -per_type_decoder_f NTCIPEssPavementTreatmentLatitude_decode_uper; -per_type_encoder_f NTCIPEssPavementTreatmentLatitude_encode_uper; -per_type_decoder_f NTCIPEssPavementTreatmentLatitude_decode_aper; -per_type_encoder_f NTCIPEssPavementTreatmentLatitude_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssPavementTreatmentLatitude_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLocation.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLocation.c new file mode 100644 index 000000000..3e2245f38 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLocation.c @@ -0,0 +1,91 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssPavementTreatmentLocation.h" + +static int check_permitted_alphabet_1(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +int +NTCIPEssPavementTreatmentLocation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 255UL) + && !check_permitted_alphabet_1(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using IA5String, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssPavementTreatmentLocation_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..255)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssPavementTreatmentLocation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssPavementTreatmentLocation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssPavementTreatmentLocation = { + "NTCIPEssPavementTreatmentLocation", + "NTCIPEssPavementTreatmentLocation", + &asn_OP_IA5String, + asn_DEF_NTCIPEssPavementTreatmentLocation_tags_1, + sizeof(asn_DEF_NTCIPEssPavementTreatmentLocation_tags_1) + /sizeof(asn_DEF_NTCIPEssPavementTreatmentLocation_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssPavementTreatmentLocation_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssPavementTreatmentLocation_tags_1) + /sizeof(asn_DEF_NTCIPEssPavementTreatmentLocation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssPavementTreatmentLocation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssPavementTreatmentLocation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssPavementTreatmentLocation_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLocation.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLocation.h deleted file mode 100644 index 19e2d0fa6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLocation.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssPavementTreatmentLocation_H_ -#define _NTCIPEssPavementTreatmentLocation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IA5String.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssPavementTreatmentLocation */ -typedef IA5String_t NTCIPEssPavementTreatmentLocation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssPavementTreatmentLocation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssPavementTreatmentLocation; -asn_struct_free_f NTCIPEssPavementTreatmentLocation_free; -asn_struct_print_f NTCIPEssPavementTreatmentLocation_print; -asn_constr_check_f NTCIPEssPavementTreatmentLocation_constraint; -ber_type_decoder_f NTCIPEssPavementTreatmentLocation_decode_ber; -der_type_encoder_f NTCIPEssPavementTreatmentLocation_encode_der; -xer_type_decoder_f NTCIPEssPavementTreatmentLocation_decode_xer; -xer_type_encoder_f NTCIPEssPavementTreatmentLocation_encode_xer; -oer_type_decoder_f NTCIPEssPavementTreatmentLocation_decode_oer; -oer_type_encoder_f NTCIPEssPavementTreatmentLocation_encode_oer; -per_type_decoder_f NTCIPEssPavementTreatmentLocation_decode_uper; -per_type_encoder_f NTCIPEssPavementTreatmentLocation_encode_uper; -per_type_decoder_f NTCIPEssPavementTreatmentLocation_decode_aper; -per_type_encoder_f NTCIPEssPavementTreatmentLocation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssPavementTreatmentLocation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLongitude.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLongitude.c new file mode 100644 index 000000000..fdf541a4d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLongitude.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssPavementTreatmentLongitude.h" + +int +NTCIPEssPavementTreatmentLongitude_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -180000000L && value <= 180000001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssPavementTreatmentLongitude_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-180000000..180000001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssPavementTreatmentLongitude_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 29, -1, -180000000, 180000001 } /* (-180000000..180000001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssPavementTreatmentLongitude_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssPavementTreatmentLongitude = { + "NTCIPEssPavementTreatmentLongitude", + "NTCIPEssPavementTreatmentLongitude", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssPavementTreatmentLongitude_tags_1, + sizeof(asn_DEF_NTCIPEssPavementTreatmentLongitude_tags_1) + /sizeof(asn_DEF_NTCIPEssPavementTreatmentLongitude_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssPavementTreatmentLongitude_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssPavementTreatmentLongitude_tags_1) + /sizeof(asn_DEF_NTCIPEssPavementTreatmentLongitude_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssPavementTreatmentLongitude_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssPavementTreatmentLongitude_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssPavementTreatmentLongitude_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLongitude.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLongitude.h deleted file mode 100644 index ca7db2ffb..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPavementTreatmentLongitude.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssPavementTreatmentLongitude_H_ -#define _NTCIPEssPavementTreatmentLongitude_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssPavementTreatmentLongitude */ -typedef long NTCIPEssPavementTreatmentLongitude_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssPavementTreatmentLongitude_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssPavementTreatmentLongitude; -asn_struct_free_f NTCIPEssPavementTreatmentLongitude_free; -asn_struct_print_f NTCIPEssPavementTreatmentLongitude_print; -asn_constr_check_f NTCIPEssPavementTreatmentLongitude_constraint; -ber_type_decoder_f NTCIPEssPavementTreatmentLongitude_decode_ber; -der_type_encoder_f NTCIPEssPavementTreatmentLongitude_encode_der; -xer_type_decoder_f NTCIPEssPavementTreatmentLongitude_decode_xer; -xer_type_encoder_f NTCIPEssPavementTreatmentLongitude_encode_xer; -oer_type_decoder_f NTCIPEssPavementTreatmentLongitude_decode_oer; -oer_type_encoder_f NTCIPEssPavementTreatmentLongitude_encode_oer; -per_type_decoder_f NTCIPEssPavementTreatmentLongitude_decode_uper; -per_type_encoder_f NTCIPEssPavementTreatmentLongitude_encode_uper; -per_type_decoder_f NTCIPEssPavementTreatmentLongitude_decode_aper; -per_type_encoder_f NTCIPEssPavementTreatmentLongitude_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssPavementTreatmentLongitude_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPercentProductMix.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPercentProductMix.c new file mode 100644 index 000000000..9fdc7ff3b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPercentProductMix.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssPercentProductMix.h" + +int +NTCIPEssPercentProductMix_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 100L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssPercentProductMix_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..100) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssPercentProductMix_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssPercentProductMix_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssPercentProductMix = { + "NTCIPEssPercentProductMix", + "NTCIPEssPercentProductMix", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssPercentProductMix_tags_1, + sizeof(asn_DEF_NTCIPEssPercentProductMix_tags_1) + /sizeof(asn_DEF_NTCIPEssPercentProductMix_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssPercentProductMix_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssPercentProductMix_tags_1) + /sizeof(asn_DEF_NTCIPEssPercentProductMix_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssPercentProductMix_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssPercentProductMix_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssPercentProductMix_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPercentProductMix.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPercentProductMix.h deleted file mode 100644 index 7a867d189..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPercentProductMix.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssPercentProductMix_H_ -#define _NTCIPEssPercentProductMix_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssPercentProductMix */ -typedef long NTCIPEssPercentProductMix_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssPercentProductMix_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssPercentProductMix; -asn_struct_free_f NTCIPEssPercentProductMix_free; -asn_struct_print_f NTCIPEssPercentProductMix_print; -asn_constr_check_f NTCIPEssPercentProductMix_constraint; -ber_type_decoder_f NTCIPEssPercentProductMix_decode_ber; -der_type_encoder_f NTCIPEssPercentProductMix_encode_der; -xer_type_decoder_f NTCIPEssPercentProductMix_decode_xer; -xer_type_encoder_f NTCIPEssPercentProductMix_encode_xer; -oer_type_decoder_f NTCIPEssPercentProductMix_decode_oer; -oer_type_encoder_f NTCIPEssPercentProductMix_encode_oer; -per_type_decoder_f NTCIPEssPercentProductMix_decode_uper; -per_type_encoder_f NTCIPEssPercentProductMix_encode_uper; -per_type_decoder_f NTCIPEssPercentProductMix_decode_aper; -per_type_encoder_f NTCIPEssPercentProductMix_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssPercentProductMix_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPressureSensorAtmosphericPressure.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPressureSensorAtmosphericPressure.c new file mode 100644 index 000000000..22f05e976 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPressureSensorAtmosphericPressure.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssPressureSensorAtmosphericPressure.h" + +int +NTCIPEssPressureSensorAtmosphericPressure_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssPressureSensorAtmosphericPressure_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssPressureSensorAtmosphericPressure_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssPressureSensorAtmosphericPressure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssPressureSensorAtmosphericPressure = { + "NTCIPEssPressureSensorAtmosphericPressure", + "NTCIPEssPressureSensorAtmosphericPressure", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssPressureSensorAtmosphericPressure_tags_1, + sizeof(asn_DEF_NTCIPEssPressureSensorAtmosphericPressure_tags_1) + /sizeof(asn_DEF_NTCIPEssPressureSensorAtmosphericPressure_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssPressureSensorAtmosphericPressure_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssPressureSensorAtmosphericPressure_tags_1) + /sizeof(asn_DEF_NTCIPEssPressureSensorAtmosphericPressure_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssPressureSensorAtmosphericPressure_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssPressureSensorAtmosphericPressure_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssPressureSensorAtmosphericPressure_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPressureSensorAtmosphericPressure.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssPressureSensorAtmosphericPressure.h deleted file mode 100644 index 8f093af29..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssPressureSensorAtmosphericPressure.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssPressureSensorAtmosphericPressure_H_ -#define _NTCIPEssPressureSensorAtmosphericPressure_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssPressureSensorAtmosphericPressure */ -typedef long NTCIPEssPressureSensorAtmosphericPressure_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssPressureSensorAtmosphericPressure_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssPressureSensorAtmosphericPressure; -asn_struct_free_f NTCIPEssPressureSensorAtmosphericPressure_free; -asn_struct_print_f NTCIPEssPressureSensorAtmosphericPressure_print; -asn_constr_check_f NTCIPEssPressureSensorAtmosphericPressure_constraint; -ber_type_decoder_f NTCIPEssPressureSensorAtmosphericPressure_decode_ber; -der_type_encoder_f NTCIPEssPressureSensorAtmosphericPressure_encode_der; -xer_type_decoder_f NTCIPEssPressureSensorAtmosphericPressure_decode_xer; -xer_type_encoder_f NTCIPEssPressureSensorAtmosphericPressure_encode_xer; -oer_type_decoder_f NTCIPEssPressureSensorAtmosphericPressure_decode_oer; -oer_type_encoder_f NTCIPEssPressureSensorAtmosphericPressure_encode_oer; -per_type_decoder_f NTCIPEssPressureSensorAtmosphericPressure_decode_uper; -per_type_encoder_f NTCIPEssPressureSensorAtmosphericPressure_encode_uper; -per_type_decoder_f NTCIPEssPressureSensorAtmosphericPressure_decode_aper; -per_type_encoder_f NTCIPEssPressureSensorAtmosphericPressure_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssPressureSensorAtmosphericPressure_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceIceOrWaterDepth.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceIceOrWaterDepth.c new file mode 100644 index 000000000..66bc71158 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceIceOrWaterDepth.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssSurfaceIceOrWaterDepth.h" + +int +NTCIPEssSurfaceIceOrWaterDepth_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssSurfaceIceOrWaterDepth_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssSurfaceIceOrWaterDepth_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssSurfaceIceOrWaterDepth_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssSurfaceIceOrWaterDepth = { + "NTCIPEssSurfaceIceOrWaterDepth", + "NTCIPEssSurfaceIceOrWaterDepth", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssSurfaceIceOrWaterDepth_tags_1, + sizeof(asn_DEF_NTCIPEssSurfaceIceOrWaterDepth_tags_1) + /sizeof(asn_DEF_NTCIPEssSurfaceIceOrWaterDepth_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssSurfaceIceOrWaterDepth_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssSurfaceIceOrWaterDepth_tags_1) + /sizeof(asn_DEF_NTCIPEssSurfaceIceOrWaterDepth_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssSurfaceIceOrWaterDepth_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssSurfaceIceOrWaterDepth_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssSurfaceIceOrWaterDepth_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceIceOrWaterDepth.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceIceOrWaterDepth.h deleted file mode 100644 index 7c1878d4a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceIceOrWaterDepth.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssSurfaceIceOrWaterDepth_H_ -#define _NTCIPEssSurfaceIceOrWaterDepth_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssSurfaceIceOrWaterDepth */ -typedef long NTCIPEssSurfaceIceOrWaterDepth_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssSurfaceIceOrWaterDepth_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssSurfaceIceOrWaterDepth; -asn_struct_free_f NTCIPEssSurfaceIceOrWaterDepth_free; -asn_struct_print_f NTCIPEssSurfaceIceOrWaterDepth_print; -asn_constr_check_f NTCIPEssSurfaceIceOrWaterDepth_constraint; -ber_type_decoder_f NTCIPEssSurfaceIceOrWaterDepth_decode_ber; -der_type_encoder_f NTCIPEssSurfaceIceOrWaterDepth_encode_der; -xer_type_decoder_f NTCIPEssSurfaceIceOrWaterDepth_decode_xer; -xer_type_encoder_f NTCIPEssSurfaceIceOrWaterDepth_encode_xer; -oer_type_decoder_f NTCIPEssSurfaceIceOrWaterDepth_decode_oer; -oer_type_encoder_f NTCIPEssSurfaceIceOrWaterDepth_encode_oer; -per_type_decoder_f NTCIPEssSurfaceIceOrWaterDepth_decode_uper; -per_type_encoder_f NTCIPEssSurfaceIceOrWaterDepth_encode_uper; -per_type_decoder_f NTCIPEssSurfaceIceOrWaterDepth_decode_aper; -per_type_encoder_f NTCIPEssSurfaceIceOrWaterDepth_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssSurfaceIceOrWaterDepth_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceTemperature.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceTemperature.c new file mode 100644 index 000000000..35791fe1a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceTemperature.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssSurfaceTemperature.h" + +int +NTCIPEssSurfaceTemperature_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -1000L && value <= 1001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssSurfaceTemperature_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-1000..1001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssSurfaceTemperature_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, -1000, 1001 } /* (-1000..1001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssSurfaceTemperature_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssSurfaceTemperature = { + "NTCIPEssSurfaceTemperature", + "NTCIPEssSurfaceTemperature", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssSurfaceTemperature_tags_1, + sizeof(asn_DEF_NTCIPEssSurfaceTemperature_tags_1) + /sizeof(asn_DEF_NTCIPEssSurfaceTemperature_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssSurfaceTemperature_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssSurfaceTemperature_tags_1) + /sizeof(asn_DEF_NTCIPEssSurfaceTemperature_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssSurfaceTemperature_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssSurfaceTemperature_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssSurfaceTemperature_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceTemperature.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceTemperature.h deleted file mode 100644 index 93a1f7b57..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssSurfaceTemperature.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssSurfaceTemperature_H_ -#define _NTCIPEssSurfaceTemperature_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssSurfaceTemperature */ -typedef long NTCIPEssSurfaceTemperature_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssSurfaceTemperature_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssSurfaceTemperature; -asn_struct_free_f NTCIPEssSurfaceTemperature_free; -asn_struct_print_f NTCIPEssSurfaceTemperature_print; -asn_constr_check_f NTCIPEssSurfaceTemperature_constraint; -ber_type_decoder_f NTCIPEssSurfaceTemperature_decode_ber; -der_type_encoder_f NTCIPEssSurfaceTemperature_encode_der; -xer_type_decoder_f NTCIPEssSurfaceTemperature_decode_xer; -xer_type_encoder_f NTCIPEssSurfaceTemperature_encode_xer; -oer_type_decoder_f NTCIPEssSurfaceTemperature_decode_oer; -oer_type_encoder_f NTCIPEssSurfaceTemperature_encode_oer; -per_type_decoder_f NTCIPEssSurfaceTemperature_decode_uper; -per_type_encoder_f NTCIPEssSurfaceTemperature_encode_uper; -per_type_decoder_f NTCIPEssSurfaceTemperature_decode_aper; -per_type_encoder_f NTCIPEssSurfaceTemperature_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssSurfaceTemperature_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssTemperatureSensorHeight.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssTemperatureSensorHeight.c new file mode 100644 index 000000000..ddcf7e588 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssTemperatureSensorHeight.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssTemperatureSensorHeight.h" + +int +NTCIPEssTemperatureSensorHeight_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -1000L && value <= 1001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssTemperatureSensorHeight_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-1000..1001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssTemperatureSensorHeight_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, -1000, 1001 } /* (-1000..1001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssTemperatureSensorHeight_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssTemperatureSensorHeight = { + "NTCIPEssTemperatureSensorHeight", + "NTCIPEssTemperatureSensorHeight", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssTemperatureSensorHeight_tags_1, + sizeof(asn_DEF_NTCIPEssTemperatureSensorHeight_tags_1) + /sizeof(asn_DEF_NTCIPEssTemperatureSensorHeight_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssTemperatureSensorHeight_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssTemperatureSensorHeight_tags_1) + /sizeof(asn_DEF_NTCIPEssTemperatureSensorHeight_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssTemperatureSensorHeight_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssTemperatureSensorHeight_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssTemperatureSensorHeight_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssTemperatureSensorHeight.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssTemperatureSensorHeight.h deleted file mode 100644 index e2164a3e4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssTemperatureSensorHeight.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssTemperatureSensorHeight_H_ -#define _NTCIPEssTemperatureSensorHeight_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssTemperatureSensorHeight */ -typedef long NTCIPEssTemperatureSensorHeight_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssTemperatureSensorHeight_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssTemperatureSensorHeight; -asn_struct_free_f NTCIPEssTemperatureSensorHeight_free; -asn_struct_print_f NTCIPEssTemperatureSensorHeight_print; -asn_constr_check_f NTCIPEssTemperatureSensorHeight_constraint; -ber_type_decoder_f NTCIPEssTemperatureSensorHeight_decode_ber; -der_type_encoder_f NTCIPEssTemperatureSensorHeight_encode_der; -xer_type_decoder_f NTCIPEssTemperatureSensorHeight_decode_xer; -xer_type_encoder_f NTCIPEssTemperatureSensorHeight_encode_xer; -oer_type_decoder_f NTCIPEssTemperatureSensorHeight_decode_oer; -oer_type_encoder_f NTCIPEssTemperatureSensorHeight_encode_oer; -per_type_decoder_f NTCIPEssTemperatureSensorHeight_decode_uper; -per_type_encoder_f NTCIPEssTemperatureSensorHeight_encode_uper; -per_type_decoder_f NTCIPEssTemperatureSensorHeight_decode_aper; -per_type_encoder_f NTCIPEssTemperatureSensorHeight_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssTemperatureSensorHeight_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationPeriod.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationPeriod.c new file mode 100644 index 000000000..8e7cab30e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationPeriod.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssTotalRadiationPeriod.h" + +int +NTCIPEssTotalRadiationPeriod_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 86400L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssTotalRadiationPeriod_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..86400) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssTotalRadiationPeriod_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 17, -1, 0, 86400 } /* (0..86400) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssTotalRadiationPeriod_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssTotalRadiationPeriod = { + "NTCIPEssTotalRadiationPeriod", + "NTCIPEssTotalRadiationPeriod", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssTotalRadiationPeriod_tags_1, + sizeof(asn_DEF_NTCIPEssTotalRadiationPeriod_tags_1) + /sizeof(asn_DEF_NTCIPEssTotalRadiationPeriod_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssTotalRadiationPeriod_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssTotalRadiationPeriod_tags_1) + /sizeof(asn_DEF_NTCIPEssTotalRadiationPeriod_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssTotalRadiationPeriod_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssTotalRadiationPeriod_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssTotalRadiationPeriod_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationPeriod.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationPeriod.h deleted file mode 100644 index a17810c84..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationPeriod.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssTotalRadiationPeriod_H_ -#define _NTCIPEssTotalRadiationPeriod_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssTotalRadiationPeriod */ -typedef long NTCIPEssTotalRadiationPeriod_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssTotalRadiationPeriod_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssTotalRadiationPeriod; -asn_struct_free_f NTCIPEssTotalRadiationPeriod_free; -asn_struct_print_f NTCIPEssTotalRadiationPeriod_print; -asn_constr_check_f NTCIPEssTotalRadiationPeriod_constraint; -ber_type_decoder_f NTCIPEssTotalRadiationPeriod_decode_ber; -der_type_encoder_f NTCIPEssTotalRadiationPeriod_encode_der; -xer_type_decoder_f NTCIPEssTotalRadiationPeriod_decode_xer; -xer_type_encoder_f NTCIPEssTotalRadiationPeriod_encode_xer; -oer_type_decoder_f NTCIPEssTotalRadiationPeriod_decode_oer; -oer_type_encoder_f NTCIPEssTotalRadiationPeriod_encode_oer; -per_type_decoder_f NTCIPEssTotalRadiationPeriod_decode_uper; -per_type_encoder_f NTCIPEssTotalRadiationPeriod_encode_uper; -per_type_decoder_f NTCIPEssTotalRadiationPeriod_decode_aper; -per_type_encoder_f NTCIPEssTotalRadiationPeriod_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssTotalRadiationPeriod_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationV4.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationV4.c new file mode 100644 index 000000000..b13df3239 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationV4.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssTotalRadiationV4.h" + +int +NTCIPEssTotalRadiationV4_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -2048L && value <= 2049L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssTotalRadiationV4_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-2048..2049) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssTotalRadiationV4_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 13, 13, -2048, 2049 } /* (-2048..2049) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssTotalRadiationV4_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssTotalRadiationV4 = { + "NTCIPEssTotalRadiationV4", + "NTCIPEssTotalRadiationV4", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssTotalRadiationV4_tags_1, + sizeof(asn_DEF_NTCIPEssTotalRadiationV4_tags_1) + /sizeof(asn_DEF_NTCIPEssTotalRadiationV4_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssTotalRadiationV4_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssTotalRadiationV4_tags_1) + /sizeof(asn_DEF_NTCIPEssTotalRadiationV4_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssTotalRadiationV4_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssTotalRadiationV4_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssTotalRadiationV4_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationV4.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationV4.h deleted file mode 100644 index c13c44e8d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssTotalRadiationV4.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssTotalRadiationV4_H_ -#define _NTCIPEssTotalRadiationV4_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssTotalRadiationV4 */ -typedef long NTCIPEssTotalRadiationV4_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssTotalRadiationV4_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssTotalRadiationV4; -asn_struct_free_f NTCIPEssTotalRadiationV4_free; -asn_struct_print_f NTCIPEssTotalRadiationV4_print; -asn_constr_check_f NTCIPEssTotalRadiationV4_constraint; -ber_type_decoder_f NTCIPEssTotalRadiationV4_decode_ber; -der_type_encoder_f NTCIPEssTotalRadiationV4_encode_der; -xer_type_decoder_f NTCIPEssTotalRadiationV4_decode_xer; -xer_type_encoder_f NTCIPEssTotalRadiationV4_encode_xer; -oer_type_decoder_f NTCIPEssTotalRadiationV4_decode_oer; -oer_type_encoder_f NTCIPEssTotalRadiationV4_encode_oer; -per_type_decoder_f NTCIPEssTotalRadiationV4_decode_uper; -per_type_encoder_f NTCIPEssTotalRadiationV4_encode_uper; -per_type_decoder_f NTCIPEssTotalRadiationV4_decode_aper; -per_type_encoder_f NTCIPEssTotalRadiationV4_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssTotalRadiationV4_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibility.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibility.c new file mode 100644 index 000000000..cdc014adf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibility.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssVisibility.h" + +int +NTCIPEssVisibility_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 1000001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssVisibility_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..1000001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssVisibility_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 20, -1, 0, 1000001 } /* (0..1000001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPEssVisibility_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssVisibility = { + "NTCIPEssVisibility", + "NTCIPEssVisibility", + &asn_OP_NativeInteger, + asn_DEF_NTCIPEssVisibility_tags_1, + sizeof(asn_DEF_NTCIPEssVisibility_tags_1) + /sizeof(asn_DEF_NTCIPEssVisibility_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssVisibility_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssVisibility_tags_1) + /sizeof(asn_DEF_NTCIPEssVisibility_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssVisibility_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssVisibility_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPEssVisibility_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibility.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibility.h deleted file mode 100644 index 8dd4d6dfd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibility.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssVisibility_H_ -#define _NTCIPEssVisibility_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPEssVisibility */ -typedef long NTCIPEssVisibility_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssVisibility_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssVisibility; -asn_struct_free_f NTCIPEssVisibility_free; -asn_struct_print_f NTCIPEssVisibility_print; -asn_constr_check_f NTCIPEssVisibility_constraint; -ber_type_decoder_f NTCIPEssVisibility_decode_ber; -der_type_encoder_f NTCIPEssVisibility_encode_der; -xer_type_decoder_f NTCIPEssVisibility_decode_xer; -xer_type_encoder_f NTCIPEssVisibility_encode_xer; -oer_type_decoder_f NTCIPEssVisibility_decode_oer; -oer_type_encoder_f NTCIPEssVisibility_encode_oer; -per_type_decoder_f NTCIPEssVisibility_decode_uper; -per_type_encoder_f NTCIPEssVisibility_encode_uper; -per_type_decoder_f NTCIPEssVisibility_decode_aper; -per_type_encoder_f NTCIPEssVisibility_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssVisibility_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibilitySituation.c b/src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibilitySituation.c new file mode 100644 index 000000000..998f06cce --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibilitySituation.c @@ -0,0 +1,90 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPEssVisibilitySituation.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPEssVisibilitySituation_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPEssVisibilitySituation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 11 } /* (0..11,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_NTCIPEssVisibilitySituation_value2enum_1[] = { + { 1, 5, "other" }, + { 2, 7, "unknown" }, + { 3, 5, "clear" }, + { 4, 12, "fogNotPatchy" }, + { 5, 9, "patchyFog" }, + { 6, 11, "blowingSnow" }, + { 7, 5, "smoke" }, + { 8, 8, "seaSpray" }, + { 9, 12, "vehicleSpray" }, + { 10, 17, "blowingDustOrSand" }, + { 11, 8, "sunGlare" }, + { 12, 15, "swarmsOfInsects" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_NTCIPEssVisibilitySituation_enum2value_1[] = { + 9, /* blowingDustOrSand(10) */ + 5, /* blowingSnow(6) */ + 2, /* clear(3) */ + 3, /* fogNotPatchy(4) */ + 0, /* other(1) */ + 4, /* patchyFog(5) */ + 7, /* seaSpray(8) */ + 6, /* smoke(7) */ + 10, /* sunGlare(11) */ + 11, /* swarmsOfInsects(12) */ + 1, /* unknown(2) */ + 8 /* vehicleSpray(9) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_NTCIPEssVisibilitySituation_specs_1 = { + asn_MAP_NTCIPEssVisibilitySituation_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_NTCIPEssVisibilitySituation_enum2value_1, /* N => "tag"; sorted by N */ + 12, /* Number of elements in the maps */ + 13, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NTCIPEssVisibilitySituation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPEssVisibilitySituation = { + "NTCIPEssVisibilitySituation", + "NTCIPEssVisibilitySituation", + &asn_OP_NativeEnumerated, + asn_DEF_NTCIPEssVisibilitySituation_tags_1, + sizeof(asn_DEF_NTCIPEssVisibilitySituation_tags_1) + /sizeof(asn_DEF_NTCIPEssVisibilitySituation_tags_1[0]), /* 1 */ + asn_DEF_NTCIPEssVisibilitySituation_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPEssVisibilitySituation_tags_1) + /sizeof(asn_DEF_NTCIPEssVisibilitySituation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPEssVisibilitySituation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPEssVisibilitySituation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NTCIPEssVisibilitySituation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibilitySituation.h b/src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibilitySituation.h deleted file mode 100644 index afc37467b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPEssVisibilitySituation.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPEssVisibilitySituation_H_ -#define _NTCIPEssVisibilitySituation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NTCIPEssVisibilitySituation { - NTCIPEssVisibilitySituation_other = 1, - NTCIPEssVisibilitySituation_unknown = 2, - NTCIPEssVisibilitySituation_clear = 3, - NTCIPEssVisibilitySituation_fogNotPatchy = 4, - NTCIPEssVisibilitySituation_patchyFog = 5, - NTCIPEssVisibilitySituation_blowingSnow = 6, - NTCIPEssVisibilitySituation_smoke = 7, - NTCIPEssVisibilitySituation_seaSpray = 8, - NTCIPEssVisibilitySituation_vehicleSpray = 9, - NTCIPEssVisibilitySituation_blowingDustOrSand = 10, - NTCIPEssVisibilitySituation_sunGlare = 11, - NTCIPEssVisibilitySituation_swarmsOfInsects = 12 - /* - * Enumeration is extensible - */ -} e_NTCIPEssVisibilitySituation; - -/* NTCIPEssVisibilitySituation */ -typedef long NTCIPEssVisibilitySituation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPEssVisibilitySituation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPEssVisibilitySituation; -extern const asn_INTEGER_specifics_t asn_SPC_NTCIPEssVisibilitySituation_specs_1; -asn_struct_free_f NTCIPEssVisibilitySituation_free; -asn_struct_print_f NTCIPEssVisibilitySituation_print; -asn_constr_check_f NTCIPEssVisibilitySituation_constraint; -ber_type_decoder_f NTCIPEssVisibilitySituation_decode_ber; -der_type_encoder_f NTCIPEssVisibilitySituation_encode_der; -xer_type_decoder_f NTCIPEssVisibilitySituation_decode_xer; -xer_type_encoder_f NTCIPEssVisibilitySituation_encode_xer; -oer_type_decoder_f NTCIPEssVisibilitySituation_decode_oer; -oer_type_encoder_f NTCIPEssVisibilitySituation_encode_oer; -per_type_decoder_f NTCIPEssVisibilitySituation_decode_uper; -per_type_encoder_f NTCIPEssVisibilitySituation_encode_uper; -per_type_decoder_f NTCIPEssVisibilitySituation_decode_aper; -per_type_encoder_f NTCIPEssVisibilitySituation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPEssVisibilitySituation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPHumiditySensorRelativeHumidity.c b/src/tmx/Asn_J2735/src/r2024/NTCIPHumiditySensorRelativeHumidity.c new file mode 100644 index 000000000..6ab9cd4bf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPHumiditySensorRelativeHumidity.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPHumiditySensorRelativeHumidity.h" + +int +NTCIPHumiditySensorRelativeHumidity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 101L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPHumiditySensorRelativeHumidity_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..101) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPHumiditySensorRelativeHumidity_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 101 } /* (0..101) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPHumiditySensorRelativeHumidity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPHumiditySensorRelativeHumidity = { + "NTCIPHumiditySensorRelativeHumidity", + "NTCIPHumiditySensorRelativeHumidity", + &asn_OP_NativeInteger, + asn_DEF_NTCIPHumiditySensorRelativeHumidity_tags_1, + sizeof(asn_DEF_NTCIPHumiditySensorRelativeHumidity_tags_1) + /sizeof(asn_DEF_NTCIPHumiditySensorRelativeHumidity_tags_1[0]), /* 1 */ + asn_DEF_NTCIPHumiditySensorRelativeHumidity_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPHumiditySensorRelativeHumidity_tags_1) + /sizeof(asn_DEF_NTCIPHumiditySensorRelativeHumidity_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPHumiditySensorRelativeHumidity_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPHumiditySensorRelativeHumidity_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPHumiditySensorRelativeHumidity_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPHumiditySensorRelativeHumidity.h b/src/tmx/Asn_J2735/src/r2024/NTCIPHumiditySensorRelativeHumidity.h deleted file mode 100644 index d3dee0be2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPHumiditySensorRelativeHumidity.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPHumiditySensorRelativeHumidity_H_ -#define _NTCIPHumiditySensorRelativeHumidity_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPHumiditySensorRelativeHumidity */ -typedef long NTCIPHumiditySensorRelativeHumidity_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPHumiditySensorRelativeHumidity_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPHumiditySensorRelativeHumidity; -asn_struct_free_f NTCIPHumiditySensorRelativeHumidity_free; -asn_struct_print_f NTCIPHumiditySensorRelativeHumidity_print; -asn_constr_check_f NTCIPHumiditySensorRelativeHumidity_constraint; -ber_type_decoder_f NTCIPHumiditySensorRelativeHumidity_decode_ber; -der_type_encoder_f NTCIPHumiditySensorRelativeHumidity_encode_der; -xer_type_decoder_f NTCIPHumiditySensorRelativeHumidity_decode_xer; -xer_type_encoder_f NTCIPHumiditySensorRelativeHumidity_encode_xer; -oer_type_decoder_f NTCIPHumiditySensorRelativeHumidity_decode_oer; -oer_type_encoder_f NTCIPHumiditySensorRelativeHumidity_encode_oer; -per_type_decoder_f NTCIPHumiditySensorRelativeHumidity_decode_uper; -per_type_encoder_f NTCIPHumiditySensorRelativeHumidity_encode_uper; -per_type_decoder_f NTCIPHumiditySensorRelativeHumidity_decode_aper; -per_type_encoder_f NTCIPHumiditySensorRelativeHumidity_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPHumiditySensorRelativeHumidity_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPPavementSensorSurfaceCondition.c b/src/tmx/Asn_J2735/src/r2024/NTCIPPavementSensorSurfaceCondition.c new file mode 100644 index 000000000..ce7109db8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPPavementSensorSurfaceCondition.c @@ -0,0 +1,92 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPPavementSensorSurfaceCondition.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPPavementSensorSurfaceCondition_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPPavementSensorSurfaceCondition_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 12 } /* (0..12,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_NTCIPPavementSensorSurfaceCondition_value2enum_1[] = { + { 1, 5, "other" }, + { 2, 5, "error" }, + { 3, 3, "dry" }, + { 4, 5, "moist" }, + { 5, 15, "chemicallyMoist" }, + { 6, 3, "wet" }, + { 7, 13, "chemicallyWet" }, + { 8, 13, "standingWater" }, + { 9, 5, "frost" }, + { 10, 5, "slush" }, + { 11, 4, "snow" }, + { 12, 3, "ice" }, + { 13, 8, "noReport" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_NTCIPPavementSensorSurfaceCondition_enum2value_1[] = { + 4, /* chemicallyMoist(5) */ + 6, /* chemicallyWet(7) */ + 2, /* dry(3) */ + 1, /* error(2) */ + 8, /* frost(9) */ + 11, /* ice(12) */ + 3, /* moist(4) */ + 12, /* noReport(13) */ + 0, /* other(1) */ + 9, /* slush(10) */ + 10, /* snow(11) */ + 7, /* standingWater(8) */ + 5 /* wet(6) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_NTCIPPavementSensorSurfaceCondition_specs_1 = { + asn_MAP_NTCIPPavementSensorSurfaceCondition_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_NTCIPPavementSensorSurfaceCondition_enum2value_1, /* N => "tag"; sorted by N */ + 13, /* Number of elements in the maps */ + 14, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NTCIPPavementSensorSurfaceCondition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPPavementSensorSurfaceCondition = { + "NTCIPPavementSensorSurfaceCondition", + "NTCIPPavementSensorSurfaceCondition", + &asn_OP_NativeEnumerated, + asn_DEF_NTCIPPavementSensorSurfaceCondition_tags_1, + sizeof(asn_DEF_NTCIPPavementSensorSurfaceCondition_tags_1) + /sizeof(asn_DEF_NTCIPPavementSensorSurfaceCondition_tags_1[0]), /* 1 */ + asn_DEF_NTCIPPavementSensorSurfaceCondition_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPPavementSensorSurfaceCondition_tags_1) + /sizeof(asn_DEF_NTCIPPavementSensorSurfaceCondition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPPavementSensorSurfaceCondition_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPPavementSensorSurfaceCondition_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NTCIPPavementSensorSurfaceCondition_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPPavementSensorSurfaceCondition.h b/src/tmx/Asn_J2735/src/r2024/NTCIPPavementSensorSurfaceCondition.h deleted file mode 100644 index 1c4185881..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPPavementSensorSurfaceCondition.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPPavementSensorSurfaceCondition_H_ -#define _NTCIPPavementSensorSurfaceCondition_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NTCIPPavementSensorSurfaceCondition { - NTCIPPavementSensorSurfaceCondition_other = 1, - NTCIPPavementSensorSurfaceCondition_error = 2, - NTCIPPavementSensorSurfaceCondition_dry = 3, - NTCIPPavementSensorSurfaceCondition_moist = 4, - NTCIPPavementSensorSurfaceCondition_chemicallyMoist = 5, - NTCIPPavementSensorSurfaceCondition_wet = 6, - NTCIPPavementSensorSurfaceCondition_chemicallyWet = 7, - NTCIPPavementSensorSurfaceCondition_standingWater = 8, - NTCIPPavementSensorSurfaceCondition_frost = 9, - NTCIPPavementSensorSurfaceCondition_slush = 10, - NTCIPPavementSensorSurfaceCondition_snow = 11, - NTCIPPavementSensorSurfaceCondition_ice = 12, - NTCIPPavementSensorSurfaceCondition_noReport = 13 - /* - * Enumeration is extensible - */ -} e_NTCIPPavementSensorSurfaceCondition; - -/* NTCIPPavementSensorSurfaceCondition */ -typedef long NTCIPPavementSensorSurfaceCondition_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPPavementSensorSurfaceCondition_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPPavementSensorSurfaceCondition; -extern const asn_INTEGER_specifics_t asn_SPC_NTCIPPavementSensorSurfaceCondition_specs_1; -asn_struct_free_f NTCIPPavementSensorSurfaceCondition_free; -asn_struct_print_f NTCIPPavementSensorSurfaceCondition_print; -asn_constr_check_f NTCIPPavementSensorSurfaceCondition_constraint; -ber_type_decoder_f NTCIPPavementSensorSurfaceCondition_decode_ber; -der_type_encoder_f NTCIPPavementSensorSurfaceCondition_encode_der; -xer_type_decoder_f NTCIPPavementSensorSurfaceCondition_decode_xer; -xer_type_encoder_f NTCIPPavementSensorSurfaceCondition_encode_xer; -oer_type_decoder_f NTCIPPavementSensorSurfaceCondition_decode_oer; -oer_type_encoder_f NTCIPPavementSensorSurfaceCondition_encode_oer; -per_type_decoder_f NTCIPPavementSensorSurfaceCondition_decode_uper; -per_type_encoder_f NTCIPPavementSensorSurfaceCondition_encode_uper; -per_type_decoder_f NTCIPPavementSensorSurfaceCondition_decode_aper; -per_type_encoder_f NTCIPPavementSensorSurfaceCondition_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPPavementSensorSurfaceCondition_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPPrecipitationSensorPrecipSituation.c b/src/tmx/Asn_J2735/src/r2024/NTCIPPrecipitationSensorPrecipSituation.c new file mode 100644 index 000000000..501ce2686 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPPrecipitationSensorPrecipSituation.c @@ -0,0 +1,96 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPPrecipitationSensorPrecipSituation.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPPrecipitationSensorPrecipSituation_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPPrecipitationSensorPrecipSituation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 14 } /* (0..14,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_NTCIPPrecipitationSensorPrecipSituation_value2enum_1[] = { + { 1, 5, "other" }, + { 2, 7, "unknown" }, + { 3, 15, "noPrecipitation" }, + { 4, 18, "unidentifiedSlight" }, + { 5, 20, "unidentifiedModerate" }, + { 6, 17, "unidentifiedHeavy" }, + { 7, 10, "snowSlight" }, + { 8, 12, "snowModerate" }, + { 9, 9, "snowHeavy" }, + { 10, 10, "rainSlight" }, + { 11, 12, "rainModerate" }, + { 12, 9, "rainHeavy" }, + { 13, 25, "frozenPrecipitationSlight" }, + { 14, 27, "frozenPrecipitationModerate" }, + { 15, 24, "frozenPrecipitationHeavy" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_NTCIPPrecipitationSensorPrecipSituation_enum2value_1[] = { + 14, /* frozenPrecipitationHeavy(15) */ + 13, /* frozenPrecipitationModerate(14) */ + 12, /* frozenPrecipitationSlight(13) */ + 2, /* noPrecipitation(3) */ + 0, /* other(1) */ + 11, /* rainHeavy(12) */ + 10, /* rainModerate(11) */ + 9, /* rainSlight(10) */ + 8, /* snowHeavy(9) */ + 7, /* snowModerate(8) */ + 6, /* snowSlight(7) */ + 5, /* unidentifiedHeavy(6) */ + 4, /* unidentifiedModerate(5) */ + 3, /* unidentifiedSlight(4) */ + 1 /* unknown(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_NTCIPPrecipitationSensorPrecipSituation_specs_1 = { + asn_MAP_NTCIPPrecipitationSensorPrecipSituation_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_NTCIPPrecipitationSensorPrecipSituation_enum2value_1, /* N => "tag"; sorted by N */ + 15, /* Number of elements in the maps */ + 16, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NTCIPPrecipitationSensorPrecipSituation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPPrecipitationSensorPrecipSituation = { + "NTCIPPrecipitationSensorPrecipSituation", + "NTCIPPrecipitationSensorPrecipSituation", + &asn_OP_NativeEnumerated, + asn_DEF_NTCIPPrecipitationSensorPrecipSituation_tags_1, + sizeof(asn_DEF_NTCIPPrecipitationSensorPrecipSituation_tags_1) + /sizeof(asn_DEF_NTCIPPrecipitationSensorPrecipSituation_tags_1[0]), /* 1 */ + asn_DEF_NTCIPPrecipitationSensorPrecipSituation_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPPrecipitationSensorPrecipSituation_tags_1) + /sizeof(asn_DEF_NTCIPPrecipitationSensorPrecipSituation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPPrecipitationSensorPrecipSituation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPPrecipitationSensorPrecipSituation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NTCIPPrecipitationSensorPrecipSituation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPPrecipitationSensorPrecipSituation.h b/src/tmx/Asn_J2735/src/r2024/NTCIPPrecipitationSensorPrecipSituation.h deleted file mode 100644 index 646fc2216..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPPrecipitationSensorPrecipSituation.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPPrecipitationSensorPrecipSituation_H_ -#define _NTCIPPrecipitationSensorPrecipSituation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NTCIPPrecipitationSensorPrecipSituation { - NTCIPPrecipitationSensorPrecipSituation_other = 1, - NTCIPPrecipitationSensorPrecipSituation_unknown = 2, - NTCIPPrecipitationSensorPrecipSituation_noPrecipitation = 3, - NTCIPPrecipitationSensorPrecipSituation_unidentifiedSlight = 4, - NTCIPPrecipitationSensorPrecipSituation_unidentifiedModerate = 5, - NTCIPPrecipitationSensorPrecipSituation_unidentifiedHeavy = 6, - NTCIPPrecipitationSensorPrecipSituation_snowSlight = 7, - NTCIPPrecipitationSensorPrecipSituation_snowModerate = 8, - NTCIPPrecipitationSensorPrecipSituation_snowHeavy = 9, - NTCIPPrecipitationSensorPrecipSituation_rainSlight = 10, - NTCIPPrecipitationSensorPrecipSituation_rainModerate = 11, - NTCIPPrecipitationSensorPrecipSituation_rainHeavy = 12, - NTCIPPrecipitationSensorPrecipSituation_frozenPrecipitationSlight = 13, - NTCIPPrecipitationSensorPrecipSituation_frozenPrecipitationModerate = 14, - NTCIPPrecipitationSensorPrecipSituation_frozenPrecipitationHeavy = 15 - /* - * Enumeration is extensible - */ -} e_NTCIPPrecipitationSensorPrecipSituation; - -/* NTCIPPrecipitationSensorPrecipSituation */ -typedef long NTCIPPrecipitationSensorPrecipSituation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPPrecipitationSensorPrecipSituation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPPrecipitationSensorPrecipSituation; -extern const asn_INTEGER_specifics_t asn_SPC_NTCIPPrecipitationSensorPrecipSituation_specs_1; -asn_struct_free_f NTCIPPrecipitationSensorPrecipSituation_free; -asn_struct_print_f NTCIPPrecipitationSensorPrecipSituation_print; -asn_constr_check_f NTCIPPrecipitationSensorPrecipSituation_constraint; -ber_type_decoder_f NTCIPPrecipitationSensorPrecipSituation_decode_ber; -der_type_encoder_f NTCIPPrecipitationSensorPrecipSituation_encode_der; -xer_type_decoder_f NTCIPPrecipitationSensorPrecipSituation_decode_xer; -xer_type_encoder_f NTCIPPrecipitationSensorPrecipSituation_encode_xer; -oer_type_decoder_f NTCIPPrecipitationSensorPrecipSituation_decode_oer; -oer_type_encoder_f NTCIPPrecipitationSensorPrecipSituation_encode_oer; -per_type_decoder_f NTCIPPrecipitationSensorPrecipSituation_decode_uper; -per_type_encoder_f NTCIPPrecipitationSensorPrecipSituation_encode_uper; -per_type_decoder_f NTCIPPrecipitationSensorPrecipSituation_decode_aper; -per_type_encoder_f NTCIPPrecipitationSensorPrecipSituation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPPrecipitationSensorPrecipSituation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgDirection.c b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgDirection.c new file mode 100644 index 000000000..eaa87c6cb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgDirection.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPWindSensorAvgDirection.h" + +int +NTCIPWindSensorAvgDirection_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 361L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPWindSensorAvgDirection_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..361) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPWindSensorAvgDirection_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, 0, 361 } /* (0..361) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPWindSensorAvgDirection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPWindSensorAvgDirection = { + "NTCIPWindSensorAvgDirection", + "NTCIPWindSensorAvgDirection", + &asn_OP_NativeInteger, + asn_DEF_NTCIPWindSensorAvgDirection_tags_1, + sizeof(asn_DEF_NTCIPWindSensorAvgDirection_tags_1) + /sizeof(asn_DEF_NTCIPWindSensorAvgDirection_tags_1[0]), /* 1 */ + asn_DEF_NTCIPWindSensorAvgDirection_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPWindSensorAvgDirection_tags_1) + /sizeof(asn_DEF_NTCIPWindSensorAvgDirection_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPWindSensorAvgDirection_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPWindSensorAvgDirection_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPWindSensorAvgDirection_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgDirection.h b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgDirection.h deleted file mode 100644 index c25f592a3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgDirection.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPWindSensorAvgDirection_H_ -#define _NTCIPWindSensorAvgDirection_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPWindSensorAvgDirection */ -typedef long NTCIPWindSensorAvgDirection_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPWindSensorAvgDirection_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPWindSensorAvgDirection; -asn_struct_free_f NTCIPWindSensorAvgDirection_free; -asn_struct_print_f NTCIPWindSensorAvgDirection_print; -asn_constr_check_f NTCIPWindSensorAvgDirection_constraint; -ber_type_decoder_f NTCIPWindSensorAvgDirection_decode_ber; -der_type_encoder_f NTCIPWindSensorAvgDirection_encode_der; -xer_type_decoder_f NTCIPWindSensorAvgDirection_decode_xer; -xer_type_encoder_f NTCIPWindSensorAvgDirection_encode_xer; -oer_type_decoder_f NTCIPWindSensorAvgDirection_decode_oer; -oer_type_encoder_f NTCIPWindSensorAvgDirection_encode_oer; -per_type_decoder_f NTCIPWindSensorAvgDirection_decode_uper; -per_type_encoder_f NTCIPWindSensorAvgDirection_encode_uper; -per_type_decoder_f NTCIPWindSensorAvgDirection_decode_aper; -per_type_encoder_f NTCIPWindSensorAvgDirection_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPWindSensorAvgDirection_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgSpeed.c b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgSpeed.c new file mode 100644 index 000000000..7d6685a23 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgSpeed.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPWindSensorAvgSpeed.h" + +int +NTCIPWindSensorAvgSpeed_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPWindSensorAvgSpeed_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPWindSensorAvgSpeed_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPWindSensorAvgSpeed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPWindSensorAvgSpeed = { + "NTCIPWindSensorAvgSpeed", + "NTCIPWindSensorAvgSpeed", + &asn_OP_NativeInteger, + asn_DEF_NTCIPWindSensorAvgSpeed_tags_1, + sizeof(asn_DEF_NTCIPWindSensorAvgSpeed_tags_1) + /sizeof(asn_DEF_NTCIPWindSensorAvgSpeed_tags_1[0]), /* 1 */ + asn_DEF_NTCIPWindSensorAvgSpeed_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPWindSensorAvgSpeed_tags_1) + /sizeof(asn_DEF_NTCIPWindSensorAvgSpeed_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPWindSensorAvgSpeed_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPWindSensorAvgSpeed_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPWindSensorAvgSpeed_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgSpeed.h b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgSpeed.h deleted file mode 100644 index 810c225ad..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorAvgSpeed.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPWindSensorAvgSpeed_H_ -#define _NTCIPWindSensorAvgSpeed_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPWindSensorAvgSpeed */ -typedef long NTCIPWindSensorAvgSpeed_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPWindSensorAvgSpeed_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPWindSensorAvgSpeed; -asn_struct_free_f NTCIPWindSensorAvgSpeed_free; -asn_struct_print_f NTCIPWindSensorAvgSpeed_print; -asn_constr_check_f NTCIPWindSensorAvgSpeed_constraint; -ber_type_decoder_f NTCIPWindSensorAvgSpeed_decode_ber; -der_type_encoder_f NTCIPWindSensorAvgSpeed_encode_der; -xer_type_decoder_f NTCIPWindSensorAvgSpeed_decode_xer; -xer_type_encoder_f NTCIPWindSensorAvgSpeed_encode_xer; -oer_type_decoder_f NTCIPWindSensorAvgSpeed_decode_oer; -oer_type_encoder_f NTCIPWindSensorAvgSpeed_encode_oer; -per_type_decoder_f NTCIPWindSensorAvgSpeed_decode_uper; -per_type_encoder_f NTCIPWindSensorAvgSpeed_encode_uper; -per_type_decoder_f NTCIPWindSensorAvgSpeed_decode_aper; -per_type_encoder_f NTCIPWindSensorAvgSpeed_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPWindSensorAvgSpeed_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustDirection.c b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustDirection.c new file mode 100644 index 000000000..b81110df9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustDirection.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPWindSensorGustDirection.h" + +int +NTCIPWindSensorGustDirection_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 361L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPWindSensorGustDirection_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..361) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPWindSensorGustDirection_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, 0, 361 } /* (0..361) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPWindSensorGustDirection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPWindSensorGustDirection = { + "NTCIPWindSensorGustDirection", + "NTCIPWindSensorGustDirection", + &asn_OP_NativeInteger, + asn_DEF_NTCIPWindSensorGustDirection_tags_1, + sizeof(asn_DEF_NTCIPWindSensorGustDirection_tags_1) + /sizeof(asn_DEF_NTCIPWindSensorGustDirection_tags_1[0]), /* 1 */ + asn_DEF_NTCIPWindSensorGustDirection_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPWindSensorGustDirection_tags_1) + /sizeof(asn_DEF_NTCIPWindSensorGustDirection_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPWindSensorGustDirection_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPWindSensorGustDirection_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPWindSensorGustDirection_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustDirection.h b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustDirection.h deleted file mode 100644 index 507d47dff..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustDirection.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPWindSensorGustDirection_H_ -#define _NTCIPWindSensorGustDirection_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPWindSensorGustDirection */ -typedef long NTCIPWindSensorGustDirection_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPWindSensorGustDirection_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPWindSensorGustDirection; -asn_struct_free_f NTCIPWindSensorGustDirection_free; -asn_struct_print_f NTCIPWindSensorGustDirection_print; -asn_constr_check_f NTCIPWindSensorGustDirection_constraint; -ber_type_decoder_f NTCIPWindSensorGustDirection_decode_ber; -der_type_encoder_f NTCIPWindSensorGustDirection_encode_der; -xer_type_decoder_f NTCIPWindSensorGustDirection_decode_xer; -xer_type_encoder_f NTCIPWindSensorGustDirection_encode_xer; -oer_type_decoder_f NTCIPWindSensorGustDirection_decode_oer; -oer_type_encoder_f NTCIPWindSensorGustDirection_encode_oer; -per_type_decoder_f NTCIPWindSensorGustDirection_decode_uper; -per_type_encoder_f NTCIPWindSensorGustDirection_encode_uper; -per_type_decoder_f NTCIPWindSensorGustDirection_decode_aper; -per_type_encoder_f NTCIPWindSensorGustDirection_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPWindSensorGustDirection_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustSpeed.c b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustSpeed.c new file mode 100644 index 000000000..128b8273a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustSpeed.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPWindSensorGustSpeed.h" + +int +NTCIPWindSensorGustSpeed_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPWindSensorGustSpeed_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPWindSensorGustSpeed_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPWindSensorGustSpeed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPWindSensorGustSpeed = { + "NTCIPWindSensorGustSpeed", + "NTCIPWindSensorGustSpeed", + &asn_OP_NativeInteger, + asn_DEF_NTCIPWindSensorGustSpeed_tags_1, + sizeof(asn_DEF_NTCIPWindSensorGustSpeed_tags_1) + /sizeof(asn_DEF_NTCIPWindSensorGustSpeed_tags_1[0]), /* 1 */ + asn_DEF_NTCIPWindSensorGustSpeed_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPWindSensorGustSpeed_tags_1) + /sizeof(asn_DEF_NTCIPWindSensorGustSpeed_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPWindSensorGustSpeed_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPWindSensorGustSpeed_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPWindSensorGustSpeed_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustSpeed.h b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustSpeed.h deleted file mode 100644 index fa6526150..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorGustSpeed.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPWindSensorGustSpeed_H_ -#define _NTCIPWindSensorGustSpeed_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPWindSensorGustSpeed */ -typedef long NTCIPWindSensorGustSpeed_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPWindSensorGustSpeed_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPWindSensorGustSpeed; -asn_struct_free_f NTCIPWindSensorGustSpeed_free; -asn_struct_print_f NTCIPWindSensorGustSpeed_print; -asn_constr_check_f NTCIPWindSensorGustSpeed_constraint; -ber_type_decoder_f NTCIPWindSensorGustSpeed_decode_ber; -der_type_encoder_f NTCIPWindSensorGustSpeed_encode_der; -xer_type_decoder_f NTCIPWindSensorGustSpeed_decode_xer; -xer_type_encoder_f NTCIPWindSensorGustSpeed_encode_xer; -oer_type_decoder_f NTCIPWindSensorGustSpeed_decode_oer; -oer_type_encoder_f NTCIPWindSensorGustSpeed_encode_oer; -per_type_decoder_f NTCIPWindSensorGustSpeed_decode_uper; -per_type_encoder_f NTCIPWindSensorGustSpeed_encode_uper; -per_type_decoder_f NTCIPWindSensorGustSpeed_decode_aper; -per_type_encoder_f NTCIPWindSensorGustSpeed_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPWindSensorGustSpeed_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotDirection.c b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotDirection.c new file mode 100644 index 000000000..c639d0654 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotDirection.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPWindSensorSpotDirection.h" + +int +NTCIPWindSensorSpotDirection_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 361L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPWindSensorSpotDirection_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..361) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPWindSensorSpotDirection_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, 0, 361 } /* (0..361) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPWindSensorSpotDirection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPWindSensorSpotDirection = { + "NTCIPWindSensorSpotDirection", + "NTCIPWindSensorSpotDirection", + &asn_OP_NativeInteger, + asn_DEF_NTCIPWindSensorSpotDirection_tags_1, + sizeof(asn_DEF_NTCIPWindSensorSpotDirection_tags_1) + /sizeof(asn_DEF_NTCIPWindSensorSpotDirection_tags_1[0]), /* 1 */ + asn_DEF_NTCIPWindSensorSpotDirection_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPWindSensorSpotDirection_tags_1) + /sizeof(asn_DEF_NTCIPWindSensorSpotDirection_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPWindSensorSpotDirection_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPWindSensorSpotDirection_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPWindSensorSpotDirection_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotDirection.h b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotDirection.h deleted file mode 100644 index 897b90951..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotDirection.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPWindSensorSpotDirection_H_ -#define _NTCIPWindSensorSpotDirection_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPWindSensorSpotDirection */ -typedef long NTCIPWindSensorSpotDirection_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPWindSensorSpotDirection_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPWindSensorSpotDirection; -asn_struct_free_f NTCIPWindSensorSpotDirection_free; -asn_struct_print_f NTCIPWindSensorSpotDirection_print; -asn_constr_check_f NTCIPWindSensorSpotDirection_constraint; -ber_type_decoder_f NTCIPWindSensorSpotDirection_decode_ber; -der_type_encoder_f NTCIPWindSensorSpotDirection_encode_der; -xer_type_decoder_f NTCIPWindSensorSpotDirection_decode_xer; -xer_type_encoder_f NTCIPWindSensorSpotDirection_encode_xer; -oer_type_decoder_f NTCIPWindSensorSpotDirection_decode_oer; -oer_type_encoder_f NTCIPWindSensorSpotDirection_encode_oer; -per_type_decoder_f NTCIPWindSensorSpotDirection_decode_uper; -per_type_encoder_f NTCIPWindSensorSpotDirection_encode_uper; -per_type_decoder_f NTCIPWindSensorSpotDirection_decode_aper; -per_type_encoder_f NTCIPWindSensorSpotDirection_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPWindSensorSpotDirection_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotSpeed.c b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotSpeed.c new file mode 100644 index 000000000..526833793 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotSpeed.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NTCIPWindSensorSpotSpeed.h" + +int +NTCIPWindSensorSpotSpeed_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NTCIPWindSensorSpotSpeed_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NTCIPWindSensorSpotSpeed_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NTCIPWindSensorSpotSpeed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NTCIPWindSensorSpotSpeed = { + "NTCIPWindSensorSpotSpeed", + "NTCIPWindSensorSpotSpeed", + &asn_OP_NativeInteger, + asn_DEF_NTCIPWindSensorSpotSpeed_tags_1, + sizeof(asn_DEF_NTCIPWindSensorSpotSpeed_tags_1) + /sizeof(asn_DEF_NTCIPWindSensorSpotSpeed_tags_1[0]), /* 1 */ + asn_DEF_NTCIPWindSensorSpotSpeed_tags_1, /* Same as above */ + sizeof(asn_DEF_NTCIPWindSensorSpotSpeed_tags_1) + /sizeof(asn_DEF_NTCIPWindSensorSpotSpeed_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NTCIPWindSensorSpotSpeed_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NTCIPWindSensorSpotSpeed_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NTCIPWindSensorSpotSpeed_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotSpeed.h b/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotSpeed.h deleted file mode 100644 index da081c90c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NTCIPWindSensorSpotSpeed.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NTCIPWindSensorSpotSpeed_H_ -#define _NTCIPWindSensorSpotSpeed_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NTCIPWindSensorSpotSpeed */ -typedef long NTCIPWindSensorSpotSpeed_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NTCIPWindSensorSpotSpeed_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NTCIPWindSensorSpotSpeed; -asn_struct_free_f NTCIPWindSensorSpotSpeed_free; -asn_struct_print_f NTCIPWindSensorSpotSpeed_print; -asn_constr_check_f NTCIPWindSensorSpotSpeed_constraint; -ber_type_decoder_f NTCIPWindSensorSpotSpeed_decode_ber; -der_type_encoder_f NTCIPWindSensorSpotSpeed_encode_der; -xer_type_decoder_f NTCIPWindSensorSpotSpeed_decode_xer; -xer_type_encoder_f NTCIPWindSensorSpotSpeed_encode_xer; -oer_type_decoder_f NTCIPWindSensorSpotSpeed_decode_oer; -oer_type_encoder_f NTCIPWindSensorSpotSpeed_encode_oer; -per_type_decoder_f NTCIPWindSensorSpotSpeed_decode_uper; -per_type_encoder_f NTCIPWindSensorSpotSpeed_encode_uper; -per_type_decoder_f NTCIPWindSensorSpotSpeed_decode_aper; -per_type_encoder_f NTCIPWindSensorSpotSpeed_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NTCIPWindSensorSpotSpeed_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NULL.c b/src/tmx/Asn_J2735/src/r2024/NULL.c new file mode 100644 index 000000000..d160e695f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NULL.c @@ -0,0 +1,113 @@ +/*- + * Copyright (c) 2003, 2005 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * NULL basic type description. + */ +static const ber_tlv_tag_t asn_DEF_NULL_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)) +}; +asn_TYPE_operation_t asn_OP_NULL = { + NULL_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + NULL_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + NULL_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + NULL_decode_ber, + NULL_encode_der, /* Special handling of DER encoding */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + NULL_decode_xer, + NULL_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + NULL_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + NULL_decode_oer, + NULL_encode_oer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + NULL_decode_uper, /* Unaligned PER decoder */ + NULL_encode_uper, /* Unaligned PER encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + NULL_decode_aper, /* Aligned PER decoder */ + NULL_encode_aper, /* Aligned PER encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + NULL_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_NULL = { + "NULL", + "NULL", + &asn_OP_NULL, + asn_DEF_NULL_tags, + sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]), + asn_DEF_NULL_tags, /* Same as above */ + sizeof(asn_DEF_NULL_tags) / sizeof(asn_DEF_NULL_tags[0]), + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + asn_generic_no_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +void +NULL_free(const asn_TYPE_descriptor_t *td, void *ptr, + enum asn_struct_free_method method) { + if(td && ptr) { + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(ptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset(ptr, 0, sizeof(NULL_t)); + break; + } + } +} + +int +NULL_compare(const asn_TYPE_descriptor_t *td, const void *a, const void *b) { + (void)td; + (void)a; + (void)b; + return 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/NULL.h b/src/tmx/Asn_J2735/src/r2024/NULL.h deleted file mode 100644 index 726447569..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NULL.h +++ /dev/null @@ -1,69 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_TYPE_NULL_H -#define ASN_TYPE_NULL_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * The value of the NULL type is meaningless. - * Use the BOOLEAN type if you need to carry true/false semantics. - */ -typedef int NULL_t; - -extern asn_TYPE_descriptor_t asn_DEF_NULL; -extern asn_TYPE_operation_t asn_OP_NULL; - -asn_struct_free_f NULL_free; - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -asn_struct_print_f NULL_print; -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -asn_struct_compare_f NULL_compare; - -#define NULL_constraint asn_generic_no_constraint - -#if !defined(ASN_DISABLE_BER_SUPPORT) -ber_type_decoder_f NULL_decode_ber; -der_type_encoder_f NULL_encode_der; -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -xer_type_decoder_f NULL_decode_xer; -xer_type_encoder_f NULL_encode_xer; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f NULL_encode_jer; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -oer_type_decoder_f NULL_decode_oer; -oer_type_encoder_f NULL_encode_oer; -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -per_type_decoder_f NULL_decode_uper; -per_type_encoder_f NULL_encode_uper; -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -per_type_decoder_f NULL_decode_aper; -per_type_encoder_f NULL_encode_aper; -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -asn_random_fill_f NULL_random_fill; -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -#ifdef __cplusplus -} -#endif - -#endif /* NULL_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/NULL_aper.c b/src/tmx/Asn_J2735/src/r2024/NULL_aper.c new file mode 100644 index 000000000..5176880b9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NULL_aper.c @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +NULL_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + asn_dec_rval_t rv = {RC_OK, 0}; + + (void)opt_codec_ctx; + (void)td; + (void)constraints; + (void)pd; + + if(!*sptr) { + *sptr = MALLOC(sizeof(NULL_t)); + if(*sptr) { + *(NULL_t *)*sptr = 0; + } else { + ASN__DECODE_FAILED; + } + } + + /* + * NULL type does not have content octets. + */ + + rv.code = RC_OK; + rv.consumed = 0; + return rv; +} + + +asn_enc_rval_t +NULL_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + asn_enc_rval_t er = {0,0,0}; + + (void)td; + (void)constraints; + (void)sptr; + (void)po; + + er.encoded = 0; + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/NULL_ber.c b/src/tmx/Asn_J2735/src/r2024/NULL_ber.c new file mode 100644 index 000000000..38c85c92e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NULL_ber.c @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * Decode NULL type. + */ +asn_dec_rval_t +NULL_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **bool_value, + const void *buf_ptr, size_t size, int tag_mode) { + NULL_t *st = (NULL_t *)*bool_value; + asn_dec_rval_t rval; + ber_tlv_len_t length; + + if(st == NULL) { + st = (NULL_t *)(*bool_value = CALLOC(1, sizeof(*st))); + if(st == NULL) { + rval.code = RC_FAIL; + rval.consumed = 0; + return rval; + } + } + + ASN_DEBUG("Decoding %s as NULL (tm=%d)", td->name, tag_mode); + + /* + * Check tags. + */ + rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size, tag_mode, 0, + &length, 0); + if(rval.code != RC_OK) { + return rval; + } + + // X.690-201508, #8.8.2, length shall be zero. + if(length != 0) { + ASN_DEBUG("Decoding %s as NULL failed: too much data", td->name); + rval.code = RC_FAIL; + rval.consumed = 0; + return rval; + } + + return rval; +} + +asn_enc_rval_t +NULL_encode_der(const asn_TYPE_descriptor_t *td, const void *ptr, int tag_mode, + ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t erval = {0,0,0}; + + erval.encoded = der_write_tags(td, 0, tag_mode, 0, tag, cb, app_key); + if(erval.encoded == -1) { + erval.failed_type = td; + erval.structure_ptr = ptr; + } + + ASN__ENCODED_OK(erval); +} diff --git a/src/tmx/Asn_J2735/src/r2024/NULL_oer.c b/src/tmx/Asn_J2735/src/r2024/NULL_oer.c new file mode 100644 index 000000000..29abaa24c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NULL_oer.c @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +NULL_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, void **sptr, + const void *ptr, size_t size) { + asn_dec_rval_t rv = {RC_OK, 0}; + (void)opt_codec_ctx; + (void)td; + (void)constraints; + (void)ptr; + (void)size; + + if(!*sptr) { + *sptr = MALLOC(sizeof(NULL_t)); + if(*sptr) { + *(NULL_t *)*sptr = 0; + } else { + ASN__DECODE_FAILED; + } + } + + return rv; +} + +asn_enc_rval_t +NULL_encode_oer(const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, const void *sptr, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t er = {0,0,0}; + + (void)td; + (void)sptr; + (void)constraints; + (void)cb; + (void)app_key; + + er.encoded = 0; /* Encoding in 0 bytes. */ + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/NULL_print.c b/src/tmx/Asn_J2735/src/r2024/NULL_print.c new file mode 100644 index 000000000..52fcc0e27 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NULL_print.c @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +int +NULL_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + asn_app_consume_bytes_f *cb, void *app_key) { + (void)td; /* Unused argument */ + (void)ilevel; /* Unused argument */ + + if(sptr) { + return (cb("", 9, app_key) < 0) ? -1 : 0; + } else { + return (cb("", 8, app_key) < 0) ? -1 : 0; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/NULL_rfill.c b/src/tmx/Asn_J2735/src/r2024/NULL_rfill.c new file mode 100644 index 000000000..f1b60ce4f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NULL_rfill.c @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_random_fill_result_t +NULL_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constr, + size_t max_length) { + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + NULL_t *st = *sptr; + + (void)td; + (void)constr; + + if(max_length == 0) return result_skipped; + + if(st == NULL) { + st = (NULL_t *)(*sptr = CALLOC(1, sizeof(*st))); + if(st == NULL) { + return result_failed; + } + } + + return result_ok; +} diff --git a/src/tmx/Asn_J2735/src/r2024/NULL_uper.c b/src/tmx/Asn_J2735/src/r2024/NULL_uper.c new file mode 100644 index 000000000..c871a4875 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NULL_uper.c @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +NULL_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + asn_dec_rval_t rv; + + (void)opt_codec_ctx; + (void)td; + (void)constraints; + (void)pd; + + if(!*sptr) { + *sptr = MALLOC(sizeof(NULL_t)); + if(*sptr) { + *(NULL_t *)*sptr = 0; + } else { + ASN__DECODE_FAILED; + } + } + + /* + * NULL type does not have content octets. + */ + + rv.code = RC_OK; + rv.consumed = 0; + return rv; +} + +asn_enc_rval_t +NULL_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + asn_enc_rval_t er = {0,0,0}; + + (void)td; + (void)constraints; + (void)sptr; + (void)po; + + er.encoded = 0; + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/NULL_xer.c b/src/tmx/Asn_J2735/src/r2024/NULL_xer.c new file mode 100644 index 000000000..5a6e4b943 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NULL_xer.c @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +asn_enc_rval_t +NULL_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, + void *app_key) { + asn_enc_rval_t er = {0,0,0}; + + (void)td; + (void)sptr; + (void)ilevel; + (void)flags; + (void)cb; + (void)app_key; + + /* XMLNullValue is empty */ + er.encoded = 0; + ASN__ENCODED_OK(er); +} + + +static enum xer_pbd_rval +NULL__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, + const void *chunk_buf, size_t chunk_size) { + (void)td; + (void)sptr; + (void)chunk_buf; /* Going to be empty according to the rules below. */ + + /* + * There must be no content in self-terminating tag. + */ + if(chunk_size) + return XPBD_BROKEN_ENCODING; + else + return XPBD_BODY_CONSUMED; +} + +asn_dec_rval_t +NULL_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, size_t size) { + return xer_decode_primitive(opt_codec_ctx, td, + sptr, sizeof(NULL_t), opt_mname, buf_ptr, size, + NULL__xer_body_decode); +} diff --git a/src/tmx/Asn_J2735/src/r2024/NamedObjects.c b/src/tmx/Asn_J2735/src/r2024/NamedObjects.c new file mode 100644 index 000000000..ca779787e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NamedObjects.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NamedObjects.h" + +int +NamedObjects_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NamedObjects_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_NamedObjects_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_NamedObjects_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NamedObjects = { + "NamedObjects", + "NamedObjects", + &asn_OP_NativeInteger, + asn_DEF_NamedObjects_tags_1, + sizeof(asn_DEF_NamedObjects_tags_1) + /sizeof(asn_DEF_NamedObjects_tags_1[0]), /* 1 */ + asn_DEF_NamedObjects_tags_1, /* Same as above */ + sizeof(asn_DEF_NamedObjects_tags_1) + /sizeof(asn_DEF_NamedObjects_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NamedObjects_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NamedObjects_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NamedObjects_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NamedObjects.h b/src/tmx/Asn_J2735/src/r2024/NamedObjects.h deleted file mode 100644 index acab0c02f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NamedObjects.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NamedObjects_H_ -#define _NamedObjects_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NamedObjects { - NamedObjects_name_follows = 11777, - NamedObjects_freeway = 11778, - NamedObjects_us_Route = 11779, - NamedObjects_state_Route = 11780, - NamedObjects_interstate = 11781, - NamedObjects_business_Loop = 11782, - NamedObjects_spur = 11797, - NamedObjects_junction = 11798, - NamedObjects_alternative = 11783, - NamedObjects_county_Route = 11784, - NamedObjects_forest_Route = 11785, - NamedObjects_farm_to_Market_Route = 11786, - NamedObjects_eisenhower_Interstate_System = 11787, - NamedObjects_americas_Byways = 11788, - NamedObjects_national_Network_Route = 11789, - NamedObjects_scenic_Area = 11790, - NamedObjects_parking_Area = 11791, - NamedObjects_weight_Station = 11792, - NamedObjects_road = 11793, - NamedObjects_exit = 11794, - NamedObjects_historical_route = 11795, - NamedObjects_state_line = 11796, - NamedObjects_bicycle_route = 11799, - NamedObjects_bicycle_interstate_route = 11800, - NamedObjects_national_park = 11801 -} e_NamedObjects; - -/* NamedObjects */ -typedef long NamedObjects_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NamedObjects; -asn_struct_free_f NamedObjects_free; -asn_struct_print_f NamedObjects_print; -asn_constr_check_f NamedObjects_constraint; -ber_type_decoder_f NamedObjects_decode_ber; -der_type_encoder_f NamedObjects_encode_der; -xer_type_decoder_f NamedObjects_decode_xer; -xer_type_encoder_f NamedObjects_encode_xer; -oer_type_decoder_f NamedObjects_decode_oer; -oer_type_encoder_f NamedObjects_encode_oer; -per_type_decoder_f NamedObjects_decode_uper; -per_type_encoder_f NamedObjects_encode_uper; -per_type_decoder_f NamedObjects_decode_aper; -per_type_encoder_f NamedObjects_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NamedObjects_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NativeEnumerated.c b/src/tmx/Asn_J2735/src/r2024/NativeEnumerated.c new file mode 100644 index 000000000..aee450c17 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NativeEnumerated.c @@ -0,0 +1,108 @@ +/*- + * Copyright (c) 2004, 2007 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +/* + * Read the NativeInteger.h for the explanation wrt. differences between + * INTEGER and NativeInteger. + * Basically, both are decoders and encoders of ASN.1 INTEGER type, but this + * implementation deals with the standard (machine-specific) representation + * of them instead of using the platform-independent buffer. + */ +#include +#include + +/* + * NativeEnumerated basic type description. + */ +static const ber_tlv_tag_t asn_DEF_NativeEnumerated_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_operation_t asn_OP_NativeEnumerated = { + NativeInteger_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + NativeInteger_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + NativeInteger_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + NativeInteger_decode_ber, + NativeInteger_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + NativeInteger_decode_xer, + NativeEnumerated_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + NativeEnumerated_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + NativeEnumerated_decode_oer, + NativeEnumerated_encode_oer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + NativeEnumerated_decode_uper, + NativeEnumerated_encode_uper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + NativeEnumerated_decode_aper, + NativeEnumerated_encode_aper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + NativeEnumerated_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_NativeEnumerated = { + "ENUMERATED", /* The ASN.1 type is still ENUMERATED */ + "ENUMERATED", + &asn_OP_NativeEnumerated, + asn_DEF_NativeEnumerated_tags, + sizeof(asn_DEF_NativeEnumerated_tags) / sizeof(asn_DEF_NativeEnumerated_tags[0]), + asn_DEF_NativeEnumerated_tags, /* Same as above */ + sizeof(asn_DEF_NativeEnumerated_tags) / sizeof(asn_DEF_NativeEnumerated_tags[0]), + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + asn_generic_no_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +int +NativeEnumerated__compar_value2enum(const void *ap, const void *bp) { + const asn_INTEGER_enum_map_t *a = ap; + const asn_INTEGER_enum_map_t *b = bp; + if(a->nat_value == b->nat_value) + return 0; + if(a->nat_value < b->nat_value) + return -1; + return 1; +} +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ diff --git a/src/tmx/Asn_J2735/src/r2024/NativeEnumerated.h b/src/tmx/Asn_J2735/src/r2024/NativeEnumerated.h deleted file mode 100644 index 0c711e3fe..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NativeEnumerated.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * This type differs from the standard ENUMERATED in that it is modelled using - * the fixed machine type (long, int, short), so it can hold only values of - * limited length. There is no type (i.e., NativeEnumerated_t, any integer type - * will do). - * This type may be used when integer range is limited by subtype constraints. - */ -#ifndef _NativeEnumerated_H_ -#define _NativeEnumerated_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -extern asn_TYPE_descriptor_t asn_DEF_NativeEnumerated; -extern asn_TYPE_operation_t asn_OP_NativeEnumerated; - -#define NativeEnumerated_free NativeInteger_free - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -#define NativeEnumerated_print NativeInteger_print -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -#define NativeEnumerated_compare NativeInteger_compare - -#define NativeEnumerated_constraint asn_generic_no_constraint - -#if !defined(ASN_DISABLE_BER_SUPPORT) -#define NativeEnumerated_decode_ber NativeInteger_decode_ber -#define NativeEnumerated_encode_der NativeInteger_encode_der -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -#define NativeEnumerated_decode_xer NativeInteger_decode_xer -xer_type_encoder_f NativeEnumerated_encode_xer; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f NativeEnumerated_encode_jer; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -oer_type_decoder_f NativeEnumerated_decode_oer; -oer_type_encoder_f NativeEnumerated_encode_oer; -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -per_type_decoder_f NativeEnumerated_decode_uper; -per_type_encoder_f NativeEnumerated_encode_uper; -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -per_type_decoder_f NativeEnumerated_decode_aper; -per_type_encoder_f NativeEnumerated_encode_aper; -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -#define NativeEnumerated_random_fill NativeInteger_random_fill -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) -int NativeEnumerated__compar_value2enum( - const void *ap, - const void *bp); -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - -#ifdef __cplusplus -} -#endif - -#endif /* _NativeEnumerated_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/NativeEnumerated_aper.c b/src/tmx/Asn_J2735/src/r2024/NativeEnumerated_aper.c new file mode 100644 index 000000000..5c4c2561d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NativeEnumerated_aper.c @@ -0,0 +1,157 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +NativeEnumerated_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + void **sptr, asn_per_data_t *pd) { + const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; + asn_dec_rval_t rval = { RC_OK, 0 }; + long *native = (long *)*sptr; + const asn_per_constraint_t *ct; + long value; + + (void)opt_codec_ctx; + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->value; + else ASN__DECODE_FAILED; /* Mandatory! */ + if(!specs) ASN__DECODE_FAILED; + + if(!native) { + native = (long *)(*sptr = CALLOC(1, sizeof(*native))); + if(!native) ASN__DECODE_FAILED; + } + + ASN_DEBUG("Decoding %s as NativeEnumerated", td->name); + + if(ct->flags & APC_EXTENSIBLE) { + int inext = per_get_few_bits(pd, 1); + if(inext < 0) ASN__DECODE_STARVED; + if(inext) ct = 0; + } + + /* Deal with APER padding */ + if(ct && ct->upper_bound >= 255) { + int padding = 0; + padding = (8 - (pd->moved % 8)) % 8; + ASN_DEBUG("For NativeEnumerated %s,offset = %zu Padding bits = %d", + td->name, pd->moved, padding); + ASN_DEBUG("For NativeEnumerated %s, upper bound = %llu", + td->name, (unsigned long long)ct->upper_bound); + if(padding > 0) + per_get_few_bits(pd, padding); + } + + if(ct && ct->range_bits >= 0) { + value = per_get_few_bits(pd, ct->range_bits); + if(value < 0) ASN__DECODE_STARVED; + if(value >= (specs->extension + ? specs->extension - 1 : specs->map_count)) + ASN__DECODE_FAILED; + } else { + if(!specs->extension) + ASN__DECODE_FAILED; + /* + * X.691, #10.6: normally small non-negative whole number; + */ + + /* XXX handle indefinite index length > 64k */ + value = aper_get_nsnnwn(pd, 65537); + if(value < 0) ASN__DECODE_STARVED; + value += specs->extension - 1; + //if(value >= specs->map_count) + // ASN__DECODE_FAILED; + if(value >= specs->map_count) { + ASN_DEBUG("Decoded unknown index value %s = %ld", td->name, value); + /* unknown index. Workaround => set the first enumeration value */ + *native = specs->value2enum[0].nat_value; + return rval; + } + } + + *native = specs->value2enum[value].nat_value; + ASN_DEBUG("Decoded %s = %ld", td->name, *native); + + return rval; +} + +asn_enc_rval_t +NativeEnumerated_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + long native, value; + const asn_per_constraint_t *ct; + int inext = 0, range_bits = 1; + asn_INTEGER_enum_map_t key; + asn_INTEGER_enum_map_t *kf; + + if(!sptr) ASN__ENCODE_FAILED; + if(!specs) ASN__ENCODE_FAILED; + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->value; + else ASN__ENCODE_FAILED; /* Mandatory! */ + + ASN_DEBUG("Encoding %s as NativeEnumerated", td->name); + + er.encoded = 0; + + native = *(const long *)sptr; + if(native < 0) ASN__ENCODE_FAILED; + + key.nat_value = native; + kf = bsearch(&key, specs->value2enum, specs->map_count, + sizeof(key), NativeEnumerated__compar_value2enum); + if(!kf) { + ASN_DEBUG("No element corresponds to %ld", native); + ASN__ENCODE_FAILED; + } + value = kf - specs->value2enum; + + if(ct->range_bits >= 0) { + int cmpWith = specs->extension + ? specs->extension - 1 : specs->map_count; + if(value >= cmpWith) + inext = 1; + } + if(ct->flags & APC_EXTENSIBLE) { + if(per_put_few_bits(po, inext, 1)) + ASN__ENCODE_FAILED; + if(inext) range_bits = 0; + } else if(inext) { + ASN__ENCODE_FAILED; + } + + if(range_bits && ct && ct->range_bits >= 0) { + if(per_put_few_bits(po, value, ct->range_bits)) + ASN__ENCODE_FAILED; + ASN__ENCODED_OK(er); + } + + if(!specs->extension) + ASN__ENCODE_FAILED; + + /* + * X.691, #10.6: normally small non-negative whole number; + */ + ASN_DEBUG("value = %ld, ext = %d, inext = %d, res = %ld", + value, specs->extension, inext, + value - (inext ? (specs->extension - 1) : 0)); + if(aper_put_nsnnwn(po, + ct->upper_bound - ct->lower_bound + 1, + value - (inext ? (specs->extension - 1) : 0))) + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/NativeEnumerated_oer.c b/src/tmx/Asn_J2735/src/r2024/NativeEnumerated_oer.c new file mode 100644 index 000000000..52dbcb860 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NativeEnumerated_oer.c @@ -0,0 +1,144 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +static long +asn__nativeenumerated_convert(const uint8_t *b, const uint8_t *end) { + unsigned long value; + + /* Perform the sign initialization */ + /* Actually value = -(*b >> 7); gains nothing, yet unreadable! */ + if((*b >> 7)) { + value = (unsigned long)(-1); + } else { + value = 0; + } + + /* Conversion engine */ + for(; b < end; b++) { + value = (value << 8) | *b; + } + + return value; +} + +asn_dec_rval_t +NativeEnumerated_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, + void **nint_ptr, const void *ptr, size_t size) { + asn_dec_rval_t rval = {RC_OK, 0}; + long *native = (long *)*nint_ptr; + const uint8_t *b = ptr; + + (void)opt_codec_ctx; + (void)constraints; + + if(size < 1) { + ASN__DECODE_STARVED; + } + + if((*b & 0x80) == 0) { + /* + * X.696 (08/2015) #11.2 Short form for Enumerated. + */ + if(!native) { + native = (long *)(*nint_ptr = CALLOC(1, sizeof(*native))); + if(!native) ASN__DECODE_FAILED; + } + + *native = *b; + rval.consumed = 1; + } else { + /* + * X.696 (08/2015) #11.4 Long form for Enumerated. + */ + size_t length = *b & 0x7f; + const uint8_t *bend; + long value; + + if(length < 1 || length > sizeof(*native)) { + ASN__DECODE_FAILED; + } + if((1 + length) > size) { + ASN__DECODE_STARVED; + } + b++; + bend = b + length; + + value = asn__nativeenumerated_convert(b, bend); + if(value < 0) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + if(specs && specs->field_unsigned) { + ASN__DECODE_FAILED; + } + } + + if(!native) { + native = (long *)(*nint_ptr = CALLOC(1, sizeof(*native))); + if(!native) ASN__DECODE_FAILED; + } + + *native = value; + + rval.consumed = (1 + length); + } + + return rval; +} + +/* + * Encode as Canonical OER. + */ +asn_enc_rval_t +NativeEnumerated_encode_oer(const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, + const void *sptr, asn_app_consume_bytes_f *cb, + void *app_key) { + asn_enc_rval_t er = {0,0,0}; + long native; + + (void)constraints; + + if(!sptr) ASN__ENCODE_FAILED; + + native = *(const long *)sptr; + + if(native >= 0 && native <= 127) { + /* #11.2 Short form */ + uint8_t b = native; + er.encoded = 1; + if(cb(&b, er.encoded, app_key) < 0) { + ASN__ENCODE_FAILED; + } + ASN__ENCODED_OK(er); + } else { + /* #11.2 Long form */ + uint8_t buf[1 + sizeof(native)]; + uint8_t *b = &buf[sizeof(native)]; /* Last addressable */ + long final_pattern = -1 * (native < 0); + + for(;;) { + *b-- = native; + native >>= 8; + if(native == final_pattern) { + if(final_pattern) { + if((b[1] & 0x80)) break; + } else { + if(!(b[1] & 0x80)) break; + } + } + } + *b = 0x80 | (&buf[sizeof(native)] - b); + er.encoded = 1 + (&buf[sizeof(native)] - b); + if(cb(b, er.encoded, app_key) < 0) { + ASN__ENCODE_FAILED; + } + ASN__ENCODED_OK(er); + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/NativeEnumerated_uper.c b/src/tmx/Asn_J2735/src/r2024/NativeEnumerated_uper.c new file mode 100644 index 000000000..e2f932a22 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NativeEnumerated_uper.c @@ -0,0 +1,135 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +NativeEnumerated_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + void **sptr, asn_per_data_t *pd) { + const asn_INTEGER_specifics_t *specs = td->specifics; + asn_dec_rval_t rval = { RC_OK, 0 }; + long *native = (long *)*sptr; + const asn_per_constraint_t *ct; + long value; + + (void)opt_codec_ctx; + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->value; + else ASN__DECODE_FAILED; /* Mandatory! */ + if(!specs) ASN__DECODE_FAILED; + + if(!native) { + native = (long *)(*sptr = CALLOC(1, sizeof(*native))); + if(!native) ASN__DECODE_FAILED; + } + + ASN_DEBUG("Decoding %s as NativeEnumerated", td->name); + + if(ct->flags & APC_EXTENSIBLE) { + int inext = per_get_few_bits(pd, 1); + if(inext < 0) ASN__DECODE_STARVED; + if(inext) ct = 0; + } + + if(ct && ct->range_bits >= 0) { + value = per_get_few_bits(pd, ct->range_bits); + if(value < 0) ASN__DECODE_STARVED; + if(value >= (specs->extension + ? specs->extension - 1 : specs->map_count)) + ASN__DECODE_FAILED; + } else { + if(!specs->extension) + ASN__DECODE_FAILED; + /* + * X.691, #10.6: normally small non-negative whole number; + */ + value = uper_get_nsnnwn(pd); + if(value < 0) ASN__DECODE_STARVED; + value += specs->extension - 1; + if(value >= specs->map_count) + ASN__DECODE_FAILED; + } + + *native = specs->value2enum[value].nat_value; + ASN_DEBUG("Decoded %s = %ld", td->name, *native); + + return rval; +} + +asn_enc_rval_t +NativeEnumerated_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + long native, value; + const asn_per_constraint_t *ct; + int inext = 0; + asn_INTEGER_enum_map_t key; + const asn_INTEGER_enum_map_t *kf; + + if(!sptr) ASN__ENCODE_FAILED; + if(!specs) ASN__ENCODE_FAILED; + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->value; + else ASN__ENCODE_FAILED; /* Mandatory! */ + + ASN_DEBUG("Encoding %s as NativeEnumerated", td->name); + + er.encoded = 0; + + native = *(const long *)sptr; + + key.nat_value = native; + kf = bsearch(&key, specs->value2enum, specs->map_count, + sizeof(key), NativeEnumerated__compar_value2enum); + if(!kf) { + ASN_DEBUG("No element corresponds to %ld", native); + ASN__ENCODE_FAILED; + } + value = kf - specs->value2enum; + + if(ct->range_bits >= 0) { + int cmpWith = specs->extension + ? specs->extension - 1 : specs->map_count; + if(value >= cmpWith) + inext = 1; + } + if(ct->flags & APC_EXTENSIBLE) { + if(per_put_few_bits(po, inext, 1)) + ASN__ENCODE_FAILED; + if(inext) ct = 0; + } else if(inext) { + ASN__ENCODE_FAILED; + } + + if(ct && ct->range_bits >= 0) { + if(per_put_few_bits(po, value, ct->range_bits)) + ASN__ENCODE_FAILED; + ASN__ENCODED_OK(er); + } + + if(!specs->extension) + ASN__ENCODE_FAILED; + + /* + * X.691, #10.6: normally small non-negative whole number; + */ + ASN_DEBUG("value = %ld, ext = %d, inext = %d, res = %ld", + value, specs->extension, inext, + value - (inext ? (specs->extension - 1) : 0)); + if(uper_put_nsnnwn(po, value - (inext ? (specs->extension - 1) : 0))) + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/NativeEnumerated_xer.c b/src/tmx/Asn_J2735/src/r2024/NativeEnumerated_xer.c new file mode 100644 index 000000000..e8d6d0deb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NativeEnumerated_xer.c @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_enc_rval_t +NativeEnumerated_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + const long *native = (const long *)sptr; + const asn_INTEGER_enum_map_t *el; + + (void)ilevel; + (void)flags; + + if(!native) ASN__ENCODE_FAILED; + + el = INTEGER_map_value2enum(specs, *native); + if(el) { + er.encoded = + asn__format_to_callback(cb, app_key, "<%s/>", el->enum_name); + if(er.encoded < 0) ASN__ENCODE_FAILED; + ASN__ENCODED_OK(er); + } else { + ASN_DEBUG( + "ASN.1 forbids dealing with " + "unknown value of ENUMERATED type"); + ASN__ENCODE_FAILED; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/NativeInteger.c b/src/tmx/Asn_J2735/src/r2024/NativeInteger.c new file mode 100644 index 000000000..f0309b0d2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NativeInteger.c @@ -0,0 +1,152 @@ +/*- + * Copyright (c) 2004, 2005, 2006 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +/* + * Read the NativeInteger.h for the explanation wrt. differences between + * INTEGER and NativeInteger. + * Basically, both are decoders and encoders of ASN.1 INTEGER type, but this + * implementation deals with the standard (machine-specific) representation + * of them instead of using the platform-independent buffer. + */ +#include +#include + +/* + * NativeInteger basic type description. + */ +static const ber_tlv_tag_t asn_DEF_NativeInteger_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_operation_t asn_OP_NativeInteger = { + NativeInteger_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + NativeInteger_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + NativeInteger_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + NativeInteger_decode_ber, + NativeInteger_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + NativeInteger_decode_xer, + NativeInteger_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + NativeInteger_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + NativeInteger_decode_oer, /* OER decoder */ + NativeInteger_encode_oer, /* Canonical OER encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + NativeInteger_decode_uper, /* Unaligned PER decoder */ + NativeInteger_encode_uper, /* Unaligned PER encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + NativeInteger_decode_aper, /* Aligned PER decoder */ + NativeInteger_encode_aper, /* Aligned PER encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + NativeInteger_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_NativeInteger = { + "INTEGER", /* The ASN.1 type is still INTEGER */ + "INTEGER", + &asn_OP_NativeInteger, + asn_DEF_NativeInteger_tags, + sizeof(asn_DEF_NativeInteger_tags) / sizeof(asn_DEF_NativeInteger_tags[0]), + asn_DEF_NativeInteger_tags, /* Same as above */ + sizeof(asn_DEF_NativeInteger_tags) / sizeof(asn_DEF_NativeInteger_tags[0]), + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + asn_generic_no_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +void +NativeInteger_free(const asn_TYPE_descriptor_t *td, void *ptr, + enum asn_struct_free_method method) { + if(!td || !ptr) + return; + + ASN_DEBUG("Freeing %s as INTEGER (%d, %p, Native)", + td->name, method, ptr); + + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(ptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset(ptr, 0, sizeof(long)); + break; + } +} + +int +NativeInteger_compare(const asn_TYPE_descriptor_t *td, const void *aptr, const void *bptr) { + (void)td; + + if(aptr && bptr) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + if(specs && specs->field_unsigned) { + const unsigned long *a = aptr; + const unsigned long *b = bptr; + if(*a < *b) { + return -1; + } else if(*a > *b) { + return 1; + } else { + return 0; + } + } else { + const long *a = aptr; + const long *b = bptr; + if(*a < *b) { + return -1; + } else if(*a > *b) { + return 1; + } else { + return 0; + } + } + } else if(!aptr) { + return -1; + } else { + return 1; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/NativeInteger.h b/src/tmx/Asn_J2735/src/r2024/NativeInteger.h deleted file mode 100644 index 3a47c11a0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NativeInteger.h +++ /dev/null @@ -1,71 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * This type differs from the standard INTEGER in that it is modelled using - * the fixed machine type (long, int, short), so it can hold only values of - * limited length. There is no type (i.e., NativeInteger_t, any integer type - * will do). - * This type may be used when integer range is limited by subtype constraints. - */ -#ifndef _NativeInteger_H_ -#define _NativeInteger_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -extern asn_TYPE_descriptor_t asn_DEF_NativeInteger; -extern asn_TYPE_operation_t asn_OP_NativeInteger; - -asn_struct_free_f NativeInteger_free; - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -asn_struct_print_f NativeInteger_print; -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -asn_struct_compare_f NativeInteger_compare; - -#define NativeInteger_constraint asn_generic_no_constraint - -#if !defined(ASN_DISABLE_BER_SUPPORT) -ber_type_decoder_f NativeInteger_decode_ber; -der_type_encoder_f NativeInteger_encode_der; -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -xer_type_decoder_f NativeInteger_decode_xer; -xer_type_encoder_f NativeInteger_encode_xer; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f NativeInteger_encode_jer; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -oer_type_decoder_f NativeInteger_decode_oer; -oer_type_encoder_f NativeInteger_encode_oer; -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -per_type_decoder_f NativeInteger_decode_uper; -per_type_encoder_f NativeInteger_encode_uper; -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -per_type_decoder_f NativeInteger_decode_aper; -per_type_encoder_f NativeInteger_encode_aper; -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -asn_random_fill_f NativeInteger_random_fill; -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -#ifdef __cplusplus -} -#endif - -#endif /* _NativeInteger_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/NativeInteger_aper.c b/src/tmx/Asn_J2735/src/r2024/NativeInteger_aper.c new file mode 100644 index 000000000..1d13070a3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NativeInteger_aper.c @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +NativeInteger_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + + const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; + asn_dec_rval_t rval; + long *native = (long *)*sptr; + INTEGER_t tmpint; + void *tmpintptr = &tmpint; + + (void)opt_codec_ctx; + ASN_DEBUG("Decoding NativeInteger %s (APER)", td->name); + + if(!native) { + native = (long *)(*sptr = CALLOC(1, sizeof(*native))); + if(!native) ASN__DECODE_FAILED; + } + + memset(&tmpint, 0, sizeof tmpint); + rval = INTEGER_decode_aper(opt_codec_ctx, td, constraints, + &tmpintptr, pd); + if(rval.code == RC_OK) { + if((specs&&specs->field_unsigned) + ? asn_INTEGER2ulong(&tmpint, (unsigned long *)native) + : asn_INTEGER2long(&tmpint, native)) + rval.code = RC_FAIL; + else + ASN_DEBUG("NativeInteger %s got value %ld", + td->name, *native); + } + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); + + return rval; +} + +asn_enc_rval_t +NativeInteger_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + + const asn_INTEGER_specifics_t *specs = (const asn_INTEGER_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + long native; + INTEGER_t tmpint; + + if(!sptr) ASN__ENCODE_FAILED; + + native = *(const long *)sptr; + + ASN_DEBUG("Encoding NativeInteger %s %ld (APER)", td->name, native); + + memset(&tmpint, 0, sizeof(tmpint)); + if((specs&&specs->field_unsigned) + ? asn_ulong2INTEGER(&tmpint, (unsigned long)native) + : asn_long2INTEGER(&tmpint, native)) + ASN__ENCODE_FAILED; + er = INTEGER_encode_aper(td, constraints, &tmpint, po); + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); + return er; +} diff --git a/src/tmx/Asn_J2735/src/r2024/NativeInteger_ber.c b/src/tmx/Asn_J2735/src/r2024/NativeInteger_ber.c new file mode 100644 index 000000000..ed683625c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NativeInteger_ber.c @@ -0,0 +1,130 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * Decode INTEGER type. + */ +asn_dec_rval_t +NativeInteger_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **nint_ptr, + const void *buf_ptr, size_t size, int tag_mode) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + long *native = (long *)*nint_ptr; + asn_dec_rval_t rval; + ber_tlv_len_t length; + + /* + * If the structure is not there, allocate it. + */ + if(native == NULL) { + native = (long *)(*nint_ptr = CALLOC(1, sizeof(*native))); + if(native == NULL) { + rval.code = RC_FAIL; + rval.consumed = 0; + return rval; + } + } + + ASN_DEBUG("Decoding %s as INTEGER (tm=%d)", + td->name, tag_mode); + + /* + * Check tags. + */ + rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size, + tag_mode, 0, &length, 0); + if(rval.code != RC_OK) + return rval; + + ASN_DEBUG("%s length is %d bytes", td->name, (int)length); + + /* + * Make sure we have this length. + */ + buf_ptr = ((const char *)buf_ptr) + rval.consumed; + size -= rval.consumed; + if(length > (ber_tlv_len_t)size) { + rval.code = RC_WMORE; + rval.consumed = 0; + return rval; + } + + /* + * ASN.1 encoded INTEGER: buf_ptr, length + * Fill the native, at the same time checking for overflow. + * If overflow occurred, return with RC_FAIL. + */ + { + INTEGER_t tmp; + union { + const void *constbuf; + void *nonconstbuf; + } unconst_buf; + long l; + + unconst_buf.constbuf = buf_ptr; + tmp.buf = (uint8_t *)unconst_buf.nonconstbuf; + tmp.size = length; + + if((specs&&specs->field_unsigned) + ? asn_INTEGER2ulong(&tmp, (unsigned long *)&l) /* sic */ + : asn_INTEGER2long(&tmp, &l)) { + rval.code = RC_FAIL; + rval.consumed = 0; + return rval; + } + + *native = l; + } + + rval.code = RC_OK; + rval.consumed += length; + + ASN_DEBUG("Took %ld/%ld bytes to encode %s (%ld)", + (long)rval.consumed, (long)length, td->name, (long)*native); + + return rval; +} + +/* + * Encode the NativeInteger using the standard INTEGER type DER encoder. + */ +asn_enc_rval_t +NativeInteger_encode_der(const asn_TYPE_descriptor_t *sd, const void *ptr, + int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + unsigned long native = *(const unsigned long *)ptr; /* Disable sign ext. */ + asn_enc_rval_t erval = {0,0,0}; + INTEGER_t tmp; + +#ifdef WORDS_BIGENDIAN /* Opportunistic optimization */ + + tmp.buf = (uint8_t *)&native; + tmp.size = sizeof(native); + +#else /* Works even if WORDS_BIGENDIAN is not set where should've been */ + uint8_t buf[sizeof(native)]; + uint8_t *p; + + /* Prepare a fake INTEGER */ + for(p = buf + sizeof(buf) - 1; p >= buf; p--, native >>= 8) + *p = (uint8_t)native; + + tmp.buf = buf; + tmp.size = sizeof(buf); +#endif /* WORDS_BIGENDIAN */ + + /* Encode fake INTEGER */ + erval = INTEGER_encode_der(sd, &tmp, tag_mode, tag, cb, app_key); + if(erval.structure_ptr == &tmp) { + erval.structure_ptr = ptr; + } + return erval; +} diff --git a/src/tmx/Asn_J2735/src/r2024/NativeInteger_oer.c b/src/tmx/Asn_J2735/src/r2024/NativeInteger_oer.c new file mode 100644 index 000000000..4e900462c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NativeInteger_oer.c @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +NativeInteger_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, + void **nint_ptr, const void *ptr, size_t size) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_dec_rval_t rval = {RC_OK, 0}; + long *native = (long *)*nint_ptr; + INTEGER_t tmpint; + INTEGER_t *tmpintptr = &tmpint; + + memset(&tmpint, 0, sizeof(tmpint)); + + if(!native) { + native = (long *)(*nint_ptr = CALLOC(1, sizeof(*native))); + if(!native) ASN__DECODE_FAILED; + } + + /* + * OPTIMIZATION: Encode directly rather than passing through INTEGER. + * Saves a memory allocation. + */ + rval = INTEGER_decode_oer(opt_codec_ctx, td, constraints, + (void **)&tmpintptr, ptr, size); + if(rval.code != RC_OK) { + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); + return rval; + } + + if(specs && specs->field_unsigned) { + unsigned long ul; + int ok = asn_INTEGER2ulong(&tmpint, &ul) == 0; + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); + if(ok) { + *native = ul; + } else { + rval.code = RC_FAIL; + return rval; + } + } else { + long l; + int ok = asn_INTEGER2long(&tmpint, &l) == 0; + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); + if(ok) { + *native = l; + } else { + rval.code = RC_FAIL; + return rval; + } + } + + return rval; +} + +/* + * Encode as Canonical OER. + */ +asn_enc_rval_t +NativeInteger_encode_oer(const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, + const void *sptr, asn_app_consume_bytes_f *cb, + void *app_key) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + INTEGER_t tmpint; + long native; + + if(!sptr) ASN__ENCODE_FAILED; + + native = *(const long *)sptr; + memset(&tmpint, 0, sizeof(tmpint)); + + ASN_DEBUG("Encoding %s %ld as NativeInteger", td ? td->name : "", native); + + if((specs && specs->field_unsigned) ? asn_ulong2INTEGER(&tmpint, native) + : asn_long2INTEGER(&tmpint, native)) { + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); + ASN__ENCODE_FAILED; + } else { + asn_enc_rval_t er = + INTEGER_encode_oer(td, constraints, &tmpint, cb, app_key); + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); + return er; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/NativeInteger_print.c b/src/tmx/Asn_J2735/src/r2024/NativeInteger_print.c new file mode 100644 index 000000000..0602e0d20 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NativeInteger_print.c @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * INTEGER specific human-readable output. + */ +int +NativeInteger_print(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + const long *native = (const long *)sptr; + char scratch[32]; /* Enough for 64-bit int */ + int ret; + + (void)td; /* Unused argument */ + (void)ilevel; /* Unused argument */ + + if(native) { + long value = *native; + ret = snprintf(scratch, sizeof(scratch), + (specs && specs->field_unsigned) ? "%lu" : "%ld", value); + assert(ret > 0 && (size_t)ret < sizeof(scratch)); + if(cb(scratch, ret, app_key) < 0) return -1; + if(specs && (value >= 0 || !specs->field_unsigned)) { + const asn_INTEGER_enum_map_t *el = + INTEGER_map_value2enum(specs, value); + if(el) { + if(cb(" (", 2, app_key) < 0) return -1; + if(cb(el->enum_name, el->enum_len, app_key) < 0) return -1; + if(cb(")", 1, app_key) < 0) return -1; + } + } + return 0; + } else { + return (cb("", 8, app_key) < 0) ? -1 : 0; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/NativeInteger_rfill.c b/src/tmx/Asn_J2735/src/r2024/NativeInteger_rfill.c new file mode 100644 index 000000000..0e2cee8e4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NativeInteger_rfill.c @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_random_fill_result_t +NativeInteger_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + long *st = *sptr; + const asn_INTEGER_enum_map_t *emap; + size_t emap_len; + intmax_t value; + int find_inside_map; + + if(max_length == 0) return result_skipped; + + if(st == NULL) { + st = (long *)CALLOC(1, sizeof(*st)); + if(st == NULL) { + return result_failed; + } + } + + if(specs) { + emap = specs->value2enum; + emap_len = specs->map_count; + if(specs->strict_enumeration) { + find_inside_map = emap_len > 0; + } else { + find_inside_map = emap_len ? asn_random_between(0, 1) : 0; + } + } else { + emap = 0; + emap_len = 0; + find_inside_map = 0; + } + + if(find_inside_map) { + assert(emap_len > 0); + value = emap[asn_random_between(0, emap_len - 1)].nat_value; + } else { + static const long variants[] = { + -65536, -65535, -65534, -32769, -32768, -32767, -16385, -16384, + -16383, -257, -256, -255, -254, -129, -128, -127, + -126, -1, 0, 1, 126, 127, 128, 129, + 254, 255, 256, 257, 16383, 16384, 16385, 32767, + 32768, 32769, 65534, 65535, 65536, 65537}; + if(specs && specs->field_unsigned) { + assert(variants[18] == 0); + value = variants[asn_random_between( + 18, sizeof(variants) / sizeof(variants[0]) - 1)]; + } else { + value = variants[asn_random_between( + 0, sizeof(variants) / sizeof(variants[0]) - 1)]; + } + + if(!constraints) constraints = &td->encoding_constraints; +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + const asn_per_constraints_t *ct; + + ct = constraints ? constraints->per_constraints : 0; + if(ct && (ct->value.flags & APC_CONSTRAINED)) { + if(value < ct->value.lower_bound || value > ct->value.upper_bound) { + value = asn_random_between(ct->value.lower_bound, + ct->value.upper_bound); + } + } +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + } + + *sptr = st; + *st = value; + return result_ok; +} diff --git a/src/tmx/Asn_J2735/src/r2024/NativeInteger_uper.c b/src/tmx/Asn_J2735/src/r2024/NativeInteger_uper.c new file mode 100644 index 000000000..4fc4ba177 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NativeInteger_uper.c @@ -0,0 +1,70 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +NativeInteger_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_dec_rval_t rval; + long *native = (long *)*sptr; + INTEGER_t tmpint; + void *tmpintptr = &tmpint; + + (void)opt_codec_ctx; + ASN_DEBUG("Decoding NativeInteger %s (UPER)", td->name); + + if(!native) { + native = (long *)(*sptr = CALLOC(1, sizeof(*native))); + if(!native) ASN__DECODE_FAILED; + } + + memset(&tmpint, 0, sizeof tmpint); + rval = INTEGER_decode_uper(opt_codec_ctx, td, constraints, + &tmpintptr, pd); + if(rval.code == RC_OK) { + if((specs&&specs->field_unsigned) + ? asn_INTEGER2ulong(&tmpint, (unsigned long *)native) + : asn_INTEGER2long(&tmpint, native)) + rval.code = RC_FAIL; + else + ASN_DEBUG("NativeInteger %s got value %ld", + td->name, *native); + } + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); + + return rval; +} + +asn_enc_rval_t +NativeInteger_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + long native; + INTEGER_t tmpint; + + if(!sptr) ASN__ENCODE_FAILED; + + native = *(const long *)sptr; + + ASN_DEBUG("Encoding NativeInteger %s %ld (UPER)", td->name, native); + + memset(&tmpint, 0, sizeof(tmpint)); + if((specs&&specs->field_unsigned) + ? asn_ulong2INTEGER(&tmpint, native) + : asn_long2INTEGER(&tmpint, native)) + ASN__ENCODE_FAILED; + er = INTEGER_encode_uper(td, constraints, &tmpint, po); + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &tmpint); + return er; +} diff --git a/src/tmx/Asn_J2735/src/r2024/NativeInteger_xer.c b/src/tmx/Asn_J2735/src/r2024/NativeInteger_xer.c new file mode 100644 index 000000000..18ec59af2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NativeInteger_xer.c @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * Decode the chunk of XML text encoding INTEGER. + */ +asn_dec_rval_t +NativeInteger_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, + size_t size) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + asn_dec_rval_t rval; + INTEGER_t st; + void *st_ptr = (void *)&st; + long *native = (long *)*sptr; + + if(!native) { + native = (long *)(*sptr = CALLOC(1, sizeof(*native))); + if(!native) ASN__DECODE_FAILED; + } + + memset(&st, 0, sizeof(st)); + rval = INTEGER_decode_xer(opt_codec_ctx, td, &st_ptr, + opt_mname, buf_ptr, size); + if(rval.code == RC_OK) { + long l; + if((specs&&specs->field_unsigned) + ? asn_INTEGER2ulong(&st, (unsigned long *)&l) /* sic */ + : asn_INTEGER2long(&st, &l)) { + rval.code = RC_FAIL; + rval.consumed = 0; + } else { + *native = l; + } + } else { + /* + * Cannot restart from the middle; + * there is no place to save state in the native type. + * Request a continuation from the very beginning. + */ + rval.consumed = 0; + } + ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF_INTEGER, &st); + return rval; +} + + +asn_enc_rval_t +NativeInteger_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const asn_INTEGER_specifics_t *specs = + (const asn_INTEGER_specifics_t *)td->specifics; + char scratch[32]; /* Enough for 64-bit int */ + asn_enc_rval_t er = {0,0,0}; + const long *native = (const long *)sptr; + + (void)ilevel; + (void)flags; + + if(!native) ASN__ENCODE_FAILED; + + er.encoded = snprintf(scratch, sizeof(scratch), + (specs && specs->field_unsigned) + ? "%lu" : "%ld", *native); + if(er.encoded <= 0 || (size_t)er.encoded >= sizeof(scratch) + || cb(scratch, er.encoded, app_key) < 0) + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LL-24B.c b/src/tmx/Asn_J2735/src/r2024/Node-LL-24B.c new file mode 100644 index 000000000..9e1c54e6d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-LL-24B.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-LL-24B.h" + +asn_TYPE_member_t asn_MBR_Node_LL_24B_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_LL_24B, lon), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lon" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_LL_24B, lat), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_LL_24B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_LL_24B_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lon */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lat */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_LL_24B_specs_1 = { + sizeof(struct Node_LL_24B), + offsetof(struct Node_LL_24B, _asn_ctx), + asn_MAP_Node_LL_24B_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_LL_24B = { + "Node-LL-24B", + "Node-LL-24B", + &asn_OP_SEQUENCE, + asn_DEF_Node_LL_24B_tags_1, + sizeof(asn_DEF_Node_LL_24B_tags_1) + /sizeof(asn_DEF_Node_LL_24B_tags_1[0]), /* 1 */ + asn_DEF_Node_LL_24B_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_LL_24B_tags_1) + /sizeof(asn_DEF_Node_LL_24B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_LL_24B_1, + 2, /* Elements count */ + &asn_SPC_Node_LL_24B_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LL-24B.h b/src/tmx/Asn_J2735/src/r2024/Node-LL-24B.h deleted file mode 100644 index 5eb41e933..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-LL-24B.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_LL_24B_H_ -#define _Node_LL_24B_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OffsetLL-B12.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-LL-24B */ -typedef struct Node_LL_24B { - OffsetLL_B12_t lon; - OffsetLL_B12_t lat; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_LL_24B_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_LL_24B; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_LL_24B_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_LL_24B_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_LL_24B_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LL-28B.c b/src/tmx/Asn_J2735/src/r2024/Node-LL-28B.c new file mode 100644 index 000000000..5212d6a68 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-LL-28B.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-LL-28B.h" + +asn_TYPE_member_t asn_MBR_Node_LL_28B_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_LL_28B, lon), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B14, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lon" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_LL_28B, lat), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B14, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_LL_28B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_LL_28B_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lon */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lat */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_LL_28B_specs_1 = { + sizeof(struct Node_LL_28B), + offsetof(struct Node_LL_28B, _asn_ctx), + asn_MAP_Node_LL_28B_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_LL_28B = { + "Node-LL-28B", + "Node-LL-28B", + &asn_OP_SEQUENCE, + asn_DEF_Node_LL_28B_tags_1, + sizeof(asn_DEF_Node_LL_28B_tags_1) + /sizeof(asn_DEF_Node_LL_28B_tags_1[0]), /* 1 */ + asn_DEF_Node_LL_28B_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_LL_28B_tags_1) + /sizeof(asn_DEF_Node_LL_28B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_LL_28B_1, + 2, /* Elements count */ + &asn_SPC_Node_LL_28B_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LL-28B.h b/src/tmx/Asn_J2735/src/r2024/Node-LL-28B.h deleted file mode 100644 index 4ced0c69e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-LL-28B.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_LL_28B_H_ -#define _Node_LL_28B_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OffsetLL-B14.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-LL-28B */ -typedef struct Node_LL_28B { - OffsetLL_B14_t lon; - OffsetLL_B14_t lat; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_LL_28B_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_LL_28B; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_LL_28B_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_LL_28B_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_LL_28B_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LL-32B.c b/src/tmx/Asn_J2735/src/r2024/Node-LL-32B.c new file mode 100644 index 000000000..df9f953ce --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-LL-32B.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-LL-32B.h" + +asn_TYPE_member_t asn_MBR_Node_LL_32B_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_LL_32B, lon), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B16, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lon" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_LL_32B, lat), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B16, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_LL_32B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_LL_32B_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lon */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lat */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_LL_32B_specs_1 = { + sizeof(struct Node_LL_32B), + offsetof(struct Node_LL_32B, _asn_ctx), + asn_MAP_Node_LL_32B_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_LL_32B = { + "Node-LL-32B", + "Node-LL-32B", + &asn_OP_SEQUENCE, + asn_DEF_Node_LL_32B_tags_1, + sizeof(asn_DEF_Node_LL_32B_tags_1) + /sizeof(asn_DEF_Node_LL_32B_tags_1[0]), /* 1 */ + asn_DEF_Node_LL_32B_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_LL_32B_tags_1) + /sizeof(asn_DEF_Node_LL_32B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_LL_32B_1, + 2, /* Elements count */ + &asn_SPC_Node_LL_32B_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LL-32B.h b/src/tmx/Asn_J2735/src/r2024/Node-LL-32B.h deleted file mode 100644 index e4630e532..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-LL-32B.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_LL_32B_H_ -#define _Node_LL_32B_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OffsetLL-B16.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-LL-32B */ -typedef struct Node_LL_32B { - OffsetLL_B16_t lon; - OffsetLL_B16_t lat; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_LL_32B_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_LL_32B; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_LL_32B_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_LL_32B_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_LL_32B_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LL-36B.c b/src/tmx/Asn_J2735/src/r2024/Node-LL-36B.c new file mode 100644 index 000000000..fde8d2cdd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-LL-36B.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-LL-36B.h" + +asn_TYPE_member_t asn_MBR_Node_LL_36B_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_LL_36B, lon), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B18, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lon" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_LL_36B, lat), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B18, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_LL_36B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_LL_36B_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lon */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lat */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_LL_36B_specs_1 = { + sizeof(struct Node_LL_36B), + offsetof(struct Node_LL_36B, _asn_ctx), + asn_MAP_Node_LL_36B_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_LL_36B = { + "Node-LL-36B", + "Node-LL-36B", + &asn_OP_SEQUENCE, + asn_DEF_Node_LL_36B_tags_1, + sizeof(asn_DEF_Node_LL_36B_tags_1) + /sizeof(asn_DEF_Node_LL_36B_tags_1[0]), /* 1 */ + asn_DEF_Node_LL_36B_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_LL_36B_tags_1) + /sizeof(asn_DEF_Node_LL_36B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_LL_36B_1, + 2, /* Elements count */ + &asn_SPC_Node_LL_36B_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LL-36B.h b/src/tmx/Asn_J2735/src/r2024/Node-LL-36B.h deleted file mode 100644 index 8dc7a8979..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-LL-36B.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_LL_36B_H_ -#define _Node_LL_36B_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OffsetLL-B18.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-LL-36B */ -typedef struct Node_LL_36B { - OffsetLL_B18_t lon; - OffsetLL_B18_t lat; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_LL_36B_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_LL_36B; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_LL_36B_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_LL_36B_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_LL_36B_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LL-44B.c b/src/tmx/Asn_J2735/src/r2024/Node-LL-44B.c new file mode 100644 index 000000000..1cb8f34a8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-LL-44B.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-LL-44B.h" + +asn_TYPE_member_t asn_MBR_Node_LL_44B_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_LL_44B, lon), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B22, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lon" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_LL_44B, lat), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B22, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_LL_44B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_LL_44B_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lon */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lat */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_LL_44B_specs_1 = { + sizeof(struct Node_LL_44B), + offsetof(struct Node_LL_44B, _asn_ctx), + asn_MAP_Node_LL_44B_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_LL_44B = { + "Node-LL-44B", + "Node-LL-44B", + &asn_OP_SEQUENCE, + asn_DEF_Node_LL_44B_tags_1, + sizeof(asn_DEF_Node_LL_44B_tags_1) + /sizeof(asn_DEF_Node_LL_44B_tags_1[0]), /* 1 */ + asn_DEF_Node_LL_44B_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_LL_44B_tags_1) + /sizeof(asn_DEF_Node_LL_44B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_LL_44B_1, + 2, /* Elements count */ + &asn_SPC_Node_LL_44B_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LL-44B.h b/src/tmx/Asn_J2735/src/r2024/Node-LL-44B.h deleted file mode 100644 index a56dee109..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-LL-44B.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_LL_44B_H_ -#define _Node_LL_44B_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OffsetLL-B22.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-LL-44B */ -typedef struct Node_LL_44B { - OffsetLL_B22_t lon; - OffsetLL_B22_t lat; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_LL_44B_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_LL_44B; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_LL_44B_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_LL_44B_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_LL_44B_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LL-48B.c b/src/tmx/Asn_J2735/src/r2024/Node-LL-48B.c new file mode 100644 index 000000000..d69f8ba32 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-LL-48B.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-LL-48B.h" + +asn_TYPE_member_t asn_MBR_Node_LL_48B_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_LL_48B, lon), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B24, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lon" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_LL_48B, lat), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B24, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_LL_48B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_LL_48B_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lon */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lat */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_LL_48B_specs_1 = { + sizeof(struct Node_LL_48B), + offsetof(struct Node_LL_48B, _asn_ctx), + asn_MAP_Node_LL_48B_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_LL_48B = { + "Node-LL-48B", + "Node-LL-48B", + &asn_OP_SEQUENCE, + asn_DEF_Node_LL_48B_tags_1, + sizeof(asn_DEF_Node_LL_48B_tags_1) + /sizeof(asn_DEF_Node_LL_48B_tags_1[0]), /* 1 */ + asn_DEF_Node_LL_48B_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_LL_48B_tags_1) + /sizeof(asn_DEF_Node_LL_48B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_LL_48B_1, + 2, /* Elements count */ + &asn_SPC_Node_LL_48B_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LL-48B.h b/src/tmx/Asn_J2735/src/r2024/Node-LL-48B.h deleted file mode 100644 index c6dce2029..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-LL-48B.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_LL_48B_H_ -#define _Node_LL_48B_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OffsetLL-B24.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-LL-48B */ -typedef struct Node_LL_48B { - OffsetLL_B24_t lon; - OffsetLL_B24_t lat; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_LL_48B_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_LL_48B; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_LL_48B_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_LL_48B_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_LL_48B_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LLdms-48b.c b/src/tmx/Asn_J2735/src/r2024/Node-LLdms-48b.c new file mode 100644 index 000000000..e17a6fc85 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-LLdms-48b.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-LLdms-48b.h" + +asn_TYPE_member_t asn_MBR_Node_LLdms_48b_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_LLdms_48b, lon), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LongitudeDMS, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lon" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_LLdms_48b, lat), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LatitudeDMS, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_LLdms_48b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_LLdms_48b_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lon */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lat */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_LLdms_48b_specs_1 = { + sizeof(struct Node_LLdms_48b), + offsetof(struct Node_LLdms_48b, _asn_ctx), + asn_MAP_Node_LLdms_48b_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_LLdms_48b = { + "Node-LLdms-48b", + "Node-LLdms-48b", + &asn_OP_SEQUENCE, + asn_DEF_Node_LLdms_48b_tags_1, + sizeof(asn_DEF_Node_LLdms_48b_tags_1) + /sizeof(asn_DEF_Node_LLdms_48b_tags_1[0]), /* 1 */ + asn_DEF_Node_LLdms_48b_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_LLdms_48b_tags_1) + /sizeof(asn_DEF_Node_LLdms_48b_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_LLdms_48b_1, + 2, /* Elements count */ + &asn_SPC_Node_LLdms_48b_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LLdms-48b.h b/src/tmx/Asn_J2735/src/r2024/Node-LLdms-48b.h deleted file mode 100644 index d1218d70e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-LLdms-48b.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_LLdms_48b_H_ -#define _Node_LLdms_48b_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LongitudeDMS.h" -#include "LatitudeDMS.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-LLdms-48b */ -typedef struct Node_LLdms_48b { - LongitudeDMS_t lon; - LatitudeDMS_t lat; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_LLdms_48b_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_LLdms_48b; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_LLdms_48b_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_LLdms_48b_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_LLdms_48b_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LLdms-80b.c b/src/tmx/Asn_J2735/src/r2024/Node-LLdms-80b.c new file mode 100644 index 000000000..47e4603e8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-LLdms-80b.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-LLdms-80b.h" + +asn_TYPE_member_t asn_MBR_Node_LLdms_80b_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_LLdms_80b, lon), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LongitudeDMS2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lon" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_LLdms_80b, lat), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LatitudeDMS2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_LLdms_80b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_LLdms_80b_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lon */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lat */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_LLdms_80b_specs_1 = { + sizeof(struct Node_LLdms_80b), + offsetof(struct Node_LLdms_80b, _asn_ctx), + asn_MAP_Node_LLdms_80b_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_LLdms_80b = { + "Node-LLdms-80b", + "Node-LLdms-80b", + &asn_OP_SEQUENCE, + asn_DEF_Node_LLdms_80b_tags_1, + sizeof(asn_DEF_Node_LLdms_80b_tags_1) + /sizeof(asn_DEF_Node_LLdms_80b_tags_1[0]), /* 1 */ + asn_DEF_Node_LLdms_80b_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_LLdms_80b_tags_1) + /sizeof(asn_DEF_Node_LLdms_80b_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_LLdms_80b_1, + 2, /* Elements count */ + &asn_SPC_Node_LLdms_80b_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LLdms-80b.h b/src/tmx/Asn_J2735/src/r2024/Node-LLdms-80b.h deleted file mode 100644 index ed54cbebc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-LLdms-80b.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_LLdms_80b_H_ -#define _Node_LLdms_80b_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LongitudeDMS2.h" -#include "LatitudeDMS2.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-LLdms-80b */ -typedef struct Node_LLdms_80b { - LongitudeDMS2_t lon; - LatitudeDMS2_t lat; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_LLdms_80b_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_LLdms_80b; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_LLdms_80b_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_LLdms_80b_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_LLdms_80b_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LLmD-64b.c b/src/tmx/Asn_J2735/src/r2024/Node-LLmD-64b.c new file mode 100644 index 000000000..27aaebeb8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-LLmD-64b.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-LLmD-64b.h" + +asn_TYPE_member_t asn_MBR_Node_LLmD_64b_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_LLmD_64b, lon), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Longitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lon" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_LLmD_64b, lat), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Latitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_LLmD_64b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_LLmD_64b_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lon */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* lat */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_LLmD_64b_specs_1 = { + sizeof(struct Node_LLmD_64b), + offsetof(struct Node_LLmD_64b, _asn_ctx), + asn_MAP_Node_LLmD_64b_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_LLmD_64b = { + "Node-LLmD-64b", + "Node-LLmD-64b", + &asn_OP_SEQUENCE, + asn_DEF_Node_LLmD_64b_tags_1, + sizeof(asn_DEF_Node_LLmD_64b_tags_1) + /sizeof(asn_DEF_Node_LLmD_64b_tags_1[0]), /* 1 */ + asn_DEF_Node_LLmD_64b_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_LLmD_64b_tags_1) + /sizeof(asn_DEF_Node_LLmD_64b_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_LLmD_64b_1, + 2, /* Elements count */ + &asn_SPC_Node_LLmD_64b_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-LLmD-64b.h b/src/tmx/Asn_J2735/src/r2024/Node-LLmD-64b.h deleted file mode 100644 index d5ddae7b1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-LLmD-64b.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_LLmD_64b_H_ -#define _Node_LLmD_64b_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_Longitude.h" -#include "Common_Latitude.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-LLmD-64b */ -typedef struct Node_LLmD_64b { - Common_Longitude_t lon; - Common_Latitude_t lat; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_LLmD_64b_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_LLmD_64b; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_LLmD_64b_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_LLmD_64b_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_LLmD_64b_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Node-XY-20b.c b/src/tmx/Asn_J2735/src/r2024/Node-XY-20b.c new file mode 100644 index 000000000..94f0be43b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-XY-20b.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-XY-20b.h" + +asn_TYPE_member_t asn_MBR_Node_XY_20b_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_XY_20b, x), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "x" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_XY_20b, y), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "y" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_XY_20b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_XY_20b_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* x */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* y */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_XY_20b_specs_1 = { + sizeof(struct Node_XY_20b), + offsetof(struct Node_XY_20b, _asn_ctx), + asn_MAP_Node_XY_20b_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_XY_20b = { + "Node-XY-20b", + "Node-XY-20b", + &asn_OP_SEQUENCE, + asn_DEF_Node_XY_20b_tags_1, + sizeof(asn_DEF_Node_XY_20b_tags_1) + /sizeof(asn_DEF_Node_XY_20b_tags_1[0]), /* 1 */ + asn_DEF_Node_XY_20b_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_XY_20b_tags_1) + /sizeof(asn_DEF_Node_XY_20b_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_XY_20b_1, + 2, /* Elements count */ + &asn_SPC_Node_XY_20b_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-XY-20b.h b/src/tmx/Asn_J2735/src/r2024/Node-XY-20b.h deleted file mode 100644 index 5f811033a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-XY-20b.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_XY_20b_H_ -#define _Node_XY_20b_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Offset-B10.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-XY-20b */ -typedef struct Node_XY_20b { - Offset_B10_t x; - Offset_B10_t y; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_XY_20b_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_XY_20b; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_XY_20b_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_XY_20b_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_XY_20b_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Node-XY-22b.c b/src/tmx/Asn_J2735/src/r2024/Node-XY-22b.c new file mode 100644 index 000000000..6023f72e4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-XY-22b.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-XY-22b.h" + +asn_TYPE_member_t asn_MBR_Node_XY_22b_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_XY_22b, x), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B11, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "x" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_XY_22b, y), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B11, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "y" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_XY_22b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_XY_22b_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* x */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* y */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_XY_22b_specs_1 = { + sizeof(struct Node_XY_22b), + offsetof(struct Node_XY_22b, _asn_ctx), + asn_MAP_Node_XY_22b_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_XY_22b = { + "Node-XY-22b", + "Node-XY-22b", + &asn_OP_SEQUENCE, + asn_DEF_Node_XY_22b_tags_1, + sizeof(asn_DEF_Node_XY_22b_tags_1) + /sizeof(asn_DEF_Node_XY_22b_tags_1[0]), /* 1 */ + asn_DEF_Node_XY_22b_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_XY_22b_tags_1) + /sizeof(asn_DEF_Node_XY_22b_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_XY_22b_1, + 2, /* Elements count */ + &asn_SPC_Node_XY_22b_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-XY-22b.h b/src/tmx/Asn_J2735/src/r2024/Node-XY-22b.h deleted file mode 100644 index 50727c629..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-XY-22b.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_XY_22b_H_ -#define _Node_XY_22b_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Offset-B11.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-XY-22b */ -typedef struct Node_XY_22b { - Offset_B11_t x; - Offset_B11_t y; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_XY_22b_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_XY_22b; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_XY_22b_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_XY_22b_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_XY_22b_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Node-XY-24b.c b/src/tmx/Asn_J2735/src/r2024/Node-XY-24b.c new file mode 100644 index 000000000..b2011a8fe --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-XY-24b.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-XY-24b.h" + +asn_TYPE_member_t asn_MBR_Node_XY_24b_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_XY_24b, x), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "x" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_XY_24b, y), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "y" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_XY_24b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_XY_24b_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* x */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* y */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_XY_24b_specs_1 = { + sizeof(struct Node_XY_24b), + offsetof(struct Node_XY_24b, _asn_ctx), + asn_MAP_Node_XY_24b_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_XY_24b = { + "Node-XY-24b", + "Node-XY-24b", + &asn_OP_SEQUENCE, + asn_DEF_Node_XY_24b_tags_1, + sizeof(asn_DEF_Node_XY_24b_tags_1) + /sizeof(asn_DEF_Node_XY_24b_tags_1[0]), /* 1 */ + asn_DEF_Node_XY_24b_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_XY_24b_tags_1) + /sizeof(asn_DEF_Node_XY_24b_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_XY_24b_1, + 2, /* Elements count */ + &asn_SPC_Node_XY_24b_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-XY-24b.h b/src/tmx/Asn_J2735/src/r2024/Node-XY-24b.h deleted file mode 100644 index cd88fe90f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-XY-24b.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_XY_24b_H_ -#define _Node_XY_24b_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Offset-B12.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-XY-24b */ -typedef struct Node_XY_24b { - Offset_B12_t x; - Offset_B12_t y; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_XY_24b_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_XY_24b; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_XY_24b_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_XY_24b_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_XY_24b_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Node-XY-26b.c b/src/tmx/Asn_J2735/src/r2024/Node-XY-26b.c new file mode 100644 index 000000000..4bb8d8368 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-XY-26b.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-XY-26b.h" + +asn_TYPE_member_t asn_MBR_Node_XY_26b_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_XY_26b, x), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B13, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "x" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_XY_26b, y), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B13, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "y" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_XY_26b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_XY_26b_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* x */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* y */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_XY_26b_specs_1 = { + sizeof(struct Node_XY_26b), + offsetof(struct Node_XY_26b, _asn_ctx), + asn_MAP_Node_XY_26b_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_XY_26b = { + "Node-XY-26b", + "Node-XY-26b", + &asn_OP_SEQUENCE, + asn_DEF_Node_XY_26b_tags_1, + sizeof(asn_DEF_Node_XY_26b_tags_1) + /sizeof(asn_DEF_Node_XY_26b_tags_1[0]), /* 1 */ + asn_DEF_Node_XY_26b_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_XY_26b_tags_1) + /sizeof(asn_DEF_Node_XY_26b_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_XY_26b_1, + 2, /* Elements count */ + &asn_SPC_Node_XY_26b_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-XY-26b.h b/src/tmx/Asn_J2735/src/r2024/Node-XY-26b.h deleted file mode 100644 index 4dade41fe..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-XY-26b.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_XY_26b_H_ -#define _Node_XY_26b_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Offset-B13.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-XY-26b */ -typedef struct Node_XY_26b { - Offset_B13_t x; - Offset_B13_t y; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_XY_26b_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_XY_26b; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_XY_26b_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_XY_26b_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_XY_26b_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Node-XY-28b.c b/src/tmx/Asn_J2735/src/r2024/Node-XY-28b.c new file mode 100644 index 000000000..efb73ea63 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-XY-28b.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-XY-28b.h" + +asn_TYPE_member_t asn_MBR_Node_XY_28b_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_XY_28b, x), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B14, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "x" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_XY_28b, y), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B14, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "y" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_XY_28b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_XY_28b_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* x */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* y */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_XY_28b_specs_1 = { + sizeof(struct Node_XY_28b), + offsetof(struct Node_XY_28b, _asn_ctx), + asn_MAP_Node_XY_28b_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_XY_28b = { + "Node-XY-28b", + "Node-XY-28b", + &asn_OP_SEQUENCE, + asn_DEF_Node_XY_28b_tags_1, + sizeof(asn_DEF_Node_XY_28b_tags_1) + /sizeof(asn_DEF_Node_XY_28b_tags_1[0]), /* 1 */ + asn_DEF_Node_XY_28b_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_XY_28b_tags_1) + /sizeof(asn_DEF_Node_XY_28b_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_XY_28b_1, + 2, /* Elements count */ + &asn_SPC_Node_XY_28b_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-XY-28b.h b/src/tmx/Asn_J2735/src/r2024/Node-XY-28b.h deleted file mode 100644 index c41706112..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-XY-28b.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_XY_28b_H_ -#define _Node_XY_28b_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Offset-B14.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-XY-28b */ -typedef struct Node_XY_28b { - Offset_B14_t x; - Offset_B14_t y; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_XY_28b_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_XY_28b; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_XY_28b_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_XY_28b_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_XY_28b_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Node-XY-32b.c b/src/tmx/Asn_J2735/src/r2024/Node-XY-32b.c new file mode 100644 index 000000000..a1384c14a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Node-XY-32b.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Node-XY-32b.h" + +asn_TYPE_member_t asn_MBR_Node_XY_32b_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Node_XY_32b, x), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B16, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "x" + }, + { ATF_NOFLAGS, 0, offsetof(struct Node_XY_32b, y), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B16, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "y" + }, +}; +static const ber_tlv_tag_t asn_DEF_Node_XY_32b_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Node_XY_32b_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* x */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* y */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Node_XY_32b_specs_1 = { + sizeof(struct Node_XY_32b), + offsetof(struct Node_XY_32b, _asn_ctx), + asn_MAP_Node_XY_32b_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Node_XY_32b = { + "Node-XY-32b", + "Node-XY-32b", + &asn_OP_SEQUENCE, + asn_DEF_Node_XY_32b_tags_1, + sizeof(asn_DEF_Node_XY_32b_tags_1) + /sizeof(asn_DEF_Node_XY_32b_tags_1[0]), /* 1 */ + asn_DEF_Node_XY_32b_tags_1, /* Same as above */ + sizeof(asn_DEF_Node_XY_32b_tags_1) + /sizeof(asn_DEF_Node_XY_32b_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Node_XY_32b_1, + 2, /* Elements count */ + &asn_SPC_Node_XY_32b_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Node-XY-32b.h b/src/tmx/Asn_J2735/src/r2024/Node-XY-32b.h deleted file mode 100644 index 1c7cd46e8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Node-XY-32b.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Node_XY_32b_H_ -#define _Node_XY_32b_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Offset-B16.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Node-XY-32b */ -typedef struct Node_XY_32b { - Offset_B16_t x; - Offset_B16_t y; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Node_XY_32b_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Node_XY_32b; -extern asn_SEQUENCE_specifics_t asn_SPC_Node_XY_32b_specs_1; -extern asn_TYPE_member_t asn_MBR_Node_XY_32b_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Node_XY_32b_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeAttributeLL.c b/src/tmx/Asn_J2735/src/r2024/NodeAttributeLL.c new file mode 100644 index 000000000..4eca3fe62 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeAttributeLL.c @@ -0,0 +1,90 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeAttributeLL.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NodeAttributeLL_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NodeAttributeLL_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 11 } /* (0..11,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_NodeAttributeLL_value2enum_1[] = { + { 0, 8, "reserved" }, + { 1, 8, "stopLine" }, + { 2, 16, "roundedCapStyleA" }, + { 3, 16, "roundedCapStyleB" }, + { 4, 10, "mergePoint" }, + { 5, 12, "divergePoint" }, + { 6, 18, "downstreamStopLine" }, + { 7, 19, "downstreamStartNode" }, + { 8, 15, "closedToTraffic" }, + { 9, 10, "safeIsland" }, + { 10, 20, "curbPresentAtStepOff" }, + { 11, 14, "hydrantPresent" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_NodeAttributeLL_enum2value_1[] = { + 8, /* closedToTraffic(8) */ + 10, /* curbPresentAtStepOff(10) */ + 5, /* divergePoint(5) */ + 7, /* downstreamStartNode(7) */ + 6, /* downstreamStopLine(6) */ + 11, /* hydrantPresent(11) */ + 4, /* mergePoint(4) */ + 0, /* reserved(0) */ + 2, /* roundedCapStyleA(2) */ + 3, /* roundedCapStyleB(3) */ + 9, /* safeIsland(9) */ + 1 /* stopLine(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_NodeAttributeLL_specs_1 = { + asn_MAP_NodeAttributeLL_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_NodeAttributeLL_enum2value_1, /* N => "tag"; sorted by N */ + 12, /* Number of elements in the maps */ + 13, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NodeAttributeLL_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NodeAttributeLL = { + "NodeAttributeLL", + "NodeAttributeLL", + &asn_OP_NativeEnumerated, + asn_DEF_NodeAttributeLL_tags_1, + sizeof(asn_DEF_NodeAttributeLL_tags_1) + /sizeof(asn_DEF_NodeAttributeLL_tags_1[0]), /* 1 */ + asn_DEF_NodeAttributeLL_tags_1, /* Same as above */ + sizeof(asn_DEF_NodeAttributeLL_tags_1) + /sizeof(asn_DEF_NodeAttributeLL_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NodeAttributeLL_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NodeAttributeLL_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NodeAttributeLL_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeAttributeLL.h b/src/tmx/Asn_J2735/src/r2024/NodeAttributeLL.h deleted file mode 100644 index 366ac118e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeAttributeLL.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeAttributeLL_H_ -#define _NodeAttributeLL_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NodeAttributeLL { - NodeAttributeLL_reserved = 0, - NodeAttributeLL_stopLine = 1, - NodeAttributeLL_roundedCapStyleA = 2, - NodeAttributeLL_roundedCapStyleB = 3, - NodeAttributeLL_mergePoint = 4, - NodeAttributeLL_divergePoint = 5, - NodeAttributeLL_downstreamStopLine = 6, - NodeAttributeLL_downstreamStartNode = 7, - NodeAttributeLL_closedToTraffic = 8, - NodeAttributeLL_safeIsland = 9, - NodeAttributeLL_curbPresentAtStepOff = 10, - NodeAttributeLL_hydrantPresent = 11 - /* - * Enumeration is extensible - */ -} e_NodeAttributeLL; - -/* NodeAttributeLL */ -typedef long NodeAttributeLL_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NodeAttributeLL_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NodeAttributeLL; -extern const asn_INTEGER_specifics_t asn_SPC_NodeAttributeLL_specs_1; -asn_struct_free_f NodeAttributeLL_free; -asn_struct_print_f NodeAttributeLL_print; -asn_constr_check_f NodeAttributeLL_constraint; -ber_type_decoder_f NodeAttributeLL_decode_ber; -der_type_encoder_f NodeAttributeLL_encode_der; -xer_type_decoder_f NodeAttributeLL_decode_xer; -xer_type_encoder_f NodeAttributeLL_encode_xer; -oer_type_decoder_f NodeAttributeLL_decode_oer; -oer_type_encoder_f NodeAttributeLL_encode_oer; -per_type_decoder_f NodeAttributeLL_decode_uper; -per_type_encoder_f NodeAttributeLL_encode_uper; -per_type_decoder_f NodeAttributeLL_decode_aper; -per_type_encoder_f NodeAttributeLL_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NodeAttributeLL_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeAttributeLLList.c b/src/tmx/Asn_J2735/src/r2024/NodeAttributeLLList.c new file mode 100644 index 000000000..e9888a1ed --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeAttributeLLList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeAttributeLLList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NodeAttributeLLList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NodeAttributeLLList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_NodeAttributeLLList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_NodeAttributeLL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_NodeAttributeLLList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_NodeAttributeLLList_specs_1 = { + sizeof(struct NodeAttributeLLList), + offsetof(struct NodeAttributeLLList, _asn_ctx), + 1, /* XER encoding is XMLValueList */ +}; +asn_TYPE_descriptor_t asn_DEF_NodeAttributeLLList = { + "NodeAttributeLLList", + "NodeAttributeLLList", + &asn_OP_SEQUENCE_OF, + asn_DEF_NodeAttributeLLList_tags_1, + sizeof(asn_DEF_NodeAttributeLLList_tags_1) + /sizeof(asn_DEF_NodeAttributeLLList_tags_1[0]), /* 1 */ + asn_DEF_NodeAttributeLLList_tags_1, /* Same as above */ + sizeof(asn_DEF_NodeAttributeLLList_tags_1) + /sizeof(asn_DEF_NodeAttributeLLList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NodeAttributeLLList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NodeAttributeLLList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_NodeAttributeLLList_1, + 1, /* Single element */ + &asn_SPC_NodeAttributeLLList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeAttributeLLList.h b/src/tmx/Asn_J2735/src/r2024/NodeAttributeLLList.h deleted file mode 100644 index 029650ea9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeAttributeLLList.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeAttributeLLList_H_ -#define _NodeAttributeLLList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NodeAttributeLL.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NodeAttributeLLList */ -typedef struct NodeAttributeLLList { - A_SEQUENCE_OF(NodeAttributeLL_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NodeAttributeLLList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NodeAttributeLLList; -extern asn_SET_OF_specifics_t asn_SPC_NodeAttributeLLList_specs_1; -extern asn_TYPE_member_t asn_MBR_NodeAttributeLLList_1[1]; -extern asn_per_constraints_t asn_PER_type_NodeAttributeLLList_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _NodeAttributeLLList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeAttributeSetLL.c b/src/tmx/Asn_J2735/src/r2024/NodeAttributeSetLL.c new file mode 100644 index 000000000..86a33fe0a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeAttributeSetLL.c @@ -0,0 +1,279 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeAttributeSetLL.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_8 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_8 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_8[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_NodeAttributeSetLL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_8[] = { + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_8 = { + sizeof(struct NodeAttributeSetLL__regional), + offsetof(struct NodeAttributeSetLL__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_8 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_8, + sizeof(asn_DEF_regional_tags_8) + /sizeof(asn_DEF_regional_tags_8[0]) - 1, /* 1 */ + asn_DEF_regional_tags_8, /* Same as above */ + sizeof(asn_DEF_regional_tags_8) + /sizeof(asn_DEF_regional_tags_8[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_8, + 1, /* Single element */ + &asn_SPC_regional_specs_8 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_NodeAttributeSetLL_1[] = { + { ATF_POINTER, 7, offsetof(struct NodeAttributeSetLL, localNode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NodeAttributeLLList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "localNode" + }, + { ATF_POINTER, 6, offsetof(struct NodeAttributeSetLL, disabled), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SegmentAttributeLLList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "disabled" + }, + { ATF_POINTER, 5, offsetof(struct NodeAttributeSetLL, enabled), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SegmentAttributeLLList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "enabled" + }, + { ATF_POINTER, 4, offsetof(struct NodeAttributeSetLL, data), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneDataAttributeList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "data" + }, + { ATF_POINTER, 3, offsetof(struct NodeAttributeSetLL, dWidth), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dWidth" + }, + { ATF_POINTER, 2, offsetof(struct NodeAttributeSetLL, dElevation), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dElevation" + }, + { ATF_POINTER, 1, offsetof(struct NodeAttributeSetLL, regional), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + 0, + &asn_DEF_regional_8, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_NodeAttributeSetLL_oms_1[] = { 0, 1, 2, 3, 4, 5, 6 }; +static const ber_tlv_tag_t asn_DEF_NodeAttributeSetLL_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NodeAttributeSetLL_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* localNode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* disabled */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* enabled */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* data */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* dWidth */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* dElevation */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NodeAttributeSetLL_specs_1 = { + sizeof(struct NodeAttributeSetLL), + offsetof(struct NodeAttributeSetLL, _asn_ctx), + asn_MAP_NodeAttributeSetLL_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_NodeAttributeSetLL_oms_1, /* Optional members */ + 7, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NodeAttributeSetLL = { + "NodeAttributeSetLL", + "NodeAttributeSetLL", + &asn_OP_SEQUENCE, + asn_DEF_NodeAttributeSetLL_tags_1, + sizeof(asn_DEF_NodeAttributeSetLL_tags_1) + /sizeof(asn_DEF_NodeAttributeSetLL_tags_1[0]), /* 1 */ + asn_DEF_NodeAttributeSetLL_tags_1, /* Same as above */ + sizeof(asn_DEF_NodeAttributeSetLL_tags_1) + /sizeof(asn_DEF_NodeAttributeSetLL_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NodeAttributeSetLL_1, + 7, /* Elements count */ + &asn_SPC_NodeAttributeSetLL_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeAttributeSetLL.h b/src/tmx/Asn_J2735/src/r2024/NodeAttributeSetLL.h deleted file mode 100644 index 534110728..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeAttributeSetLL.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeAttributeSetLL_H_ -#define _NodeAttributeSetLL_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Offset-B10.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct NodeAttributeLLList; -struct SegmentAttributeLLList; -struct LaneDataAttributeList; -struct Reg_NodeAttributeSetLL; - -/* NodeAttributeSetLL */ -typedef struct NodeAttributeSetLL { - struct NodeAttributeLLList *localNode; /* OPTIONAL */ - struct SegmentAttributeLLList *disabled; /* OPTIONAL */ - struct SegmentAttributeLLList *enabled; /* OPTIONAL */ - struct LaneDataAttributeList *data; /* OPTIONAL */ - Offset_B10_t *dWidth; /* OPTIONAL */ - Offset_B10_t *dElevation; /* OPTIONAL */ - struct NodeAttributeSetLL__regional { - A_SEQUENCE_OF(struct Reg_NodeAttributeSetLL) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NodeAttributeSetLL_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NodeAttributeSetLL; -extern asn_SEQUENCE_specifics_t asn_SPC_NodeAttributeSetLL_specs_1; -extern asn_TYPE_member_t asn_MBR_NodeAttributeSetLL_1[7]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "NodeAttributeLLList.h" -#include "SegmentAttributeLLList.h" -#include "LaneDataAttributeList.h" -#include "RegionalExtension.h" - -#endif /* _NodeAttributeSetLL_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeAttributeSetXY.c b/src/tmx/Asn_J2735/src/r2024/NodeAttributeSetXY.c new file mode 100644 index 000000000..7f891bd3b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeAttributeSetXY.c @@ -0,0 +1,279 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeAttributeSetXY.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_8 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_8 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_8[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_NodeAttributeSetXY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_8[] = { + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_8 = { + sizeof(struct NodeAttributeSetXY__regional), + offsetof(struct NodeAttributeSetXY__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_8 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_8, + sizeof(asn_DEF_regional_tags_8) + /sizeof(asn_DEF_regional_tags_8[0]) - 1, /* 1 */ + asn_DEF_regional_tags_8, /* Same as above */ + sizeof(asn_DEF_regional_tags_8) + /sizeof(asn_DEF_regional_tags_8[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_8, + 1, /* Single element */ + &asn_SPC_regional_specs_8 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_NodeAttributeSetXY_1[] = { + { ATF_POINTER, 7, offsetof(struct NodeAttributeSetXY, localNode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NodeAttributeXYList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "localNode" + }, + { ATF_POINTER, 6, offsetof(struct NodeAttributeSetXY, disabled), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SegmentAttributeXYList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "disabled" + }, + { ATF_POINTER, 5, offsetof(struct NodeAttributeSetXY, enabled), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SegmentAttributeXYList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "enabled" + }, + { ATF_POINTER, 4, offsetof(struct NodeAttributeSetXY, data), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneDataAttributeList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "data" + }, + { ATF_POINTER, 3, offsetof(struct NodeAttributeSetXY, dWidth), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dWidth" + }, + { ATF_POINTER, 2, offsetof(struct NodeAttributeSetXY, dElevation), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dElevation" + }, + { ATF_POINTER, 1, offsetof(struct NodeAttributeSetXY, regional), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + 0, + &asn_DEF_regional_8, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_NodeAttributeSetXY_oms_1[] = { 0, 1, 2, 3, 4, 5, 6 }; +static const ber_tlv_tag_t asn_DEF_NodeAttributeSetXY_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NodeAttributeSetXY_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* localNode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* disabled */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* enabled */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* data */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* dWidth */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* dElevation */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NodeAttributeSetXY_specs_1 = { + sizeof(struct NodeAttributeSetXY), + offsetof(struct NodeAttributeSetXY, _asn_ctx), + asn_MAP_NodeAttributeSetXY_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_NodeAttributeSetXY_oms_1, /* Optional members */ + 7, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NodeAttributeSetXY = { + "NodeAttributeSetXY", + "NodeAttributeSetXY", + &asn_OP_SEQUENCE, + asn_DEF_NodeAttributeSetXY_tags_1, + sizeof(asn_DEF_NodeAttributeSetXY_tags_1) + /sizeof(asn_DEF_NodeAttributeSetXY_tags_1[0]), /* 1 */ + asn_DEF_NodeAttributeSetXY_tags_1, /* Same as above */ + sizeof(asn_DEF_NodeAttributeSetXY_tags_1) + /sizeof(asn_DEF_NodeAttributeSetXY_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NodeAttributeSetXY_1, + 7, /* Elements count */ + &asn_SPC_NodeAttributeSetXY_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeAttributeSetXY.h b/src/tmx/Asn_J2735/src/r2024/NodeAttributeSetXY.h deleted file mode 100644 index 0b27b66cc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeAttributeSetXY.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeAttributeSetXY_H_ -#define _NodeAttributeSetXY_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Offset-B10.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct NodeAttributeXYList; -struct SegmentAttributeXYList; -struct LaneDataAttributeList; -struct Reg_NodeAttributeSetXY; - -/* NodeAttributeSetXY */ -typedef struct NodeAttributeSetXY { - struct NodeAttributeXYList *localNode; /* OPTIONAL */ - struct SegmentAttributeXYList *disabled; /* OPTIONAL */ - struct SegmentAttributeXYList *enabled; /* OPTIONAL */ - struct LaneDataAttributeList *data; /* OPTIONAL */ - Offset_B10_t *dWidth; /* OPTIONAL */ - Offset_B10_t *dElevation; /* OPTIONAL */ - struct NodeAttributeSetXY__regional { - A_SEQUENCE_OF(struct Reg_NodeAttributeSetXY) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NodeAttributeSetXY_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NodeAttributeSetXY; -extern asn_SEQUENCE_specifics_t asn_SPC_NodeAttributeSetXY_specs_1; -extern asn_TYPE_member_t asn_MBR_NodeAttributeSetXY_1[7]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "NodeAttributeXYList.h" -#include "SegmentAttributeXYList.h" -#include "LaneDataAttributeList.h" -#include "RegionalExtension.h" - -#endif /* _NodeAttributeSetXY_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeAttributeXY.c b/src/tmx/Asn_J2735/src/r2024/NodeAttributeXY.c new file mode 100644 index 000000000..73e6f433b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeAttributeXY.c @@ -0,0 +1,90 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeAttributeXY.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NodeAttributeXY_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NodeAttributeXY_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 11 } /* (0..11,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_NodeAttributeXY_value2enum_1[] = { + { 0, 8, "reserved" }, + { 1, 8, "stopLine" }, + { 2, 16, "roundedCapStyleA" }, + { 3, 16, "roundedCapStyleB" }, + { 4, 10, "mergePoint" }, + { 5, 12, "divergePoint" }, + { 6, 18, "downstreamStopLine" }, + { 7, 19, "downstreamStartNode" }, + { 8, 15, "closedToTraffic" }, + { 9, 10, "safeIsland" }, + { 10, 20, "curbPresentAtStepOff" }, + { 11, 14, "hydrantPresent" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_NodeAttributeXY_enum2value_1[] = { + 8, /* closedToTraffic(8) */ + 10, /* curbPresentAtStepOff(10) */ + 5, /* divergePoint(5) */ + 7, /* downstreamStartNode(7) */ + 6, /* downstreamStopLine(6) */ + 11, /* hydrantPresent(11) */ + 4, /* mergePoint(4) */ + 0, /* reserved(0) */ + 2, /* roundedCapStyleA(2) */ + 3, /* roundedCapStyleB(3) */ + 9, /* safeIsland(9) */ + 1 /* stopLine(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_NodeAttributeXY_specs_1 = { + asn_MAP_NodeAttributeXY_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_NodeAttributeXY_enum2value_1, /* N => "tag"; sorted by N */ + 12, /* Number of elements in the maps */ + 13, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NodeAttributeXY_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NodeAttributeXY = { + "NodeAttributeXY", + "NodeAttributeXY", + &asn_OP_NativeEnumerated, + asn_DEF_NodeAttributeXY_tags_1, + sizeof(asn_DEF_NodeAttributeXY_tags_1) + /sizeof(asn_DEF_NodeAttributeXY_tags_1[0]), /* 1 */ + asn_DEF_NodeAttributeXY_tags_1, /* Same as above */ + sizeof(asn_DEF_NodeAttributeXY_tags_1) + /sizeof(asn_DEF_NodeAttributeXY_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NodeAttributeXY_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NodeAttributeXY_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NodeAttributeXY_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeAttributeXY.h b/src/tmx/Asn_J2735/src/r2024/NodeAttributeXY.h deleted file mode 100644 index 8006129c3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeAttributeXY.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeAttributeXY_H_ -#define _NodeAttributeXY_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NodeAttributeXY { - NodeAttributeXY_reserved = 0, - NodeAttributeXY_stopLine = 1, - NodeAttributeXY_roundedCapStyleA = 2, - NodeAttributeXY_roundedCapStyleB = 3, - NodeAttributeXY_mergePoint = 4, - NodeAttributeXY_divergePoint = 5, - NodeAttributeXY_downstreamStopLine = 6, - NodeAttributeXY_downstreamStartNode = 7, - NodeAttributeXY_closedToTraffic = 8, - NodeAttributeXY_safeIsland = 9, - NodeAttributeXY_curbPresentAtStepOff = 10, - NodeAttributeXY_hydrantPresent = 11 - /* - * Enumeration is extensible - */ -} e_NodeAttributeXY; - -/* NodeAttributeXY */ -typedef long NodeAttributeXY_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NodeAttributeXY_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NodeAttributeXY; -extern const asn_INTEGER_specifics_t asn_SPC_NodeAttributeXY_specs_1; -asn_struct_free_f NodeAttributeXY_free; -asn_struct_print_f NodeAttributeXY_print; -asn_constr_check_f NodeAttributeXY_constraint; -ber_type_decoder_f NodeAttributeXY_decode_ber; -der_type_encoder_f NodeAttributeXY_encode_der; -xer_type_decoder_f NodeAttributeXY_decode_xer; -xer_type_encoder_f NodeAttributeXY_encode_xer; -oer_type_decoder_f NodeAttributeXY_decode_oer; -oer_type_encoder_f NodeAttributeXY_encode_oer; -per_type_decoder_f NodeAttributeXY_decode_uper; -per_type_encoder_f NodeAttributeXY_encode_uper; -per_type_decoder_f NodeAttributeXY_decode_aper; -per_type_encoder_f NodeAttributeXY_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NodeAttributeXY_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeAttributeXYList.c b/src/tmx/Asn_J2735/src/r2024/NodeAttributeXYList.c new file mode 100644 index 000000000..eed607210 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeAttributeXYList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeAttributeXYList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NodeAttributeXYList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NodeAttributeXYList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_NodeAttributeXYList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_NodeAttributeXY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_NodeAttributeXYList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_NodeAttributeXYList_specs_1 = { + sizeof(struct NodeAttributeXYList), + offsetof(struct NodeAttributeXYList, _asn_ctx), + 1, /* XER encoding is XMLValueList */ +}; +asn_TYPE_descriptor_t asn_DEF_NodeAttributeXYList = { + "NodeAttributeXYList", + "NodeAttributeXYList", + &asn_OP_SEQUENCE_OF, + asn_DEF_NodeAttributeXYList_tags_1, + sizeof(asn_DEF_NodeAttributeXYList_tags_1) + /sizeof(asn_DEF_NodeAttributeXYList_tags_1[0]), /* 1 */ + asn_DEF_NodeAttributeXYList_tags_1, /* Same as above */ + sizeof(asn_DEF_NodeAttributeXYList_tags_1) + /sizeof(asn_DEF_NodeAttributeXYList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NodeAttributeXYList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NodeAttributeXYList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_NodeAttributeXYList_1, + 1, /* Single element */ + &asn_SPC_NodeAttributeXYList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeAttributeXYList.h b/src/tmx/Asn_J2735/src/r2024/NodeAttributeXYList.h deleted file mode 100644 index fe1e26960..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeAttributeXYList.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeAttributeXYList_H_ -#define _NodeAttributeXYList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NodeAttributeXY.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NodeAttributeXYList */ -typedef struct NodeAttributeXYList { - A_SEQUENCE_OF(NodeAttributeXY_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NodeAttributeXYList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NodeAttributeXYList; -extern asn_SET_OF_specifics_t asn_SPC_NodeAttributeXYList_specs_1; -extern asn_TYPE_member_t asn_MBR_NodeAttributeXYList_1[1]; -extern asn_per_constraints_t asn_PER_type_NodeAttributeXYList_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _NodeAttributeXYList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeLL.c b/src/tmx/Asn_J2735/src/r2024/NodeLL.c new file mode 100644 index 000000000..ca62caed8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeLL.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeLL.h" + +asn_TYPE_member_t asn_MBR_NodeLL_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NodeLL, delta), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_NodeOffsetPointLL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "delta" + }, + { ATF_POINTER, 1, offsetof(struct NodeLL, attributes), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NodeAttributeSetLL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "attributes" + }, +}; +static const int asn_MAP_NodeLL_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_NodeLL_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NodeLL_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* delta */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* attributes */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NodeLL_specs_1 = { + sizeof(struct NodeLL), + offsetof(struct NodeLL, _asn_ctx), + asn_MAP_NodeLL_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_NodeLL_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NodeLL = { + "NodeLL", + "NodeLL", + &asn_OP_SEQUENCE, + asn_DEF_NodeLL_tags_1, + sizeof(asn_DEF_NodeLL_tags_1) + /sizeof(asn_DEF_NodeLL_tags_1[0]), /* 1 */ + asn_DEF_NodeLL_tags_1, /* Same as above */ + sizeof(asn_DEF_NodeLL_tags_1) + /sizeof(asn_DEF_NodeLL_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NodeLL_1, + 2, /* Elements count */ + &asn_SPC_NodeLL_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeLL.h b/src/tmx/Asn_J2735/src/r2024/NodeLL.h deleted file mode 100644 index 184592146..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeLL.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeLL_H_ -#define _NodeLL_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NodeOffsetPointLL.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct NodeAttributeSetLL; - -/* NodeLL */ -typedef struct NodeLL { - NodeOffsetPointLL_t delta; - struct NodeAttributeSetLL *attributes; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NodeLL_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NodeLL; -extern asn_SEQUENCE_specifics_t asn_SPC_NodeLL_specs_1; -extern asn_TYPE_member_t asn_MBR_NodeLL_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "NodeAttributeSetLL.h" - -#endif /* _NodeLL_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeListLL.c b/src/tmx/Asn_J2735/src/r2024/NodeListLL.c new file mode 100644 index 000000000..aa23f16c4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeListLL.c @@ -0,0 +1,75 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeListLL.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NodeListLL_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NodeListLL_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_NodeListLL_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NodeListLL, choice.nodes), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NodeSetLL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "nodes" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_NodeListLL_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* nodes */ +}; +asn_CHOICE_specifics_t asn_SPC_NodeListLL_specs_1 = { + sizeof(struct NodeListLL), + offsetof(struct NodeListLL, _asn_ctx), + offsetof(struct NodeListLL, present), + sizeof(((struct NodeListLL *)0)->present), + asn_MAP_NodeListLL_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, + 1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_NodeListLL = { + "NodeListLL", + "NodeListLL", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NodeListLL_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NodeListLL_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_NodeListLL_1, + 1, /* Elements count */ + &asn_SPC_NodeListLL_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeListLL.h b/src/tmx/Asn_J2735/src/r2024/NodeListLL.h deleted file mode 100644 index 60e216ba9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeListLL.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeListLL_H_ -#define _NodeListLL_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NodeSetLL.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NodeListLL_PR { - NodeListLL_PR_NOTHING, /* No components present */ - NodeListLL_PR_nodes - /* Extensions may appear below */ - -} NodeListLL_PR; - -/* NodeListLL */ -typedef struct NodeListLL { - NodeListLL_PR present; - union NodeListLL_u { - NodeSetLL_t nodes; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NodeListLL_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NodeListLL; -extern asn_CHOICE_specifics_t asn_SPC_NodeListLL_specs_1; -extern asn_TYPE_member_t asn_MBR_NodeListLL_1[1]; -extern asn_per_constraints_t asn_PER_type_NodeListLL_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _NodeListLL_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeListXY.c b/src/tmx/Asn_J2735/src/r2024/NodeListXY.c new file mode 100644 index 000000000..abb336f44 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeListXY.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeListXY.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NodeListXY_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NodeListXY_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_NodeListXY_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NodeListXY, choice.nodes), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NodeSetXY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "nodes" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeListXY, choice.computed), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ComputedLane, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "computed" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_NodeListXY_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* nodes */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* computed */ +}; +asn_CHOICE_specifics_t asn_SPC_NodeListXY_specs_1 = { + sizeof(struct NodeListXY), + offsetof(struct NodeListXY, _asn_ctx), + offsetof(struct NodeListXY, present), + sizeof(((struct NodeListXY *)0)->present), + asn_MAP_NodeListXY_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_NodeListXY = { + "NodeListXY", + "NodeListXY", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NodeListXY_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NodeListXY_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_NodeListXY_1, + 2, /* Elements count */ + &asn_SPC_NodeListXY_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeListXY.h b/src/tmx/Asn_J2735/src/r2024/NodeListXY.h deleted file mode 100644 index 700f32821..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeListXY.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeListXY_H_ -#define _NodeListXY_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NodeSetXY.h" -#include "ComputedLane.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NodeListXY_PR { - NodeListXY_PR_NOTHING, /* No components present */ - NodeListXY_PR_nodes, - NodeListXY_PR_computed - /* Extensions may appear below */ - -} NodeListXY_PR; - -/* NodeListXY */ -typedef struct NodeListXY { - NodeListXY_PR present; - union NodeListXY_u { - NodeSetXY_t nodes; - ComputedLane_t computed; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NodeListXY_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NodeListXY; -extern asn_CHOICE_specifics_t asn_SPC_NodeListXY_specs_1; -extern asn_TYPE_member_t asn_MBR_NodeListXY_1[2]; -extern asn_per_constraints_t asn_PER_type_NodeListXY_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _NodeListXY_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointLL.c b/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointLL.c new file mode 100644 index 000000000..0768465ee --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointLL.c @@ -0,0 +1,201 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeOffsetPointLL.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NodeOffsetPointLL_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NodeOffsetPointLL_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_NodeOffsetPointLL_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointLL, choice.node_LL1), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_LL_24B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-LL1" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointLL, choice.node_LL2), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_LL_28B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-LL2" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointLL, choice.node_LL3), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_LL_32B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-LL3" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointLL, choice.node_LL4), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_LL_36B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-LL4" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointLL, choice.node_LL5), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_LL_44B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-LL5" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointLL, choice.node_LL6), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_LL_48B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-LL6" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointLL, choice.node_LatLon), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_LLmD_64b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-LatLon" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointLL, choice.regional), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_NodeOffsetPointLL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_NodeOffsetPointLL_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* node-LL1 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* node-LL2 */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* node-LL3 */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* node-LL4 */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* node-LL5 */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* node-LL6 */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* node-LatLon */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* regional */ +}; +asn_CHOICE_specifics_t asn_SPC_NodeOffsetPointLL_specs_1 = { + sizeof(struct NodeOffsetPointLL), + offsetof(struct NodeOffsetPointLL, _asn_ctx), + offsetof(struct NodeOffsetPointLL, present), + sizeof(((struct NodeOffsetPointLL *)0)->present), + asn_MAP_NodeOffsetPointLL_tag2el_1, + 8, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_NodeOffsetPointLL = { + "NodeOffsetPointLL", + "NodeOffsetPointLL", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NodeOffsetPointLL_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NodeOffsetPointLL_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_NodeOffsetPointLL_1, + 8, /* Elements count */ + &asn_SPC_NodeOffsetPointLL_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointLL.h b/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointLL.h deleted file mode 100644 index d529298f9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointLL.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeOffsetPointLL_H_ -#define _NodeOffsetPointLL_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Node-LL-24B.h" -#include "Node-LL-28B.h" -#include "Node-LL-32B.h" -#include "Node-LL-36B.h" -#include "Node-LL-44B.h" -#include "Node-LL-48B.h" -#include "Node-LLmD-64b.h" -#include "RegionalExtension.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NodeOffsetPointLL_PR { - NodeOffsetPointLL_PR_NOTHING, /* No components present */ - NodeOffsetPointLL_PR_node_LL1, - NodeOffsetPointLL_PR_node_LL2, - NodeOffsetPointLL_PR_node_LL3, - NodeOffsetPointLL_PR_node_LL4, - NodeOffsetPointLL_PR_node_LL5, - NodeOffsetPointLL_PR_node_LL6, - NodeOffsetPointLL_PR_node_LatLon, - NodeOffsetPointLL_PR_regional -} NodeOffsetPointLL_PR; - -/* NodeOffsetPointLL */ -typedef struct NodeOffsetPointLL { - NodeOffsetPointLL_PR present; - union NodeOffsetPointLL_u { - Node_LL_24B_t node_LL1; - Node_LL_28B_t node_LL2; - Node_LL_32B_t node_LL3; - Node_LL_36B_t node_LL4; - Node_LL_44B_t node_LL5; - Node_LL_48B_t node_LL6; - Node_LLmD_64b_t node_LatLon; - Reg_NodeOffsetPointLL_t regional; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NodeOffsetPointLL_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NodeOffsetPointLL; -extern asn_CHOICE_specifics_t asn_SPC_NodeOffsetPointLL_specs_1; -extern asn_TYPE_member_t asn_MBR_NodeOffsetPointLL_1[8]; -extern asn_per_constraints_t asn_PER_type_NodeOffsetPointLL_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _NodeOffsetPointLL_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY-addGrpB.c b/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY-addGrpB.c new file mode 100644 index 000000000..87a74d099 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY-addGrpB.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeOffsetPointXY-addGrpB.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NodeOffsetPointXY_addGrpB_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NodeOffsetPointXY_addGrpB_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_NodeOffsetPointXY_addGrpB_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointXY_addGrpB, choice.posA), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_LLdms_48b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "posA" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointXY_addGrpB, choice.posB), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_LLdms_80b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "posB" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_NodeOffsetPointXY_addGrpB_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* posA */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* posB */ +}; +asn_CHOICE_specifics_t asn_SPC_NodeOffsetPointXY_addGrpB_specs_1 = { + sizeof(struct NodeOffsetPointXY_addGrpB), + offsetof(struct NodeOffsetPointXY_addGrpB, _asn_ctx), + offsetof(struct NodeOffsetPointXY_addGrpB, present), + sizeof(((struct NodeOffsetPointXY_addGrpB *)0)->present), + asn_MAP_NodeOffsetPointXY_addGrpB_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_NodeOffsetPointXY_addGrpB = { + "NodeOffsetPointXY-addGrpB", + "NodeOffsetPointXY-addGrpB", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NodeOffsetPointXY_addGrpB_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NodeOffsetPointXY_addGrpB_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_NodeOffsetPointXY_addGrpB_1, + 2, /* Elements count */ + &asn_SPC_NodeOffsetPointXY_addGrpB_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY-addGrpB.h b/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY-addGrpB.h deleted file mode 100644 index 40d8e3e0c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY-addGrpB.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeOffsetPointXY_addGrpB_H_ -#define _NodeOffsetPointXY_addGrpB_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Node-LLdms-48b.h" -#include "Node-LLdms-80b.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NodeOffsetPointXY_addGrpB_PR { - NodeOffsetPointXY_addGrpB_PR_NOTHING, /* No components present */ - NodeOffsetPointXY_addGrpB_PR_posA, - NodeOffsetPointXY_addGrpB_PR_posB - /* Extensions may appear below */ - -} NodeOffsetPointXY_addGrpB_PR; - -/* NodeOffsetPointXY-addGrpB */ -typedef struct NodeOffsetPointXY_addGrpB { - NodeOffsetPointXY_addGrpB_PR present; - union NodeOffsetPointXY_addGrpB_u { - Node_LLdms_48b_t posA; - Node_LLdms_80b_t posB; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NodeOffsetPointXY_addGrpB_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NodeOffsetPointXY_addGrpB; -extern asn_CHOICE_specifics_t asn_SPC_NodeOffsetPointXY_addGrpB_specs_1; -extern asn_TYPE_member_t asn_MBR_NodeOffsetPointXY_addGrpB_1[2]; -extern asn_per_constraints_t asn_PER_type_NodeOffsetPointXY_addGrpB_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _NodeOffsetPointXY_addGrpB_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY.c b/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY.c new file mode 100644 index 000000000..e9ba9b9f4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY.c @@ -0,0 +1,201 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeOffsetPointXY.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NodeOffsetPointXY_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NodeOffsetPointXY_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_NodeOffsetPointXY_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointXY, choice.node_XY1), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_XY_20b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-XY1" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointXY, choice.node_XY2), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_XY_22b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-XY2" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointXY, choice.node_XY3), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_XY_24b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-XY3" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointXY, choice.node_XY4), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_XY_26b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-XY4" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointXY, choice.node_XY5), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_XY_28b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-XY5" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointXY, choice.node_XY6), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_XY_32b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-XY6" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointXY, choice.node_LatLon), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_LLmD_64b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-LatLon" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodeOffsetPointXY, choice.regional), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_NodeOffsetPointXY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_NodeOffsetPointXY_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* node-XY1 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* node-XY2 */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* node-XY3 */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* node-XY4 */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* node-XY5 */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* node-XY6 */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* node-LatLon */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* regional */ +}; +asn_CHOICE_specifics_t asn_SPC_NodeOffsetPointXY_specs_1 = { + sizeof(struct NodeOffsetPointXY), + offsetof(struct NodeOffsetPointXY, _asn_ctx), + offsetof(struct NodeOffsetPointXY, present), + sizeof(((struct NodeOffsetPointXY *)0)->present), + asn_MAP_NodeOffsetPointXY_tag2el_1, + 8, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_NodeOffsetPointXY = { + "NodeOffsetPointXY", + "NodeOffsetPointXY", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NodeOffsetPointXY_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NodeOffsetPointXY_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_NodeOffsetPointXY_1, + 8, /* Elements count */ + &asn_SPC_NodeOffsetPointXY_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY.h b/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY.h deleted file mode 100644 index 484fea058..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeOffsetPointXY.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeOffsetPointXY_H_ -#define _NodeOffsetPointXY_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Node-XY-20b.h" -#include "Node-XY-22b.h" -#include "Node-XY-24b.h" -#include "Node-XY-26b.h" -#include "Node-XY-28b.h" -#include "Node-XY-32b.h" -#include "Node-LLmD-64b.h" -#include "RegionalExtension.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NodeOffsetPointXY_PR { - NodeOffsetPointXY_PR_NOTHING, /* No components present */ - NodeOffsetPointXY_PR_node_XY1, - NodeOffsetPointXY_PR_node_XY2, - NodeOffsetPointXY_PR_node_XY3, - NodeOffsetPointXY_PR_node_XY4, - NodeOffsetPointXY_PR_node_XY5, - NodeOffsetPointXY_PR_node_XY6, - NodeOffsetPointXY_PR_node_LatLon, - NodeOffsetPointXY_PR_regional -} NodeOffsetPointXY_PR; - -/* NodeOffsetPointXY */ -typedef struct NodeOffsetPointXY { - NodeOffsetPointXY_PR present; - union NodeOffsetPointXY_u { - Node_XY_20b_t node_XY1; - Node_XY_22b_t node_XY2; - Node_XY_24b_t node_XY3; - Node_XY_26b_t node_XY4; - Node_XY_28b_t node_XY5; - Node_XY_32b_t node_XY6; - Node_LLmD_64b_t node_LatLon; - Reg_NodeOffsetPointXY_t regional; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NodeOffsetPointXY_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NodeOffsetPointXY; -extern asn_CHOICE_specifics_t asn_SPC_NodeOffsetPointXY_specs_1; -extern asn_TYPE_member_t asn_MBR_NodeOffsetPointXY_1[8]; -extern asn_per_constraints_t asn_PER_type_NodeOffsetPointXY_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _NodeOffsetPointXY_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodePointLLE.c b/src/tmx/Asn_J2735/src/r2024/NodePointLLE.c new file mode 100644 index 000000000..22956f27e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodePointLLE.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodePointLLE.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NodePointLLE_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NodePointLLE_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_NodePointLLE_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NodePointLLE, choice.node_3Dabsolute), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-3Dabsolute" + }, + { ATF_NOFLAGS, 0, offsetof(struct NodePointLLE, choice.node_3Doffset), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node-3Doffset" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_NodePointLLE_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* node-3Dabsolute */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* node-3Doffset */ +}; +asn_CHOICE_specifics_t asn_SPC_NodePointLLE_specs_1 = { + sizeof(struct NodePointLLE), + offsetof(struct NodePointLLE, _asn_ctx), + offsetof(struct NodePointLLE, present), + sizeof(((struct NodePointLLE *)0)->present), + asn_MAP_NodePointLLE_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_NodePointLLE = { + "NodePointLLE", + "NodePointLLE", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NodePointLLE_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NodePointLLE_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_NodePointLLE_1, + 2, /* Elements count */ + &asn_SPC_NodePointLLE_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodePointLLE.h b/src/tmx/Asn_J2735/src/r2024/NodePointLLE.h deleted file mode 100644 index 8ad823eee..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodePointLLE.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodePointLLE_H_ -#define _NodePointLLE_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Position3D.h" -#include "Offset3D.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NodePointLLE_PR { - NodePointLLE_PR_NOTHING, /* No components present */ - NodePointLLE_PR_node_3Dabsolute, - NodePointLLE_PR_node_3Doffset - /* Extensions may appear below */ - -} NodePointLLE_PR; - -/* NodePointLLE */ -typedef struct NodePointLLE { - NodePointLLE_PR present; - union NodePointLLE_u { - Position3D_t node_3Dabsolute; - Offset3D_t node_3Doffset; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NodePointLLE_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NodePointLLE; -extern asn_CHOICE_specifics_t asn_SPC_NodePointLLE_specs_1; -extern asn_TYPE_member_t asn_MBR_NodePointLLE_1[2]; -extern asn_per_constraints_t asn_PER_type_NodePointLLE_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _NodePointLLE_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeSetLL.c b/src/tmx/Asn_J2735/src/r2024/NodeSetLL.c new file mode 100644 index 000000000..2338903d0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeSetLL.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeSetLL.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NodeSetLL_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(2..63)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NodeSetLL_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 2, 63 } /* (SIZE(2..63)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_NodeSetLL_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NodeLL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_NodeSetLL_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_NodeSetLL_specs_1 = { + sizeof(struct NodeSetLL), + offsetof(struct NodeSetLL, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_NodeSetLL = { + "NodeSetLL", + "NodeSetLL", + &asn_OP_SEQUENCE_OF, + asn_DEF_NodeSetLL_tags_1, + sizeof(asn_DEF_NodeSetLL_tags_1) + /sizeof(asn_DEF_NodeSetLL_tags_1[0]), /* 1 */ + asn_DEF_NodeSetLL_tags_1, /* Same as above */ + sizeof(asn_DEF_NodeSetLL_tags_1) + /sizeof(asn_DEF_NodeSetLL_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NodeSetLL_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NodeSetLL_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_NodeSetLL_1, + 1, /* Single element */ + &asn_SPC_NodeSetLL_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeSetLL.h b/src/tmx/Asn_J2735/src/r2024/NodeSetLL.h deleted file mode 100644 index 302e7b65e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeSetLL.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeSetLL_H_ -#define _NodeSetLL_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct NodeLL; - -/* NodeSetLL */ -typedef struct NodeSetLL { - A_SEQUENCE_OF(struct NodeLL) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NodeSetLL_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NodeSetLL; -extern asn_SET_OF_specifics_t asn_SPC_NodeSetLL_specs_1; -extern asn_TYPE_member_t asn_MBR_NodeSetLL_1[1]; -extern asn_per_constraints_t asn_PER_type_NodeSetLL_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "NodeLL.h" - -#endif /* _NodeSetLL_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeSetXY.c b/src/tmx/Asn_J2735/src/r2024/NodeSetXY.c new file mode 100644 index 000000000..3a70fa5a4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeSetXY.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeSetXY.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NodeSetXY_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(2..63)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NodeSetXY_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 2, 63 } /* (SIZE(2..63)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_NodeSetXY_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NodeXY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_NodeSetXY_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_NodeSetXY_specs_1 = { + sizeof(struct NodeSetXY), + offsetof(struct NodeSetXY, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_NodeSetXY = { + "NodeSetXY", + "NodeSetXY", + &asn_OP_SEQUENCE_OF, + asn_DEF_NodeSetXY_tags_1, + sizeof(asn_DEF_NodeSetXY_tags_1) + /sizeof(asn_DEF_NodeSetXY_tags_1[0]), /* 1 */ + asn_DEF_NodeSetXY_tags_1, /* Same as above */ + sizeof(asn_DEF_NodeSetXY_tags_1) + /sizeof(asn_DEF_NodeSetXY_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NodeSetXY_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NodeSetXY_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_NodeSetXY_1, + 1, /* Single element */ + &asn_SPC_NodeSetXY_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeSetXY.h b/src/tmx/Asn_J2735/src/r2024/NodeSetXY.h deleted file mode 100644 index fbdc52689..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeSetXY.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeSetXY_H_ -#define _NodeSetXY_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct NodeXY; - -/* NodeSetXY */ -typedef struct NodeSetXY { - A_SEQUENCE_OF(struct NodeXY) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NodeSetXY_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NodeSetXY; -extern asn_SET_OF_specifics_t asn_SPC_NodeSetXY_specs_1; -extern asn_TYPE_member_t asn_MBR_NodeSetXY_1[1]; -extern asn_per_constraints_t asn_PER_type_NodeSetXY_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "NodeXY.h" - -#endif /* _NodeSetXY_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NodeXY.c b/src/tmx/Asn_J2735/src/r2024/NodeXY.c new file mode 100644 index 000000000..58fbccdfe --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NodeXY.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NodeXY.h" + +asn_TYPE_member_t asn_MBR_NodeXY_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NodeXY, delta), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_NodeOffsetPointXY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "delta" + }, + { ATF_POINTER, 1, offsetof(struct NodeXY, attributes), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NodeAttributeSetXY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "attributes" + }, +}; +static const int asn_MAP_NodeXY_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_NodeXY_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NodeXY_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* delta */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* attributes */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NodeXY_specs_1 = { + sizeof(struct NodeXY), + offsetof(struct NodeXY, _asn_ctx), + asn_MAP_NodeXY_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_NodeXY_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NodeXY = { + "NodeXY", + "NodeXY", + &asn_OP_SEQUENCE, + asn_DEF_NodeXY_tags_1, + sizeof(asn_DEF_NodeXY_tags_1) + /sizeof(asn_DEF_NodeXY_tags_1[0]), /* 1 */ + asn_DEF_NodeXY_tags_1, /* Same as above */ + sizeof(asn_DEF_NodeXY_tags_1) + /sizeof(asn_DEF_NodeXY_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NodeXY_1, + 2, /* Elements count */ + &asn_SPC_NodeXY_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NodeXY.h b/src/tmx/Asn_J2735/src/r2024/NodeXY.h deleted file mode 100644 index 2bf4f1923..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NodeXY.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NodeXY_H_ -#define _NodeXY_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NodeOffsetPointXY.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct NodeAttributeSetXY; - -/* NodeXY */ -typedef struct NodeXY { - NodeOffsetPointXY_t delta; - struct NodeAttributeSetXY *attributes; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NodeXY_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NodeXY; -extern asn_SEQUENCE_specifics_t asn_SPC_NodeXY_specs_1; -extern asn_TYPE_member_t asn_MBR_NodeXY_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "NodeAttributeSetXY.h" - -#endif /* _NodeXY_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipAirTemperature.c b/src/tmx/Asn_J2735/src/r2024/NtcipAirTemperature.c new file mode 100644 index 000000000..ca0e60af7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NtcipAirTemperature.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NtcipAirTemperature.h" + +asn_TYPE_member_t asn_MBR_NtcipAirTemperature_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NtcipAirTemperature, temperature), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssAirTemperature, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "temperature" + }, + { ATF_POINTER, 2, offsetof(struct NtcipAirTemperature, measurementStdDev), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemperatureMeasurementStdDev, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "measurementStdDev" + }, + { ATF_POINTER, 1, offsetof(struct NtcipAirTemperature, tempSensorHeight), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssTemperatureSensorHeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tempSensorHeight" + }, +}; +static const int asn_MAP_NtcipAirTemperature_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_NtcipAirTemperature_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NtcipAirTemperature_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* temperature */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* measurementStdDev */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* tempSensorHeight */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NtcipAirTemperature_specs_1 = { + sizeof(struct NtcipAirTemperature), + offsetof(struct NtcipAirTemperature, _asn_ctx), + asn_MAP_NtcipAirTemperature_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_NtcipAirTemperature_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NtcipAirTemperature = { + "NtcipAirTemperature", + "NtcipAirTemperature", + &asn_OP_SEQUENCE, + asn_DEF_NtcipAirTemperature_tags_1, + sizeof(asn_DEF_NtcipAirTemperature_tags_1) + /sizeof(asn_DEF_NtcipAirTemperature_tags_1[0]), /* 1 */ + asn_DEF_NtcipAirTemperature_tags_1, /* Same as above */ + sizeof(asn_DEF_NtcipAirTemperature_tags_1) + /sizeof(asn_DEF_NtcipAirTemperature_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NtcipAirTemperature_1, + 3, /* Elements count */ + &asn_SPC_NtcipAirTemperature_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipAirTemperature.h b/src/tmx/Asn_J2735/src/r2024/NtcipAirTemperature.h deleted file mode 100644 index e00de4a4f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NtcipAirTemperature.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NtcipAirTemperature_H_ -#define _NtcipAirTemperature_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NTCIPEssAirTemperature.h" -#include "TemperatureMeasurementStdDev.h" -#include "NTCIPEssTemperatureSensorHeight.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NtcipAirTemperature */ -typedef struct NtcipAirTemperature { - NTCIPEssAirTemperature_t temperature; - TemperatureMeasurementStdDev_t *measurementStdDev; /* OPTIONAL */ - NTCIPEssTemperatureSensorHeight_t *tempSensorHeight; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NtcipAirTemperature_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NtcipAirTemperature; -extern asn_SEQUENCE_specifics_t asn_SPC_NtcipAirTemperature_specs_1; -extern asn_TYPE_member_t asn_MBR_NtcipAirTemperature_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _NtcipAirTemperature_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipAtmosphericPressure.c b/src/tmx/Asn_J2735/src/r2024/NtcipAtmosphericPressure.c new file mode 100644 index 000000000..a3709edf2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NtcipAtmosphericPressure.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NtcipAtmosphericPressure.h" + +asn_TYPE_member_t asn_MBR_NtcipAtmosphericPressure_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NtcipAtmosphericPressure, pressure), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssPressureSensorAtmosphericPressure, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pressure" + }, + { ATF_POINTER, 1, offsetof(struct NtcipAtmosphericPressure, measurementStdDev), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AtmosPressureMeasurementStdDev, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "measurementStdDev" + }, +}; +static const int asn_MAP_NtcipAtmosphericPressure_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_NtcipAtmosphericPressure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NtcipAtmosphericPressure_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pressure */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measurementStdDev */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NtcipAtmosphericPressure_specs_1 = { + sizeof(struct NtcipAtmosphericPressure), + offsetof(struct NtcipAtmosphericPressure, _asn_ctx), + asn_MAP_NtcipAtmosphericPressure_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_NtcipAtmosphericPressure_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NtcipAtmosphericPressure = { + "NtcipAtmosphericPressure", + "NtcipAtmosphericPressure", + &asn_OP_SEQUENCE, + asn_DEF_NtcipAtmosphericPressure_tags_1, + sizeof(asn_DEF_NtcipAtmosphericPressure_tags_1) + /sizeof(asn_DEF_NtcipAtmosphericPressure_tags_1[0]), /* 1 */ + asn_DEF_NtcipAtmosphericPressure_tags_1, /* Same as above */ + sizeof(asn_DEF_NtcipAtmosphericPressure_tags_1) + /sizeof(asn_DEF_NtcipAtmosphericPressure_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NtcipAtmosphericPressure_1, + 2, /* Elements count */ + &asn_SPC_NtcipAtmosphericPressure_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipAtmosphericPressure.h b/src/tmx/Asn_J2735/src/r2024/NtcipAtmosphericPressure.h deleted file mode 100644 index c2cece650..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NtcipAtmosphericPressure.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NtcipAtmosphericPressure_H_ -#define _NtcipAtmosphericPressure_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NTCIPEssPressureSensorAtmosphericPressure.h" -#include "AtmosPressureMeasurementStdDev.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NtcipAtmosphericPressure */ -typedef struct NtcipAtmosphericPressure { - NTCIPEssPressureSensorAtmosphericPressure_t pressure; - AtmosPressureMeasurementStdDev_t *measurementStdDev; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NtcipAtmosphericPressure_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NtcipAtmosphericPressure; -extern asn_SEQUENCE_specifics_t asn_SPC_NtcipAtmosphericPressure_specs_1; -extern asn_TYPE_member_t asn_MBR_NtcipAtmosphericPressure_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _NtcipAtmosphericPressure_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipCloudSituation.c b/src/tmx/Asn_J2735/src/r2024/NtcipCloudSituation.c new file mode 100644 index 000000000..000d36872 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NtcipCloudSituation.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NtcipCloudSituation.h" + +asn_TYPE_member_t asn_MBR_NtcipCloudSituation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NtcipCloudSituation, situation), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssCloudSituationV4, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "situation" + }, +}; +static const ber_tlv_tag_t asn_DEF_NtcipCloudSituation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NtcipCloudSituation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* situation */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NtcipCloudSituation_specs_1 = { + sizeof(struct NtcipCloudSituation), + offsetof(struct NtcipCloudSituation, _asn_ctx), + asn_MAP_NtcipCloudSituation_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NtcipCloudSituation = { + "NtcipCloudSituation", + "NtcipCloudSituation", + &asn_OP_SEQUENCE, + asn_DEF_NtcipCloudSituation_tags_1, + sizeof(asn_DEF_NtcipCloudSituation_tags_1) + /sizeof(asn_DEF_NtcipCloudSituation_tags_1[0]), /* 1 */ + asn_DEF_NtcipCloudSituation_tags_1, /* Same as above */ + sizeof(asn_DEF_NtcipCloudSituation_tags_1) + /sizeof(asn_DEF_NtcipCloudSituation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NtcipCloudSituation_1, + 1, /* Elements count */ + &asn_SPC_NtcipCloudSituation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipCloudSituation.h b/src/tmx/Asn_J2735/src/r2024/NtcipCloudSituation.h deleted file mode 100644 index eed964a07..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NtcipCloudSituation.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NtcipCloudSituation_H_ -#define _NtcipCloudSituation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NTCIPEssCloudSituationV4.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NtcipCloudSituation */ -typedef struct NtcipCloudSituation { - NTCIPEssCloudSituationV4_t situation; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NtcipCloudSituation_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NtcipCloudSituation; -extern asn_SEQUENCE_specifics_t asn_SPC_NtcipCloudSituation_specs_1; -extern asn_TYPE_member_t asn_MBR_NtcipCloudSituation_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _NtcipCloudSituation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipDewPoint.c b/src/tmx/Asn_J2735/src/r2024/NtcipDewPoint.c new file mode 100644 index 000000000..a5caa9bc7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NtcipDewPoint.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NtcipDewPoint.h" + +asn_TYPE_member_t asn_MBR_NtcipDewPoint_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NtcipDewPoint, dewTemp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssDewpointTemp, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dewTemp" + }, + { ATF_POINTER, 2, offsetof(struct NtcipDewPoint, source), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DataSourceInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "source" + }, + { ATF_POINTER, 1, offsetof(struct NtcipDewPoint, measurementStdDev), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DewPointTempMeasurementStdDev, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "measurementStdDev" + }, +}; +static const int asn_MAP_NtcipDewPoint_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_NtcipDewPoint_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NtcipDewPoint_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* dewTemp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* source */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* measurementStdDev */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NtcipDewPoint_specs_1 = { + sizeof(struct NtcipDewPoint), + offsetof(struct NtcipDewPoint, _asn_ctx), + asn_MAP_NtcipDewPoint_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_NtcipDewPoint_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NtcipDewPoint = { + "NtcipDewPoint", + "NtcipDewPoint", + &asn_OP_SEQUENCE, + asn_DEF_NtcipDewPoint_tags_1, + sizeof(asn_DEF_NtcipDewPoint_tags_1) + /sizeof(asn_DEF_NtcipDewPoint_tags_1[0]), /* 1 */ + asn_DEF_NtcipDewPoint_tags_1, /* Same as above */ + sizeof(asn_DEF_NtcipDewPoint_tags_1) + /sizeof(asn_DEF_NtcipDewPoint_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NtcipDewPoint_1, + 3, /* Elements count */ + &asn_SPC_NtcipDewPoint_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipDewPoint.h b/src/tmx/Asn_J2735/src/r2024/NtcipDewPoint.h deleted file mode 100644 index 0bfeb2676..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NtcipDewPoint.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NtcipDewPoint_H_ -#define _NtcipDewPoint_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NTCIPEssDewpointTemp.h" -#include "DataSourceInfo.h" -#include "DewPointTempMeasurementStdDev.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NtcipDewPoint */ -typedef struct NtcipDewPoint { - NTCIPEssDewpointTemp_t dewTemp; - DataSourceInfo_t *source; /* OPTIONAL */ - DewPointTempMeasurementStdDev_t *measurementStdDev; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NtcipDewPoint_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NtcipDewPoint; -extern asn_SEQUENCE_specifics_t asn_SPC_NtcipDewPoint_specs_1; -extern asn_TYPE_member_t asn_MBR_NtcipDewPoint_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _NtcipDewPoint_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipEssData.c b/src/tmx/Asn_J2735/src/r2024/NtcipEssData.c new file mode 100644 index 000000000..739ac4ebd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NtcipEssData.c @@ -0,0 +1,248 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NtcipEssData.h" + +asn_TYPE_member_t asn_MBR_NtcipEssData_1[] = { + { ATF_POINTER, 11, offsetof(struct NtcipEssData, airTemp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NtcipAirTemperature, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "airTemp" + }, + { ATF_POINTER, 10, offsetof(struct NtcipEssData, atmosphere), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NtcipAtmosphericPressure, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "atmosphere" + }, + { ATF_POINTER, 9, offsetof(struct NtcipEssData, wind), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NtcipWind, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wind" + }, + { ATF_POINTER, 8, offsetof(struct NtcipEssData, humidity), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NtcipRelativeHumidity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "humidity" + }, + { ATF_POINTER, 7, offsetof(struct NtcipEssData, dewpoint), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NtcipDewPoint, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dewpoint" + }, + { ATF_POINTER, 6, offsetof(struct NtcipEssData, pavement), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NtcipPavement, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pavement" + }, + { ATF_POINTER, 5, offsetof(struct NtcipEssData, visibility), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NtcipVisibility, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "visibility" + }, + { ATF_POINTER, 4, offsetof(struct NtcipEssData, visSituation), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NtcipVisibilitySituation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "visSituation" + }, + { ATF_POINTER, 3, offsetof(struct NtcipEssData, cloudSitiation), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NtcipCloudSituation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "cloudSitiation" + }, + { ATF_POINTER, 2, offsetof(struct NtcipEssData, precipitation), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NtcipPrecipitation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "precipitation" + }, + { ATF_POINTER, 1, offsetof(struct NtcipEssData, solarRadiation), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NtcipSolarRadiation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "solarRadiation" + }, +}; +static const int asn_MAP_NtcipEssData_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; +static const ber_tlv_tag_t asn_DEF_NtcipEssData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NtcipEssData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* airTemp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* atmosphere */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* wind */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* humidity */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* dewpoint */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* pavement */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* visibility */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* visSituation */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* cloudSitiation */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* precipitation */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 } /* solarRadiation */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NtcipEssData_specs_1 = { + sizeof(struct NtcipEssData), + offsetof(struct NtcipEssData, _asn_ctx), + asn_MAP_NtcipEssData_tag2el_1, + 11, /* Count of tags in the map */ + asn_MAP_NtcipEssData_oms_1, /* Optional members */ + 11, 0, /* Root/Additions */ + 11, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NtcipEssData = { + "NtcipEssData", + "NtcipEssData", + &asn_OP_SEQUENCE, + asn_DEF_NtcipEssData_tags_1, + sizeof(asn_DEF_NtcipEssData_tags_1) + /sizeof(asn_DEF_NtcipEssData_tags_1[0]), /* 1 */ + asn_DEF_NtcipEssData_tags_1, /* Same as above */ + sizeof(asn_DEF_NtcipEssData_tags_1) + /sizeof(asn_DEF_NtcipEssData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NtcipEssData_1, + 11, /* Elements count */ + &asn_SPC_NtcipEssData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipEssData.h b/src/tmx/Asn_J2735/src/r2024/NtcipEssData.h deleted file mode 100644 index 51ab48cae..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NtcipEssData.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NtcipEssData_H_ -#define _NtcipEssData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct NtcipAirTemperature; -struct NtcipAtmosphericPressure; -struct NtcipWind; -struct NtcipRelativeHumidity; -struct NtcipDewPoint; -struct NtcipPavement; -struct NtcipVisibility; -struct NtcipVisibilitySituation; -struct NtcipCloudSituation; -struct NtcipPrecipitation; -struct NtcipSolarRadiation; - -/* NtcipEssData */ -typedef struct NtcipEssData { - struct NtcipAirTemperature *airTemp; /* OPTIONAL */ - struct NtcipAtmosphericPressure *atmosphere; /* OPTIONAL */ - struct NtcipWind *wind; /* OPTIONAL */ - struct NtcipRelativeHumidity *humidity; /* OPTIONAL */ - struct NtcipDewPoint *dewpoint; /* OPTIONAL */ - struct NtcipPavement *pavement; /* OPTIONAL */ - struct NtcipVisibility *visibility; /* OPTIONAL */ - struct NtcipVisibilitySituation *visSituation; /* OPTIONAL */ - struct NtcipCloudSituation *cloudSitiation; /* OPTIONAL */ - struct NtcipPrecipitation *precipitation; /* OPTIONAL */ - struct NtcipSolarRadiation *solarRadiation; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NtcipEssData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NtcipEssData; -extern asn_SEQUENCE_specifics_t asn_SPC_NtcipEssData_specs_1; -extern asn_TYPE_member_t asn_MBR_NtcipEssData_1[11]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "NtcipAirTemperature.h" -#include "NtcipAtmosphericPressure.h" -#include "NtcipWind.h" -#include "NtcipRelativeHumidity.h" -#include "NtcipDewPoint.h" -#include "NtcipPavement.h" -#include "NtcipVisibility.h" -#include "NtcipVisibilitySituation.h" -#include "NtcipCloudSituation.h" -#include "NtcipPrecipitation.h" -#include "NtcipSolarRadiation.h" - -#endif /* _NtcipEssData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipPavement.c b/src/tmx/Asn_J2735/src/r2024/NtcipPavement.c new file mode 100644 index 000000000..9684f78e0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NtcipPavement.c @@ -0,0 +1,140 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NtcipPavement.h" + +asn_TYPE_member_t asn_MBR_NtcipPavement_1[] = { + { ATF_POINTER, 5, offsetof(struct NtcipPavement, surfaceTemp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssSurfaceTemperature, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "surfaceTemp" + }, + { ATF_POINTER, 4, offsetof(struct NtcipPavement, tempStdDev), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SurfaceTempMeasurementStdDev, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tempStdDev" + }, + { ATF_POINTER, 3, offsetof(struct NtcipPavement, condition), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPPavementSensorSurfaceCondition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "condition" + }, + { ATF_POINTER, 2, offsetof(struct NtcipPavement, moistureDepth), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssSurfaceIceOrWaterDepth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "moistureDepth" + }, + { ATF_POINTER, 1, offsetof(struct NtcipPavement, roadRoughness), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadRoughness, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadRoughness" + }, +}; +static const int asn_MAP_NtcipPavement_oms_1[] = { 0, 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_NtcipPavement_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NtcipPavement_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* surfaceTemp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tempStdDev */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* condition */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* moistureDepth */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* roadRoughness */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NtcipPavement_specs_1 = { + sizeof(struct NtcipPavement), + offsetof(struct NtcipPavement, _asn_ctx), + asn_MAP_NtcipPavement_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_NtcipPavement_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NtcipPavement = { + "NtcipPavement", + "NtcipPavement", + &asn_OP_SEQUENCE, + asn_DEF_NtcipPavement_tags_1, + sizeof(asn_DEF_NtcipPavement_tags_1) + /sizeof(asn_DEF_NtcipPavement_tags_1[0]), /* 1 */ + asn_DEF_NtcipPavement_tags_1, /* Same as above */ + sizeof(asn_DEF_NtcipPavement_tags_1) + /sizeof(asn_DEF_NtcipPavement_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NtcipPavement_1, + 5, /* Elements count */ + &asn_SPC_NtcipPavement_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipPavement.h b/src/tmx/Asn_J2735/src/r2024/NtcipPavement.h deleted file mode 100644 index 452a42203..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NtcipPavement.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NtcipPavement_H_ -#define _NtcipPavement_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NTCIPEssSurfaceTemperature.h" -#include "SurfaceTempMeasurementStdDev.h" -#include "NTCIPPavementSensorSurfaceCondition.h" -#include "NTCIPEssSurfaceIceOrWaterDepth.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RoadRoughness; - -/* NtcipPavement */ -typedef struct NtcipPavement { - NTCIPEssSurfaceTemperature_t *surfaceTemp; /* OPTIONAL */ - SurfaceTempMeasurementStdDev_t *tempStdDev; /* OPTIONAL */ - NTCIPPavementSensorSurfaceCondition_t *condition; /* OPTIONAL */ - NTCIPEssSurfaceIceOrWaterDepth_t *moistureDepth; /* OPTIONAL */ - struct RoadRoughness *roadRoughness; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NtcipPavement_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NtcipPavement; -extern asn_SEQUENCE_specifics_t asn_SPC_NtcipPavement_specs_1; -extern asn_TYPE_member_t asn_MBR_NtcipPavement_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RoadRoughness.h" - -#endif /* _NtcipPavement_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipPavementTreatment.c b/src/tmx/Asn_J2735/src/r2024/NtcipPavementTreatment.c new file mode 100644 index 000000000..86eaea7cd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NtcipPavementTreatment.c @@ -0,0 +1,194 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NtcipPavementTreatment.h" + +asn_TYPE_member_t asn_MBR_NtcipPavementTreatment_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NtcipPavementTreatment, latitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssPavementTreatmentLatitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "latitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct NtcipPavementTreatment, longitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssPavementTreatmentLongitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct NtcipPavementTreatment, location), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssPavementTreatmentLocation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "location" + }, + { ATF_POINTER, 5, offsetof(struct NtcipPavementTreatment, productType), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssPaveTreatProductType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "productType" + }, + { ATF_POINTER, 4, offsetof(struct NtcipPavementTreatment, form), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssPaveTreatProductForm, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "form" + }, + { ATF_POINTER, 3, offsetof(struct NtcipPavementTreatment, percentage), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssPercentProductMix, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "percentage" + }, + { ATF_POINTER, 2, offsetof(struct NtcipPavementTreatment, amount), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssPaveTreatmentAmount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "amount" + }, + { ATF_POINTER, 1, offsetof(struct NtcipPavementTreatment, width), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssPaveTreatmentWidth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "width" + }, +}; +static const int asn_MAP_NtcipPavementTreatment_oms_1[] = { 3, 4, 5, 6, 7 }; +static const ber_tlv_tag_t asn_DEF_NtcipPavementTreatment_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NtcipPavementTreatment_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* latitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* longitude */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* location */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* productType */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* form */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* percentage */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* amount */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* width */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NtcipPavementTreatment_specs_1 = { + sizeof(struct NtcipPavementTreatment), + offsetof(struct NtcipPavementTreatment, _asn_ctx), + asn_MAP_NtcipPavementTreatment_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_NtcipPavementTreatment_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 8, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NtcipPavementTreatment = { + "NtcipPavementTreatment", + "NtcipPavementTreatment", + &asn_OP_SEQUENCE, + asn_DEF_NtcipPavementTreatment_tags_1, + sizeof(asn_DEF_NtcipPavementTreatment_tags_1) + /sizeof(asn_DEF_NtcipPavementTreatment_tags_1[0]), /* 1 */ + asn_DEF_NtcipPavementTreatment_tags_1, /* Same as above */ + sizeof(asn_DEF_NtcipPavementTreatment_tags_1) + /sizeof(asn_DEF_NtcipPavementTreatment_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NtcipPavementTreatment_1, + 8, /* Elements count */ + &asn_SPC_NtcipPavementTreatment_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipPavementTreatment.h b/src/tmx/Asn_J2735/src/r2024/NtcipPavementTreatment.h deleted file mode 100644 index 8ad884482..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NtcipPavementTreatment.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NtcipPavementTreatment_H_ -#define _NtcipPavementTreatment_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NTCIPEssPavementTreatmentLatitude.h" -#include "NTCIPEssPavementTreatmentLongitude.h" -#include "NTCIPEssPavementTreatmentLocation.h" -#include "NTCIPEssPaveTreatProductType.h" -#include "NTCIPEssPaveTreatProductForm.h" -#include "NTCIPEssPercentProductMix.h" -#include "NTCIPEssPaveTreatmentAmount.h" -#include "NTCIPEssPaveTreatmentWidth.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NtcipPavementTreatment */ -typedef struct NtcipPavementTreatment { - NTCIPEssPavementTreatmentLatitude_t latitude; - NTCIPEssPavementTreatmentLongitude_t longitude; - NTCIPEssPavementTreatmentLocation_t location; - NTCIPEssPaveTreatProductType_t *productType; /* OPTIONAL */ - NTCIPEssPaveTreatProductForm_t *form; /* OPTIONAL */ - NTCIPEssPercentProductMix_t *percentage; /* OPTIONAL */ - NTCIPEssPaveTreatmentAmount_t *amount; /* OPTIONAL */ - NTCIPEssPaveTreatmentWidth_t *width; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NtcipPavementTreatment_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NtcipPavementTreatment; -extern asn_SEQUENCE_specifics_t asn_SPC_NtcipPavementTreatment_specs_1; -extern asn_TYPE_member_t asn_MBR_NtcipPavementTreatment_1[8]; - -#ifdef __cplusplus -} -#endif - -#endif /* _NtcipPavementTreatment_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipPrecipitation.c b/src/tmx/Asn_J2735/src/r2024/NtcipPrecipitation.c new file mode 100644 index 000000000..8faf6c509 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NtcipPrecipitation.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NtcipPrecipitation.h" + +asn_TYPE_member_t asn_MBR_NtcipPrecipitation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NtcipPrecipitation, precipitation), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPPrecipitationSensorPrecipSituation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "precipitation" + }, +}; +static const ber_tlv_tag_t asn_DEF_NtcipPrecipitation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NtcipPrecipitation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* precipitation */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NtcipPrecipitation_specs_1 = { + sizeof(struct NtcipPrecipitation), + offsetof(struct NtcipPrecipitation, _asn_ctx), + asn_MAP_NtcipPrecipitation_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NtcipPrecipitation = { + "NtcipPrecipitation", + "NtcipPrecipitation", + &asn_OP_SEQUENCE, + asn_DEF_NtcipPrecipitation_tags_1, + sizeof(asn_DEF_NtcipPrecipitation_tags_1) + /sizeof(asn_DEF_NtcipPrecipitation_tags_1[0]), /* 1 */ + asn_DEF_NtcipPrecipitation_tags_1, /* Same as above */ + sizeof(asn_DEF_NtcipPrecipitation_tags_1) + /sizeof(asn_DEF_NtcipPrecipitation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NtcipPrecipitation_1, + 1, /* Elements count */ + &asn_SPC_NtcipPrecipitation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipPrecipitation.h b/src/tmx/Asn_J2735/src/r2024/NtcipPrecipitation.h deleted file mode 100644 index 204ef259f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NtcipPrecipitation.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NtcipPrecipitation_H_ -#define _NtcipPrecipitation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NTCIPPrecipitationSensorPrecipSituation.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NtcipPrecipitation */ -typedef struct NtcipPrecipitation { - NTCIPPrecipitationSensorPrecipSituation_t precipitation; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NtcipPrecipitation_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NtcipPrecipitation; -extern asn_SEQUENCE_specifics_t asn_SPC_NtcipPrecipitation_specs_1; -extern asn_TYPE_member_t asn_MBR_NtcipPrecipitation_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _NtcipPrecipitation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipRelativeHumidity.c b/src/tmx/Asn_J2735/src/r2024/NtcipRelativeHumidity.c new file mode 100644 index 000000000..645c5abc8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NtcipRelativeHumidity.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NtcipRelativeHumidity.h" + +asn_TYPE_member_t asn_MBR_NtcipRelativeHumidity_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NtcipRelativeHumidity, relHumidity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPHumiditySensorRelativeHumidity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "relHumidity" + }, + { ATF_POINTER, 1, offsetof(struct NtcipRelativeHumidity, source), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DataSourceInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "source" + }, +}; +static const int asn_MAP_NtcipRelativeHumidity_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_NtcipRelativeHumidity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NtcipRelativeHumidity_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* relHumidity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* source */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NtcipRelativeHumidity_specs_1 = { + sizeof(struct NtcipRelativeHumidity), + offsetof(struct NtcipRelativeHumidity, _asn_ctx), + asn_MAP_NtcipRelativeHumidity_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_NtcipRelativeHumidity_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NtcipRelativeHumidity = { + "NtcipRelativeHumidity", + "NtcipRelativeHumidity", + &asn_OP_SEQUENCE, + asn_DEF_NtcipRelativeHumidity_tags_1, + sizeof(asn_DEF_NtcipRelativeHumidity_tags_1) + /sizeof(asn_DEF_NtcipRelativeHumidity_tags_1[0]), /* 1 */ + asn_DEF_NtcipRelativeHumidity_tags_1, /* Same as above */ + sizeof(asn_DEF_NtcipRelativeHumidity_tags_1) + /sizeof(asn_DEF_NtcipRelativeHumidity_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NtcipRelativeHumidity_1, + 2, /* Elements count */ + &asn_SPC_NtcipRelativeHumidity_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipRelativeHumidity.h b/src/tmx/Asn_J2735/src/r2024/NtcipRelativeHumidity.h deleted file mode 100644 index 4db478a87..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NtcipRelativeHumidity.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NtcipRelativeHumidity_H_ -#define _NtcipRelativeHumidity_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NTCIPHumiditySensorRelativeHumidity.h" -#include "DataSourceInfo.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NtcipRelativeHumidity */ -typedef struct NtcipRelativeHumidity { - NTCIPHumiditySensorRelativeHumidity_t relHumidity; - DataSourceInfo_t *source; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NtcipRelativeHumidity_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NtcipRelativeHumidity; -extern asn_SEQUENCE_specifics_t asn_SPC_NtcipRelativeHumidity_specs_1; -extern asn_TYPE_member_t asn_MBR_NtcipRelativeHumidity_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _NtcipRelativeHumidity_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipSolarRadiation.c b/src/tmx/Asn_J2735/src/r2024/NtcipSolarRadiation.c new file mode 100644 index 000000000..bd32f5993 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NtcipSolarRadiation.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NtcipSolarRadiation.h" + +asn_TYPE_member_t asn_MBR_NtcipSolarRadiation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NtcipSolarRadiation, solarRadiation), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssTotalRadiationV4, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "solarRadiation" + }, + { ATF_NOFLAGS, 0, offsetof(struct NtcipSolarRadiation, measurementPeriod), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssTotalRadiationPeriod, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "measurementPeriod" + }, +}; +static const ber_tlv_tag_t asn_DEF_NtcipSolarRadiation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NtcipSolarRadiation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* solarRadiation */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* measurementPeriod */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NtcipSolarRadiation_specs_1 = { + sizeof(struct NtcipSolarRadiation), + offsetof(struct NtcipSolarRadiation, _asn_ctx), + asn_MAP_NtcipSolarRadiation_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NtcipSolarRadiation = { + "NtcipSolarRadiation", + "NtcipSolarRadiation", + &asn_OP_SEQUENCE, + asn_DEF_NtcipSolarRadiation_tags_1, + sizeof(asn_DEF_NtcipSolarRadiation_tags_1) + /sizeof(asn_DEF_NtcipSolarRadiation_tags_1[0]), /* 1 */ + asn_DEF_NtcipSolarRadiation_tags_1, /* Same as above */ + sizeof(asn_DEF_NtcipSolarRadiation_tags_1) + /sizeof(asn_DEF_NtcipSolarRadiation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NtcipSolarRadiation_1, + 2, /* Elements count */ + &asn_SPC_NtcipSolarRadiation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipSolarRadiation.h b/src/tmx/Asn_J2735/src/r2024/NtcipSolarRadiation.h deleted file mode 100644 index 5004ecfb1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NtcipSolarRadiation.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NtcipSolarRadiation_H_ -#define _NtcipSolarRadiation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NTCIPEssTotalRadiationV4.h" -#include "NTCIPEssTotalRadiationPeriod.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NtcipSolarRadiation */ -typedef struct NtcipSolarRadiation { - NTCIPEssTotalRadiationV4_t solarRadiation; - NTCIPEssTotalRadiationPeriod_t measurementPeriod; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NtcipSolarRadiation_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NtcipSolarRadiation; -extern asn_SEQUENCE_specifics_t asn_SPC_NtcipSolarRadiation_specs_1; -extern asn_TYPE_member_t asn_MBR_NtcipSolarRadiation_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _NtcipSolarRadiation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipVisibility.c b/src/tmx/Asn_J2735/src/r2024/NtcipVisibility.c new file mode 100644 index 000000000..b75a1cc9e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NtcipVisibility.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NtcipVisibility.h" + +asn_TYPE_member_t asn_MBR_NtcipVisibility_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NtcipVisibility, visibility), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssVisibility, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "visibility" + }, +}; +static const ber_tlv_tag_t asn_DEF_NtcipVisibility_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NtcipVisibility_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* visibility */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NtcipVisibility_specs_1 = { + sizeof(struct NtcipVisibility), + offsetof(struct NtcipVisibility, _asn_ctx), + asn_MAP_NtcipVisibility_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NtcipVisibility = { + "NtcipVisibility", + "NtcipVisibility", + &asn_OP_SEQUENCE, + asn_DEF_NtcipVisibility_tags_1, + sizeof(asn_DEF_NtcipVisibility_tags_1) + /sizeof(asn_DEF_NtcipVisibility_tags_1[0]), /* 1 */ + asn_DEF_NtcipVisibility_tags_1, /* Same as above */ + sizeof(asn_DEF_NtcipVisibility_tags_1) + /sizeof(asn_DEF_NtcipVisibility_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NtcipVisibility_1, + 1, /* Elements count */ + &asn_SPC_NtcipVisibility_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipVisibility.h b/src/tmx/Asn_J2735/src/r2024/NtcipVisibility.h deleted file mode 100644 index b460b249d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NtcipVisibility.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NtcipVisibility_H_ -#define _NtcipVisibility_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NTCIPEssVisibility.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NtcipVisibility */ -typedef struct NtcipVisibility { - NTCIPEssVisibility_t visibility; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NtcipVisibility_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NtcipVisibility; -extern asn_SEQUENCE_specifics_t asn_SPC_NtcipVisibility_specs_1; -extern asn_TYPE_member_t asn_MBR_NtcipVisibility_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _NtcipVisibility_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipVisibilitySituation.c b/src/tmx/Asn_J2735/src/r2024/NtcipVisibilitySituation.c new file mode 100644 index 000000000..91c3e0b59 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NtcipVisibilitySituation.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NtcipVisibilitySituation.h" + +asn_TYPE_member_t asn_MBR_NtcipVisibilitySituation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NtcipVisibilitySituation, situation), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssVisibilitySituation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "situation" + }, +}; +static const ber_tlv_tag_t asn_DEF_NtcipVisibilitySituation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NtcipVisibilitySituation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* situation */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NtcipVisibilitySituation_specs_1 = { + sizeof(struct NtcipVisibilitySituation), + offsetof(struct NtcipVisibilitySituation, _asn_ctx), + asn_MAP_NtcipVisibilitySituation_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NtcipVisibilitySituation = { + "NtcipVisibilitySituation", + "NtcipVisibilitySituation", + &asn_OP_SEQUENCE, + asn_DEF_NtcipVisibilitySituation_tags_1, + sizeof(asn_DEF_NtcipVisibilitySituation_tags_1) + /sizeof(asn_DEF_NtcipVisibilitySituation_tags_1[0]), /* 1 */ + asn_DEF_NtcipVisibilitySituation_tags_1, /* Same as above */ + sizeof(asn_DEF_NtcipVisibilitySituation_tags_1) + /sizeof(asn_DEF_NtcipVisibilitySituation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NtcipVisibilitySituation_1, + 1, /* Elements count */ + &asn_SPC_NtcipVisibilitySituation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipVisibilitySituation.h b/src/tmx/Asn_J2735/src/r2024/NtcipVisibilitySituation.h deleted file mode 100644 index adfd3a7f1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NtcipVisibilitySituation.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NtcipVisibilitySituation_H_ -#define _NtcipVisibilitySituation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NTCIPEssVisibilitySituation.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NtcipVisibilitySituation */ -typedef struct NtcipVisibilitySituation { - NTCIPEssVisibilitySituation_t situation; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NtcipVisibilitySituation_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NtcipVisibilitySituation; -extern asn_SEQUENCE_specifics_t asn_SPC_NtcipVisibilitySituation_specs_1; -extern asn_TYPE_member_t asn_MBR_NtcipVisibilitySituation_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _NtcipVisibilitySituation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipWind.c b/src/tmx/Asn_J2735/src/r2024/NtcipWind.c new file mode 100644 index 000000000..3ebfd7805 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NtcipWind.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NtcipWind.h" + +asn_TYPE_member_t asn_MBR_NtcipWind_1[] = { + { ATF_POINTER, 6, offsetof(struct NtcipWind, avgSpeed), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPWindSensorAvgSpeed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "avgSpeed" + }, + { ATF_POINTER, 5, offsetof(struct NtcipWind, avgDirection), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPWindSensorAvgDirection, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "avgDirection" + }, + { ATF_POINTER, 4, offsetof(struct NtcipWind, currentSpeed), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPWindSensorSpotSpeed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "currentSpeed" + }, + { ATF_POINTER, 3, offsetof(struct NtcipWind, curDirection), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPWindSensorSpotDirection, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "curDirection" + }, + { ATF_POINTER, 2, offsetof(struct NtcipWind, gustSpeed), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPWindSensorGustSpeed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "gustSpeed" + }, + { ATF_POINTER, 1, offsetof(struct NtcipWind, gustDirection), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPWindSensorGustDirection, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "gustDirection" + }, +}; +static const int asn_MAP_NtcipWind_oms_1[] = { 0, 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_NtcipWind_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NtcipWind_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* avgSpeed */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* avgDirection */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* currentSpeed */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* curDirection */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* gustSpeed */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* gustDirection */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NtcipWind_specs_1 = { + sizeof(struct NtcipWind), + offsetof(struct NtcipWind, _asn_ctx), + asn_MAP_NtcipWind_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_NtcipWind_oms_1, /* Optional members */ + 6, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NtcipWind = { + "NtcipWind", + "NtcipWind", + &asn_OP_SEQUENCE, + asn_DEF_NtcipWind_tags_1, + sizeof(asn_DEF_NtcipWind_tags_1) + /sizeof(asn_DEF_NtcipWind_tags_1[0]), /* 1 */ + asn_DEF_NtcipWind_tags_1, /* Same as above */ + sizeof(asn_DEF_NtcipWind_tags_1) + /sizeof(asn_DEF_NtcipWind_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NtcipWind_1, + 6, /* Elements count */ + &asn_SPC_NtcipWind_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NtcipWind.h b/src/tmx/Asn_J2735/src/r2024/NtcipWind.h deleted file mode 100644 index 54209192c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NtcipWind.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NtcipWind_H_ -#define _NtcipWind_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NTCIPWindSensorAvgSpeed.h" -#include "NTCIPWindSensorAvgDirection.h" -#include "NTCIPWindSensorSpotSpeed.h" -#include "NTCIPWindSensorSpotDirection.h" -#include "NTCIPWindSensorGustSpeed.h" -#include "NTCIPWindSensorGustDirection.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NtcipWind */ -typedef struct NtcipWind { - NTCIPWindSensorAvgSpeed_t *avgSpeed; /* OPTIONAL */ - NTCIPWindSensorAvgDirection_t *avgDirection; /* OPTIONAL */ - NTCIPWindSensorSpotSpeed_t *currentSpeed; /* OPTIONAL */ - NTCIPWindSensorSpotDirection_t *curDirection; /* OPTIONAL */ - NTCIPWindSensorGustSpeed_t *gustSpeed; /* OPTIONAL */ - NTCIPWindSensorGustDirection_t *gustDirection; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NtcipWind_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NtcipWind; -extern asn_SEQUENCE_specifics_t asn_SPC_NtcipWind_specs_1; -extern asn_TYPE_member_t asn_MBR_NtcipWind_1[6]; - -#ifdef __cplusplus -} -#endif - -#endif /* _NtcipWind_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NumberOfAxles.c b/src/tmx/Asn_J2735/src/r2024/NumberOfAxles.c new file mode 100644 index 000000000..5204c9d49 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NumberOfAxles.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NumberOfAxles.h" + +static int +memb_trailerAxles_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 7L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_tractorAxles_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 7L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_trailerAxles_constr_2 CC_NOTUSED = { + { 1, 1 } /* (0..7) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_trailerAxles_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_tractorAxles_constr_3 CC_NOTUSED = { + { 1, 1 } /* (0..7) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_tractorAxles_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_NumberOfAxles_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct NumberOfAxles, trailerAxles), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_trailerAxles_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_trailerAxles_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_trailerAxles_constraint_1 + }, + 0, 0, /* No default value */ + "trailerAxles" + }, + { ATF_NOFLAGS, 0, offsetof(struct NumberOfAxles, tractorAxles), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_tractorAxles_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_tractorAxles_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_tractorAxles_constraint_1 + }, + 0, 0, /* No default value */ + "tractorAxles" + }, +}; +static const ber_tlv_tag_t asn_DEF_NumberOfAxles_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_NumberOfAxles_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* trailerAxles */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tractorAxles */ +}; +asn_SEQUENCE_specifics_t asn_SPC_NumberOfAxles_specs_1 = { + sizeof(struct NumberOfAxles), + offsetof(struct NumberOfAxles, _asn_ctx), + asn_MAP_NumberOfAxles_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_NumberOfAxles = { + "NumberOfAxles", + "NumberOfAxles", + &asn_OP_SEQUENCE, + asn_DEF_NumberOfAxles_tags_1, + sizeof(asn_DEF_NumberOfAxles_tags_1) + /sizeof(asn_DEF_NumberOfAxles_tags_1[0]), /* 1 */ + asn_DEF_NumberOfAxles_tags_1, /* Same as above */ + sizeof(asn_DEF_NumberOfAxles_tags_1) + /sizeof(asn_DEF_NumberOfAxles_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_NumberOfAxles_1, + 2, /* Elements count */ + &asn_SPC_NumberOfAxles_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NumberOfAxles.h b/src/tmx/Asn_J2735/src/r2024/NumberOfAxles.h deleted file mode 100644 index 108fe7d55..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NumberOfAxles.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NumberOfAxles_H_ -#define _NumberOfAxles_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* NumberOfAxles */ -typedef struct NumberOfAxles { - long trailerAxles; - long tractorAxles; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} NumberOfAxles_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_NumberOfAxles; -extern asn_SEQUENCE_specifics_t asn_SPC_NumberOfAxles_specs_1; -extern asn_TYPE_member_t asn_MBR_NumberOfAxles_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _NumberOfAxles_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/NumberOfParticipantsInCluster.c b/src/tmx/Asn_J2735/src/r2024/NumberOfParticipantsInCluster.c new file mode 100644 index 000000000..6a48eca40 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/NumberOfParticipantsInCluster.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "NumberOfParticipantsInCluster.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_NumberOfParticipantsInCluster_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_NumberOfParticipantsInCluster_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_NumberOfParticipantsInCluster_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 5, "small" }, + { 2, 6, "medium" }, + { 3, 5, "large" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_NumberOfParticipantsInCluster_enum2value_1[] = { + 3, /* large(3) */ + 2, /* medium(2) */ + 1, /* small(1) */ + 0 /* unavailable(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_NumberOfParticipantsInCluster_specs_1 = { + asn_MAP_NumberOfParticipantsInCluster_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_NumberOfParticipantsInCluster_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_NumberOfParticipantsInCluster_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_NumberOfParticipantsInCluster = { + "NumberOfParticipantsInCluster", + "NumberOfParticipantsInCluster", + &asn_OP_NativeEnumerated, + asn_DEF_NumberOfParticipantsInCluster_tags_1, + sizeof(asn_DEF_NumberOfParticipantsInCluster_tags_1) + /sizeof(asn_DEF_NumberOfParticipantsInCluster_tags_1[0]), /* 1 */ + asn_DEF_NumberOfParticipantsInCluster_tags_1, /* Same as above */ + sizeof(asn_DEF_NumberOfParticipantsInCluster_tags_1) + /sizeof(asn_DEF_NumberOfParticipantsInCluster_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_NumberOfParticipantsInCluster_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_NumberOfParticipantsInCluster_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_NumberOfParticipantsInCluster_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/NumberOfParticipantsInCluster.h b/src/tmx/Asn_J2735/src/r2024/NumberOfParticipantsInCluster.h deleted file mode 100644 index b8efb01fd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/NumberOfParticipantsInCluster.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _NumberOfParticipantsInCluster_H_ -#define _NumberOfParticipantsInCluster_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum NumberOfParticipantsInCluster { - NumberOfParticipantsInCluster_unavailable = 0, - NumberOfParticipantsInCluster_small = 1, - NumberOfParticipantsInCluster_medium = 2, - NumberOfParticipantsInCluster_large = 3 - /* - * Enumeration is extensible - */ -} e_NumberOfParticipantsInCluster; - -/* NumberOfParticipantsInCluster */ -typedef long NumberOfParticipantsInCluster_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_NumberOfParticipantsInCluster_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_NumberOfParticipantsInCluster; -extern const asn_INTEGER_specifics_t asn_SPC_NumberOfParticipantsInCluster_specs_1; -asn_struct_free_f NumberOfParticipantsInCluster_free; -asn_struct_print_f NumberOfParticipantsInCluster_print; -asn_constr_check_f NumberOfParticipantsInCluster_constraint; -ber_type_decoder_f NumberOfParticipantsInCluster_decode_ber; -der_type_encoder_f NumberOfParticipantsInCluster_encode_der; -xer_type_decoder_f NumberOfParticipantsInCluster_decode_xer; -xer_type_encoder_f NumberOfParticipantsInCluster_encode_xer; -oer_type_decoder_f NumberOfParticipantsInCluster_decode_oer; -oer_type_encoder_f NumberOfParticipantsInCluster_encode_oer; -per_type_decoder_f NumberOfParticipantsInCluster_decode_uper; -per_type_encoder_f NumberOfParticipantsInCluster_encode_uper; -per_type_decoder_f NumberOfParticipantsInCluster_decode_aper; -per_type_encoder_f NumberOfParticipantsInCluster_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _NumberOfParticipantsInCluster_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER.c b/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER.c new file mode 100644 index 000000000..5cf2d6066 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER.c @@ -0,0 +1,532 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include +#include /* for CHAR_BIT */ +#include +#include + +/* + * OBJECT IDENTIFIER basic type description. + */ +static const ber_tlv_tag_t asn_DEF_OBJECT_IDENTIFIER_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)) +}; +asn_TYPE_operation_t asn_OP_OBJECT_IDENTIFIER = { + ASN__PRIMITIVE_TYPE_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + OBJECT_IDENTIFIER_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + OCTET_STRING_compare, /* Implemented in terms of a string comparison */ +#if !defined(ASN_DISABLE_BER_SUPPORT) + ber_decode_primitive, + der_encode_primitive, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + OBJECT_IDENTIFIER_decode_xer, + OBJECT_IDENTIFIER_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + OBJECT_IDENTIFIER_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + OBJECT_IDENTIFIER_decode_oer, + OBJECT_IDENTIFIER_encode_oer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + OCTET_STRING_decode_uper, + OCTET_STRING_encode_uper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + OCTET_STRING_decode_aper, + OCTET_STRING_encode_aper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + OBJECT_IDENTIFIER_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_OBJECT_IDENTIFIER = { + "OBJECT IDENTIFIER", + "OBJECT_IDENTIFIER", + &asn_OP_OBJECT_IDENTIFIER, + asn_DEF_OBJECT_IDENTIFIER_tags, + sizeof(asn_DEF_OBJECT_IDENTIFIER_tags) + / sizeof(asn_DEF_OBJECT_IDENTIFIER_tags[0]), + asn_DEF_OBJECT_IDENTIFIER_tags, /* Same as above */ + sizeof(asn_DEF_OBJECT_IDENTIFIER_tags) + / sizeof(asn_DEF_OBJECT_IDENTIFIER_tags[0]), + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OBJECT_IDENTIFIER_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +int +OBJECT_IDENTIFIER_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, + void *app_key) { + const OBJECT_IDENTIFIER_t *st = (const OBJECT_IDENTIFIER_t *)sptr; + + if(st && st->buf) { + if(st->size < 1) { + ASN__CTFAIL(app_key, td, sptr, + "%s: at least one numerical value " + "expected (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + return 0; +} + +static ssize_t +OBJECT_IDENTIFIER_get_first_arcs(const uint8_t *arcbuf, size_t arcbuf_len, + asn_oid_arc_t *arc0, asn_oid_arc_t *arc1) { + asn_oid_arc_t value; + + ssize_t rd = OBJECT_IDENTIFIER_get_single_arc(arcbuf, arcbuf_len, &value); + if(rd <= 0) return rd; + + if(value >= 80) { + *arc0 = 2; + *arc1 = value - 80; + } else if(value >= 40) { + *arc0 = 1; + *arc1 = value - 40; + } else { + *arc0 = 0; + *arc1 = value; + } + + return rd; +} + +ssize_t +OBJECT_IDENTIFIER_get_single_arc(const uint8_t *arcbuf, size_t arcbuf_len, + asn_oid_arc_t *ret_value) { + const uint8_t *b = arcbuf; + const uint8_t *arcend = arcbuf + arcbuf_len; /* End of arc */ + + if(arcbuf == arcend) { + return 0; + } else { + asn_oid_arc_t accum; + asn_oid_arc_t upper_limit = (ASN_OID_ARC_MAX >> 7); + /* When the value reaches "upper_limit", it can take */ + /* at most one more digit. If it exceeds "upper_limit" */ + /* but there are more digits - it's an Overflow condition */ + /* Gather all bits into the accumulator */ + for(accum = 0; b < arcend; b++) { + accum = (accum << 7) | (*b & ~0x80); + if((*b & 0x80) == 0) { // no more digits + if(accum <= ASN_OID_ARC_MAX) { + *ret_value = accum; + return 1 + (b - arcbuf); + } else { + errno = ERANGE; /* Overflow */ + return -1; + } + } else { // to make sure we aren't wrapping around + if(accum > upper_limit) { + errno = ERANGE; /* Overflow */ + return -1; + } + } + } + errno = EINVAL; + return -1; + } + +} + +ssize_t +OBJECT_IDENTIFIER__dump_body(const OBJECT_IDENTIFIER_t *st, + asn_app_consume_bytes_f *cb, void *app_key) { + char scratch[32]; + asn_oid_arc_t arc0 = 0; + asn_oid_arc_t arc1 = 0; + size_t produced = 0; + size_t off = 0; + ssize_t rd; + int ret; + + rd = OBJECT_IDENTIFIER_get_first_arcs(st->buf, st->size, &arc0, &arc1); + if(rd <= 0) { + return -1; + } + + ret = snprintf(scratch, sizeof(scratch), "%"PRIu32".%"PRIu32, arc0, arc1); + if(ret >= (ssize_t)sizeof(scratch)) { + return -1; + } + produced += ret; + if(cb(scratch, ret, app_key) < 0) + return -1; + + for(off = rd; ; ) { + asn_oid_arc_t arc; + rd = OBJECT_IDENTIFIER_get_single_arc(st->buf + off, st->size - off, + &arc); + if(rd < 0) { + return -1; + } else if(rd == 0) { + /* No more arcs. */ + break; + } else { + off += rd; + assert(off <= st->size); + ret = snprintf(scratch, sizeof(scratch), ".%" PRIu32, arc); + if(ret >= (ssize_t)sizeof(scratch)) { + return -1; + } + produced += ret; + if(cb(scratch, ret, app_key) < 0) return -1; + } + } + + if(off != st->size) { + ASN_DEBUG("Could not scan to the end of Object Identifier"); + return -1; + } + + return produced; +} + +ssize_t +OBJECT_IDENTIFIER_get_arcs(const OBJECT_IDENTIFIER_t *st, asn_oid_arc_t *arcs, + size_t arc_slots) { + asn_oid_arc_t arc0 = 0; + asn_oid_arc_t arc1 = 0; + size_t num_arcs = 0; + size_t off; + ssize_t rd; + + if(!st || !st->buf) { + errno = EINVAL; + return -1; + } + + rd = OBJECT_IDENTIFIER_get_first_arcs(st->buf, st->size, &arc0, &arc1); + if(rd <= 0) { + return -1; + } + num_arcs = 2; + switch(arc_slots) { + default: + case 2: + arcs[1] = arc1; + /* Fall through */ + case 1: + arcs[0] = arc0; + /* Fall through */ + case 0: + break; + } + + for(off = rd; ; ) { + asn_oid_arc_t arc; + rd = OBJECT_IDENTIFIER_get_single_arc(st->buf + off, st->size - off, + &arc); + if(rd < 0) { + return -1; + } else if(rd == 0) { + /* No more arcs. */ + break; + } else { + off += rd; + if(num_arcs < arc_slots) { + arcs[num_arcs] = arc; + } + num_arcs++; + } + } + + if(off != st->size) { + return -1; + } + + return num_arcs; +} + + +/* + * Save the single value as an object identifier arc. + */ +ssize_t +OBJECT_IDENTIFIER_set_single_arc(uint8_t *arcbuf, size_t arcbuf_len, + asn_oid_arc_t value) { + /* + * The following conditions must hold: + * assert(arcbuf); + */ + uint8_t scratch[((sizeof(value) * CHAR_BIT + 6) / 7)]; + uint8_t *scratch_end = &scratch[sizeof(scratch)-1]; + uint8_t *b; + size_t result_len; + uint8_t mask; + + for(b = scratch_end, mask = 0; ; mask = 0x80, b--) { + *b = mask | (value & 0x7f); + value >>= 7; + if(!value) { + break; + } + } + + result_len = (scratch_end - b) + 1; + + if(result_len > arcbuf_len) { + return -1; + } + + memcpy(arcbuf, b, result_len); + + return result_len; +} + +int +OBJECT_IDENTIFIER_set_arcs(OBJECT_IDENTIFIER_t *st, const asn_oid_arc_t *arcs, + size_t arc_slots) { + uint8_t *buf; + uint8_t *bp; + ssize_t wrote; + asn_oid_arc_t arc0; + asn_oid_arc_t arc1; + size_t size; + size_t i; + + if(!st || !arcs || arc_slots < 2) { + errno = EINVAL; + return -1; + } + + arc0 = arcs[0]; + arc1 = arcs[1]; + + if(arc0 <= 1) { + if(arc1 >= 40) { + /* 8.19.4: At most 39 subsequent values (including 0) */ + errno = ERANGE; + return -1; + } + } else if(arc0 == 2) { + if(arc1 > ASN_OID_ARC_MAX - 80) { + errno = ERANGE; + return -1; + } + } else if(arc0 > 2) { + /* 8.19.4: Only three values are allocated from the root node */ + errno = ERANGE; + return -1; + } + + /* + * After above tests it is known that the value of arc0 is completely + * trustworthy (0..2). However, the arc1's value is still meaningless. + */ + + /* + * Roughly estimate the maximum size necessary to encode these arcs. + * This estimation implicitly takes in account the following facts, + * that cancel each other: + * * the first two arcs are encoded in a single value. + * * the first value may require more space (+1 byte) + * * the value of the first arc which is in range (0..2) + */ + size = ((sizeof(asn_oid_arc_t) * CHAR_BIT + 6) / 7) * arc_slots; + bp = buf = (uint8_t *)MALLOC(size + 1); + if(!buf) { + /* ENOMEM */ + return -1; + } + + wrote = OBJECT_IDENTIFIER_set_single_arc(bp, size, arc0 * 40 + arc1); + if(wrote <= 0) { + FREEMEM(buf); + return -1; + } + assert((size_t)wrote <= size); + bp += wrote; + size -= wrote; + + for(i = 2; i < arc_slots; i++) { + wrote = OBJECT_IDENTIFIER_set_single_arc(bp, size, arcs[i]); + if(wrote <= 0) { + FREEMEM(buf); + return -1; + } + assert((size_t)wrote <= size); + bp += wrote; + size -= wrote; + } + + /* + * Replace buffer. + */ + st->size = bp - buf; + bp = st->buf; + st->buf = buf; + st->buf[st->size] = '\0'; + if(bp) FREEMEM(bp); + + return 0; +} + +ssize_t +OBJECT_IDENTIFIER_parse_arcs(const char *oid_text, ssize_t oid_txt_length, + asn_oid_arc_t *arcs, size_t arcs_count, + const char **opt_oid_text_end) { + size_t num_arcs = 0; + const char *oid_end; + enum { + ST_LEADSPACE, + ST_TAILSPACE, + ST_AFTERVALUE, /* Next character ought to be '.' or a space */ + ST_WAITDIGITS /* Next character is expected to be a digit */ + } state = ST_LEADSPACE; + + if(!oid_text || oid_txt_length < -1 || (arcs_count && !arcs)) { + if(opt_oid_text_end) *opt_oid_text_end = oid_text; + errno = EINVAL; + return -1; + } + + if(oid_txt_length == -1) + oid_txt_length = strlen(oid_text); + +#define _OID_CAPTURE_ARC(oid_text, oid_end) \ + do { \ + const char *endp = oid_end; \ + unsigned long value; \ + switch(asn_strtoul_lim(oid_text, &endp, &value)) { \ + case ASN_STRTOX_EXTRA_DATA: \ + case ASN_STRTOX_OK: \ + if(value <= ASN_OID_ARC_MAX) { \ + if(num_arcs < arcs_count) arcs[num_arcs] = value; \ + num_arcs++; \ + oid_text = endp - 1; \ + break; \ + } \ + /* Fall through */ \ + case ASN_STRTOX_ERROR_RANGE: \ + if(opt_oid_text_end) *opt_oid_text_end = oid_text; \ + errno = ERANGE; \ + return -1; \ + case ASN_STRTOX_ERROR_INVAL: \ + case ASN_STRTOX_EXPECT_MORE: \ + if(opt_oid_text_end) *opt_oid_text_end = oid_text; \ + errno = EINVAL; \ + return -1; \ + } \ + } while(0) + + for(oid_end = oid_text + oid_txt_length; oid_text broken OID */ + return -1; + case ST_LEADSPACE: + case ST_WAITDIGITS: + _OID_CAPTURE_ARC(oid_text, oid_end); + state = ST_AFTERVALUE; + continue; + } + break; + default: + /* Unexpected symbols */ + state = ST_WAITDIGITS; + break; + } /* switch() */ + break; + } /* for() */ + + + if(opt_oid_text_end) *opt_oid_text_end = oid_text; + + /* Finalize last arc */ + switch(state) { + case ST_LEADSPACE: + return 0; /* No OID found in input data */ + case ST_WAITDIGITS: + errno = EINVAL; /* Broken OID */ + return -1; + case ST_AFTERVALUE: + case ST_TAILSPACE: + return num_arcs; + } + + errno = EINVAL; /* Broken OID */ + return -1; +} diff --git a/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER.h b/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER.h deleted file mode 100644 index f878055c6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER.h +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _OBJECT_IDENTIFIER_H_ -#define _OBJECT_IDENTIFIER_H_ - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef uint32_t asn_oid_arc_t; -#define ASN_OID_ARC_MAX (~((asn_oid_arc_t)0)) - -typedef ASN__PRIMITIVE_TYPE_t OBJECT_IDENTIFIER_t; - -extern asn_TYPE_descriptor_t asn_DEF_OBJECT_IDENTIFIER; -extern asn_TYPE_operation_t asn_OP_OBJECT_IDENTIFIER; - -ssize_t OBJECT_IDENTIFIER__dump_body(const OBJECT_IDENTIFIER_t *st, - asn_app_consume_bytes_f *cb, - void *app_key); - -#define OBJECT_IDENTIFIER_free ASN__PRIMITIVE_TYPE_free - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -asn_struct_print_f OBJECT_IDENTIFIER_print; -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -#define OBJECT_IDENTIFIER_compare OCTET_STRING_compare - -asn_constr_check_f OBJECT_IDENTIFIER_constraint; - -#if !defined(ASN_DISABLE_BER_SUPPORT) -#define OBJECT_IDENTIFIER_decode_ber ber_decode_primitive -#define OBJECT_IDENTIFIER_encode_der der_encode_primitive -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -xer_type_decoder_f OBJECT_IDENTIFIER_decode_xer; -xer_type_encoder_f OBJECT_IDENTIFIER_encode_xer; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f OBJECT_IDENTIFIER_encode_jer; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -#define OBJECT_IDENTIFIER_decode_oer oer_decode_primitive -#define OBJECT_IDENTIFIER_encode_oer oer_encode_primitive -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -#define OBJECT_IDENTIFIER_decode_uper OCTET_STRING_decode_uper -#define OBJECT_IDENTIFIER_encode_uper OCTET_STRING_encode_uper -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -#define OBJECT_IDENTIFIER_decode_aper OCTET_STRING_decode_aper -#define OBJECT_IDENTIFIER_encode_aper OCTET_STRING_encode_aper -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -asn_random_fill_f OBJECT_IDENTIFIER_random_fill; -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -/********************************** - * Some handy conversion routines * - **********************************/ - -/* - * This function fills an (arcs) array with OBJECT IDENTIFIER arcs - * up to specified (arc_slots) elements. - * - * EXAMPLE: - * void print_arcs(OBJECT_IDENTIFIER_t *oid) { - * asn_oid_arc_t fixed_arcs[10]; // Try with fixed space first - * asn_oid_arc_t *arcs = fixed_arcs; - * size_t arc_slots = sizeof(fixed_arcs)/sizeof(fixed_arcs[0]); // 10 - * ssize_t count; // Real number of arcs. - * int i; - * - * count = OBJECT_IDENTIFIER_get_arcs(oid, arcs, arc_slots); - * // If necessary, reallocate arcs array and try again. - * if(count > arc_slots) { - * arc_slots = count; - * arcs = malloc(sizeof(asn_oid_arc_t) * arc_slots); - * if(!arcs) return; - * count = OBJECT_IDENTIFIER_get_arcs(oid, arcs, arc_slots); - * assert(count == arc_slots); - * } - * - * // Print the contents of the arcs array. - * for(i = 0; i < count; i++) - * printf("%"PRIu32"\n", arcs[i]); - * - * // Avoid memory leak. - * if(arcs != fixed_arcs) free(arcs); - * } - * - * RETURN VALUES: - * -1/EINVAL: Invalid arguments (oid is missing) - * -1/ERANGE: One or more arcs have value out of array cell type range. - * >=0: Number of arcs contained in the OBJECT IDENTIFIER - * - * WARNING: The function always returns the actual number of arcs, - * even if there is no sufficient (arc_slots) provided. - */ -ssize_t OBJECT_IDENTIFIER_get_arcs(const OBJECT_IDENTIFIER_t *oid, - asn_oid_arc_t *arcs, size_t arc_slots); - -/* - * This functions initializes the OBJECT IDENTIFIER object with - * the given set of arcs. - * The minimum of two arcs must be present; some restrictions apply. - * RETURN VALUES: - * -1/EINVAL: Invalid arguments - * -1/ERANGE: The first two arcs do not conform to ASN.1 restrictions. - * -1/ENOMEM: Memory allocation failed - * 0: The object was initialized with new arcs. - */ -int OBJECT_IDENTIFIER_set_arcs(OBJECT_IDENTIFIER_t *oid, - const asn_oid_arc_t *arcs, size_t arcs_count); - - -/* - * Parse the OBJECT IDENTIFIER textual representation ("1.3.6.1.4.1.9363"). - * No arc can exceed the (0..ASN_OID_ARC_MAX, which is the same as UINT32_MAX). - * This function is not specific to OBJECT IDENTIFIER, it may be used to parse - * the RELATIVE-OID data, or any other data consisting of dot-separated - * series of numeric values. - * - * If (oid_txt_length == -1), the strlen() will be invoked to determine the - * size of the (oid_text) string. - * - * After return, the optional (opt_oid_text_end) is set to the character after - * the last parsed one. (opt_oid_text_end) is never less than (oid_text). - * - * RETURN VALUES: - * -1: Parse error. - * >= 0: Number of arcs contained in the OBJECT IDENTIFIER. - * - * WARNING: The function always returns the real number of arcs, - * even if there is no sufficient (arc_slots) provided. - * This is useful for (arc_slots) value estimation. - */ -ssize_t OBJECT_IDENTIFIER_parse_arcs(const char *oid_text, - ssize_t oid_txt_length, - asn_oid_arc_t *arcs, size_t arcs_count, - const char **opt_oid_text_end); - -/* - * Internal functions. - * Used by RELATIVE-OID implementation in particular. - */ - -/* - * Retrieve a single arc of size from the (arcbuf) buffer. - * RETURN VALUES: - * -1: Failed to retrieve the value from the (arcbuf). - * >0: Number of bytes consumed from the (arcbuf), <= (arcbuf_len). - */ -ssize_t OBJECT_IDENTIFIER_get_single_arc(const uint8_t *arcbuf, - size_t arcbuf_len, - asn_oid_arc_t *ret_value); - -/* - * Write the unterminated arc value into the (arcbuf) which has the size at - * least (arcbuf_len). - * RETURN VALUES: - * -1: (arcbuf_len) size is not sufficient to write the value. - * : Number of bytes appended to the arcbuf (<= arcbuf_len). - */ -ssize_t OBJECT_IDENTIFIER_set_single_arc(uint8_t *arcbuf, size_t arcbuf_len, - asn_oid_arc_t arc_value); - -#ifdef __cplusplus -} -#endif - -#endif /* _OBJECT_IDENTIFIER_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER_print.c b/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER_print.c new file mode 100644 index 000000000..b0c3a9e84 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER_print.c @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +int +OBJECT_IDENTIFIER_print(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, asn_app_consume_bytes_f *cb, + void *app_key) { + const OBJECT_IDENTIFIER_t *st = (const OBJECT_IDENTIFIER_t *)sptr; + + (void)td; /* Unused argument */ + (void)ilevel; /* Unused argument */ + + if(!st || !st->buf) + return (cb("", 8, app_key) < 0) ? -1 : 0; + + /* Dump preamble */ + if(cb("{ ", 2, app_key) < 0) + return -1; + + if(OBJECT_IDENTIFIER__dump_body(st, cb, app_key) < 0) { + return -1; + } + + return (cb(" }", 2, app_key) < 0) ? -1 : 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER_rfill.c b/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER_rfill.c new file mode 100644 index 000000000..55093c8e1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER_rfill.c @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * Generate values from the list of interesting values, or just a random + * value up to the upper limit. + */ +static asn_oid_arc_t +OBJECT_IDENTIFIER__biased_random_arc(asn_oid_arc_t upper_bound) { + const asn_oid_arc_t values[] = {0, 1, 127, 128, 129, 254, 255, 256}; + size_t idx; + + switch(asn_random_between(0, 2)) { + case 0: + idx = asn_random_between(0, sizeof(values) / sizeof(values[0]) - 1); + if(values[idx] < upper_bound) { + return values[idx]; + } + /* Fall through */ + case 1: + return asn_random_between(0, upper_bound); + case 2: + default: + return upper_bound; + } +} + +asn_random_fill_result_t +OBJECT_IDENTIFIER_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + OBJECT_IDENTIFIER_t *st; + asn_oid_arc_t arcs[5]; + size_t arcs_len = asn_random_between(2, 5); + size_t i; + + (void)constraints; + + if(max_length < arcs_len) return result_skipped; + + if(*sptr) { + st = *sptr; + } else { + st = CALLOC(1, sizeof(*st)); + } + + arcs[0] = asn_random_between(0, 2); + arcs[1] = OBJECT_IDENTIFIER__biased_random_arc( + arcs[0] <= 1 ? 39 : (ASN_OID_ARC_MAX - 80)); + for(i = 2; i < arcs_len; i++) { + arcs[i] = OBJECT_IDENTIFIER__biased_random_arc(ASN_OID_ARC_MAX); + } + + if(OBJECT_IDENTIFIER_set_arcs(st, arcs, arcs_len)) { + if(st != *sptr) { + ASN_STRUCT_FREE(*td, st); + } + return result_failed; + } + + *sptr = st; + + result_ok.length = st->size; + return result_ok; +} diff --git a/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER_xer.c b/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER_xer.c new file mode 100644 index 000000000..706e51a94 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OBJECT_IDENTIFIER_xer.c @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +static enum xer_pbd_rval +OBJECT_IDENTIFIER__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, + const void *chunk_buf, size_t chunk_size) { + OBJECT_IDENTIFIER_t *st = (OBJECT_IDENTIFIER_t *)sptr; + const char *chunk_end = (const char *)chunk_buf + chunk_size; + const char *endptr; + asn_oid_arc_t s_arcs[10]; + asn_oid_arc_t *arcs = s_arcs; + ssize_t num_arcs; + ssize_t ret; + + (void)td; + + num_arcs = OBJECT_IDENTIFIER_parse_arcs( + (const char *)chunk_buf, chunk_size, arcs, + sizeof(s_arcs) / sizeof(s_arcs[0]), &endptr); + if(num_arcs < 0) { + /* Expecting more than zero arcs */ + return XPBD_BROKEN_ENCODING; + } else if(num_arcs == 0) { + return XPBD_NOT_BODY_IGNORE; + } + (void)chunk_end; + assert(endptr == chunk_end); + + if((size_t)num_arcs > sizeof(s_arcs)/sizeof(s_arcs[0])) { + arcs = (asn_oid_arc_t *)MALLOC(num_arcs * sizeof(asn_oid_arc_t)); + if(!arcs) return XPBD_SYSTEM_FAILURE; + ret = OBJECT_IDENTIFIER_parse_arcs((const char *)chunk_buf, chunk_size, + arcs, num_arcs, &endptr); + if(ret != num_arcs) + return XPBD_SYSTEM_FAILURE; /* assert?.. */ + } + + /* + * Convert arcs into BER representation. + */ + ret = OBJECT_IDENTIFIER_set_arcs(st, arcs, num_arcs); + if(arcs != s_arcs) FREEMEM(arcs); + + return ret ? XPBD_SYSTEM_FAILURE : XPBD_BODY_CONSUMED; +} + +asn_dec_rval_t +OBJECT_IDENTIFIER_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, + size_t size) { + return xer_decode_primitive(opt_codec_ctx, td, + sptr, sizeof(OBJECT_IDENTIFIER_t), opt_mname, + buf_ptr, size, OBJECT_IDENTIFIER__xer_body_decode); +} + +asn_enc_rval_t +OBJECT_IDENTIFIER_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const OBJECT_IDENTIFIER_t *st = (const OBJECT_IDENTIFIER_t *)sptr; + asn_enc_rval_t er = {0,0,0}; + + (void)ilevel; + (void)flags; + + if(!st || !st->buf) { + ASN__ENCODE_FAILED; + } + + er.encoded = OBJECT_IDENTIFIER__dump_body(st, cb, app_key); + if(er.encoded < 0) ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/OCTET_STRING.c b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING.c new file mode 100644 index 000000000..d0bdeade7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING.c @@ -0,0 +1,383 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * OCTET STRING basic type description. + */ +static const ber_tlv_tag_t asn_DEF_OCTET_STRING_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_OCTET_STRING_specifics_t asn_SPC_OCTET_STRING_specs = { + sizeof(OCTET_STRING_t), + offsetof(OCTET_STRING_t, _asn_ctx), + ASN_OSUBV_STR +}; +asn_TYPE_operation_t asn_OP_OCTET_STRING = { + OCTET_STRING_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + OCTET_STRING_print, /* OCTET STRING generally means a non-ascii sequence */ +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + OCTET_STRING_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + OCTET_STRING_decode_ber, + OCTET_STRING_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + OCTET_STRING_decode_xer_hex, + OCTET_STRING_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + OCTET_STRING_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + OCTET_STRING_decode_oer, + OCTET_STRING_encode_oer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + OCTET_STRING_decode_uper, /* Unaligned PER decoder */ + OCTET_STRING_encode_uper, /* Unaligned PER encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + OCTET_STRING_decode_aper, /* Aligned PER decoder */ + OCTET_STRING_encode_aper, /* Aligned PER encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + OCTET_STRING_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_OCTET_STRING = { + "OCTET STRING", /* Canonical name */ + "OCTET_STRING", /* XML tag name */ + &asn_OP_OCTET_STRING, + asn_DEF_OCTET_STRING_tags, + sizeof(asn_DEF_OCTET_STRING_tags) + / sizeof(asn_DEF_OCTET_STRING_tags[0]), + asn_DEF_OCTET_STRING_tags, /* Same as above */ + sizeof(asn_DEF_OCTET_STRING_tags) + / sizeof(asn_DEF_OCTET_STRING_tags[0]), + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + asn_generic_no_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs +}; + +void +OCTET_STRING_free(const asn_TYPE_descriptor_t *td, void *sptr, + enum asn_struct_free_method method) { + OCTET_STRING_t *st = (OCTET_STRING_t *)sptr; + + if(!td || !st) + return; + + ASN_DEBUG("Freeing %s as OCTET STRING", td->name); + + if(st->buf) { + FREEMEM(st->buf); + st->buf = 0; + } + +#if !defined(ASN_DISABLE_BER_SUPPORT) + const asn_OCTET_STRING_specifics_t *specs; + asn_struct_ctx_t *ctx; + + specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + /* + * Remove decode-time stack. + */ + struct _stack *stck; + stck = (struct _stack *)ctx->ptr; + if(stck) { + while(stck->tail) { + struct _stack_el *sel = stck->tail; + stck->tail = sel->prev; + FREEMEM(sel); + } + FREEMEM(stck); + } +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ + + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(sptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset(sptr, 0, + td->specifics + ? ((const asn_OCTET_STRING_specifics_t *)(td->specifics)) + ->struct_size + : sizeof(OCTET_STRING_t)); + break; + } +} + +/* + * Conversion routines. + */ +int +OCTET_STRING_fromBuf(OCTET_STRING_t *st, const char *str, int len) { + void *buf; + + if(st == 0 || (str == 0 && len)) { + errno = EINVAL; + return -1; + } + + /* + * Clear the OCTET STRING. + */ + if(str == NULL) { + FREEMEM(st->buf); + st->buf = 0; + st->size = 0; + return 0; + } + + /* Determine the original string size, if not explicitly given */ + if(len < 0) + len = strlen(str); + + /* Allocate and fill the memory */ + buf = MALLOC(len + 1); + if(buf == NULL) + return -1; + + memcpy(buf, str, len); + ((uint8_t *)buf)[len] = '\0'; /* Couldn't use memcpy(len+1)! */ + FREEMEM(st->buf); + st->buf = (uint8_t *)buf; + st->size = len; + + return 0; +} + +OCTET_STRING_t * +OCTET_STRING_new_fromBuf(const asn_TYPE_descriptor_t *td, const char *str, + int len) { + const asn_OCTET_STRING_specifics_t *specs = + td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + OCTET_STRING_t *st; + + st = (OCTET_STRING_t *)CALLOC(1, specs->struct_size); + if(st && str && OCTET_STRING_fromBuf(st, str, len)) { + FREEMEM(st); + st = NULL; + } + + return st; +} + +/* + * Lexicographically compare the common prefix of both strings, + * and if it is the same return -1 for the smallest string. + */ +int +OCTET_STRING_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + const asn_OCTET_STRING_specifics_t *specs = td->specifics; + const OCTET_STRING_t *a = aptr; + const OCTET_STRING_t *b = bptr; + + (void)specs; + assert(!specs || specs->subvariant != ASN_OSUBV_BIT); + + if(a && b) { + size_t common_prefix_size = a->size <= b->size ? a->size : b->size; + int ret = memcmp(a->buf, b->buf, common_prefix_size); + if(ret == 0) { + /* Figure out which string with equal prefixes is longer. */ + if(a->size < b->size) { + return -1; + } else if(a->size > b->size) { + return 1; + } else { + return 0; + } + } else { + return ret < 0 ? -1 : 1; + } + } else if(!a && !b) { + return 0; + } else if(!a) { + return -1; + } else { + return 1; + } + +} + +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +int +OCTET_STRING_per_get_characters(asn_per_data_t *po, uint8_t *buf, + size_t units, unsigned int bpc, unsigned int unit_bits, + long lb, long ub, const asn_per_constraints_t *pc) { + uint8_t *end = buf + units * bpc; + + ASN_DEBUG("Expanding %d characters into (%ld..%ld):%d", + (int)units, lb, ub, unit_bits); + + /* X.691: 27.5.4 */ + if((unsigned long)ub <= ((unsigned long)2 << (unit_bits - 1))) { + /* Decode without translation */ + lb = 0; + } else if(pc && pc->code2value) { + if(unit_bits > 16) + return 1; /* FATAL: can't have constrained + * UniversalString with more than + * 16 million code points */ + for(; buf < end; buf += bpc) { + int value; + int code = per_get_few_bits(po, unit_bits); + if(code < 0) return -1; /* WMORE */ + value = pc->code2value(code); + if(value < 0) { + ASN_DEBUG("Code %d (0x%02x) is" + " not in map (%ld..%ld)", + code, code, lb, ub); + return 1; /* FATAL */ + } + switch(bpc) { + case 1: *buf = value; break; + case 2: buf[0] = value >> 8; buf[1] = value; break; + case 4: buf[0] = value >> 24; buf[1] = value >> 16; + buf[2] = value >> 8; buf[3] = value; break; + } + } + return 0; + } + + /* Shortcut the no-op copying to the aligned structure */ + if(lb == 0 && (unit_bits == 8 * bpc)) { + return per_get_many_bits(po, buf, 0, unit_bits * units); + } + + for(; buf < end; buf += bpc) { + int32_t code = per_get_few_bits(po, unit_bits); + int32_t ch = code + lb; + if(code < 0) return -1; /* WMORE */ + if(ch > ub) { + ASN_DEBUG("Code %d is out of range (%ld..%ld)", + ch, lb, ub); + return 1; /* FATAL */ + } + switch(bpc) { + case 1: *buf = ch; break; + case 2: buf[0] = ch >> 8; buf[1] = ch; break; + case 4: buf[0] = ch >> 24; buf[1] = ch >> 16; + buf[2] = ch >> 8; buf[3] = ch; break; + } + } + + return 0; +} + +int +OCTET_STRING_per_put_characters(asn_per_outp_t *po, const uint8_t *buf, + size_t units, unsigned int bpc, unsigned int unit_bits, + long lb, long ub, const asn_per_constraints_t *pc) { + const uint8_t *end = buf + units * bpc; + + ASN_DEBUG("Squeezing %d characters into (%ld..%ld):%d (%d bpc)", + (int)units, lb, ub, unit_bits, bpc); + + /* X.691: 27.5.4 */ + if((unsigned long)ub <= ((unsigned long)2 << (unit_bits - 1))) { + /* Encode as is */ + lb = 0; + } else if(pc && pc->value2code) { + for(; buf < end; buf += bpc) { + int code; + uint32_t value; + switch(bpc) { + case 1: value = *(const uint8_t *)buf; break; + case 2: value = (buf[0] << 8) | buf[1]; break; + case 4: value = (buf[0] << 24) | (buf[1] << 16) + | (buf[2] << 8) | buf[3]; break; + default: return -1; + } + code = pc->value2code(value); + if(code < 0) { + ASN_DEBUG("Character %d (0x%02x) is" + " not in map (%ld..%ld)", + *buf, *buf, lb, ub); + return -1; + } + if(per_put_few_bits(po, code, unit_bits)) + return -1; + } + } + + /* Shortcut the no-op copying to the aligned structure */ + if(lb == 0 && (unit_bits == 8 * bpc)) { + return per_put_many_bits(po, buf, unit_bits * units); + } + + for(ub -= lb; buf < end; buf += bpc) { + int ch; + uint32_t value; + switch(bpc) { + case 1: + value = *(const uint8_t *)buf; + break; + case 2: + value = (buf[0] << 8) | buf[1]; + break; + case 4: + value = (buf[0] << 24) | (buf[1] << 16) | (buf[2] << 8) | buf[3]; + break; + default: + return -1; + } + ch = value - lb; + if(ch < 0 || ch > ub) { + ASN_DEBUG("Character %d (0x%02x) is out of range (%ld..%ld)", *buf, + value, lb, ub + lb); + return -1; + } + if(per_put_few_bits(po, ch, unit_bits)) return -1; + } + + return 0; +} +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ diff --git a/src/tmx/Asn_J2735/src/r2024/OCTET_STRING.h b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING.h deleted file mode 100644 index b1ace1409..000000000 --- a/src/tmx/Asn_J2735/src/r2024/OCTET_STRING.h +++ /dev/null @@ -1,165 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _OCTET_STRING_H_ -#define _OCTET_STRING_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct OCTET_STRING { - uint8_t *buf; /* Buffer with consecutive OCTET_STRING bits */ - size_t size; /* Size of the buffer */ - - asn_struct_ctx_t _asn_ctx; /* Parsing across buffer boundaries */ -} OCTET_STRING_t; - -extern asn_TYPE_descriptor_t asn_DEF_OCTET_STRING; -extern asn_TYPE_operation_t asn_OP_OCTET_STRING; - -asn_struct_free_f OCTET_STRING_free; - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -asn_struct_print_f OCTET_STRING_print; -asn_struct_print_f OCTET_STRING_print_utf8; -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -asn_struct_compare_f OCTET_STRING_compare; - -#define OCTET_STRING_constraint asn_generic_no_constraint - -#if !defined(ASN_DISABLE_BER_SUPPORT) -ber_type_decoder_f OCTET_STRING_decode_ber; -der_type_encoder_f OCTET_STRING_encode_der; -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -xer_type_decoder_f OCTET_STRING_decode_xer_hex; /* Hexadecimal */ -xer_type_decoder_f OCTET_STRING_decode_xer_binary; /* 01010111010 */ -xer_type_decoder_f OCTET_STRING_decode_xer_utf8; /* ASCII/UTF-8 */ -xer_type_encoder_f OCTET_STRING_encode_xer; -xer_type_encoder_f OCTET_STRING_encode_xer_utf8; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f OCTET_STRING_encode_jer; -jer_type_encoder_f OCTET_STRING_encode_jer_utf8; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -oer_type_decoder_f OCTET_STRING_decode_oer; -oer_type_encoder_f OCTET_STRING_encode_oer; -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -per_type_decoder_f OCTET_STRING_decode_uper; -per_type_encoder_f OCTET_STRING_encode_uper; -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -per_type_decoder_f OCTET_STRING_decode_aper; -per_type_encoder_f OCTET_STRING_encode_aper; -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -asn_random_fill_f OCTET_STRING_random_fill; -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) -int OCTET_STRING_per_get_characters( - asn_per_data_t *po, - uint8_t *buf, - size_t units, - unsigned int bpc, - unsigned int unit_bits, - long lb, - long ub, - const asn_per_constraints_t *pc); - -int OCTET_STRING_per_put_characters( - asn_per_outp_t *po, - const uint8_t *buf, - size_t units, - unsigned int bpc, - unsigned int unit_bits, - long lb, - long ub, - const asn_per_constraints_t *pc); -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ -/****************************** - * Handy conversion routines. * - ******************************/ - -/* - * This function clears the previous value of the OCTET STRING (if any) - * and then allocates a new memory with the specified content (str/size). - * If size = -1, the size of the original string will be determined - * using strlen(str). - * If str equals to NULL, the function will silently clear the - * current contents of the OCTET STRING. - * Returns 0 if it was possible to perform operation, -1 otherwise. - */ -int OCTET_STRING_fromBuf(OCTET_STRING_t *s, const char *str, int size); - -/* Handy conversion from the C string into the OCTET STRING. */ -#define OCTET_STRING_fromString(s, str) OCTET_STRING_fromBuf(s, str, -1) - -/* - * Allocate and fill the new OCTET STRING and return a pointer to the newly - * allocated object. NULL is permitted in str: the function will just allocate - * empty OCTET STRING. - */ -OCTET_STRING_t *OCTET_STRING_new_fromBuf(const asn_TYPE_descriptor_t *td, - const char *str, int size); - -/**************************** - * Internally useful stuff. * - ****************************/ - -typedef struct asn_OCTET_STRING_specifics_s { - /* - * Target structure description. - */ - unsigned struct_size; /* Size of the structure */ - unsigned ctx_offset; /* Offset of the asn_struct_ctx_t member */ - - enum asn_OS_Subvariant { - ASN_OSUBV_ANY, /* The open type (ANY) */ - ASN_OSUBV_BIT, /* BIT STRING */ - ASN_OSUBV_STR, /* String types, not {BMP,Universal}String */ - ASN_OSUBV_U16, /* 16-bit character (BMPString) */ - ASN_OSUBV_U32 /* 32-bit character (UniversalString) */ - } subvariant; -} asn_OCTET_STRING_specifics_t; - -extern asn_OCTET_STRING_specifics_t asn_SPC_OCTET_STRING_specs; - -size_t OCTET_STRING_random_length_constrained( - const asn_TYPE_descriptor_t *, const asn_encoding_constraints_t *, - size_t max_length); - -#if !defined(ASN_DISABLE_BER_SUPPORT) -struct _stack_el { - ber_tlv_len_t left; /* What's left to read (or -1) */ - ber_tlv_len_t got; /* What was actually processed */ - unsigned cont_level; /* Depth of subcontainment */ - int want_nulls; /* Want null "end of content" octets? */ - int bits_chopped; /* Flag in BIT STRING mode */ - ber_tlv_tag_t tag; /* For debugging purposes */ - struct _stack_el *prev; - struct _stack_el *next; -}; -struct _stack { - struct _stack_el *tail; - struct _stack_el *cur_ptr; -}; -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#ifdef __cplusplus -} -#endif - -#endif /* _OCTET_STRING_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_aper.c b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_aper.c new file mode 100644 index 000000000..0373fe6ad --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_aper.c @@ -0,0 +1,414 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include /* for .bits_unused member */ + +#undef RETURN +#define RETURN(_code) do {\ + asn_dec_rval_t tmprval;\ + tmprval.code = _code;\ + tmprval.consumed = consumed_myself;\ + return tmprval;\ + } while(0) + +static asn_per_constraints_t asn_DEF_OCTET_STRING_constraints = { + { APC_CONSTRAINED, 8, 8, 0, 255 }, + { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, + 0, 0 +}; + +asn_dec_rval_t +OCTET_STRING_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + void **sptr, asn_per_data_t *pd) { + + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + const asn_per_constraints_t *pc = constraints + ? constraints + : td->encoding_constraints.per_constraints; + const asn_per_constraint_t *cval; + const asn_per_constraint_t *csiz; + asn_dec_rval_t rval = { RC_OK, 0 }; + BIT_STRING_t *st = (BIT_STRING_t *)*sptr; + ssize_t consumed_myself = 0; + int repeat; + enum { + OS__BPC_BIT = 0, + OS__BPC_CHAR = 1, + OS__BPC_U16 = 2, + OS__BPC_U32 = 4 + } bpc; /* Bytes per character */ + unsigned int unit_bits; + unsigned int canonical_unit_bits; + + (void)opt_codec_ctx; + + if(pc) { + cval = &pc->value; + csiz = &pc->size; + } else { + cval = &asn_DEF_OCTET_STRING_constraints.value; + csiz = &asn_DEF_OCTET_STRING_constraints.size; + } + + switch(specs->subvariant) { + default: +/* + case ASN_OSUBV_ANY: + ASN_DEBUG("Unrecognized subvariant %d", specs->subvariant); + RETURN(RC_FAIL); +*/ + case ASN_OSUBV_BIT: + canonical_unit_bits = unit_bits = 1; + bpc = OS__BPC_BIT; + break; + case ASN_OSUBV_ANY: + case ASN_OSUBV_STR: + canonical_unit_bits = unit_bits = 8; +/* + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; +*/ + bpc = OS__BPC_CHAR; + break; + case ASN_OSUBV_U16: + canonical_unit_bits = unit_bits = 16; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U16; + break; + case ASN_OSUBV_U32: + canonical_unit_bits = unit_bits = 32; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U32; + break; + } + + /* + * Allocate the string. + */ + if(!st) { + st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) RETURN(RC_FAIL); + } + + ASN_DEBUG("PER Decoding %s size %lld .. %lld bits %d", + csiz->flags & APC_EXTENSIBLE ? "extensible" : "non-extensible", + (long long int)csiz->lower_bound, (long long int)csiz->upper_bound, + csiz->effective_bits); + + if(csiz->flags & APC_EXTENSIBLE) { + int inext = per_get_few_bits(pd, 1); + if(inext < 0) RETURN(RC_WMORE); + if(inext) { + csiz = &asn_DEF_OCTET_STRING_constraints.size; + cval = &asn_DEF_OCTET_STRING_constraints.value; + unit_bits = canonical_unit_bits; + } + } + + if(csiz->effective_bits >= 0) { + FREEMEM(st->buf); + if(bpc) { + st->size = csiz->upper_bound * bpc; + } else { + st->size = (csiz->upper_bound + 7) >> 3; + } + st->buf = (uint8_t *)MALLOC(st->size + 1); + if(!st->buf) { st->size = 0; RETURN(RC_FAIL); } + } + + /* X.691, #16.5: zero-length encoding */ + /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ + /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ + if(csiz->effective_bits == 0) { + int ret; + /* X.691 #16 NOTE 1 for fixed length (<= 16 bits) strings */ + if (st->size > 2 || csiz->range_bits != 0) { + if (aper_get_align(pd) < 0) + RETURN(RC_FAIL); + } + if(bpc) { + ASN_DEBUG("Decoding OCTET STRING size %lld", + (long long int)csiz->upper_bound); + ret = OCTET_STRING_per_get_characters(pd, st->buf, + csiz->upper_bound, + bpc, unit_bits, + cval->lower_bound, + cval->upper_bound, + pc); + if(ret > 0) RETURN(RC_FAIL); + } else { + ASN_DEBUG("Decoding BIT STRING size %lld", + (long long int)csiz->upper_bound); + ret = per_get_many_bits(pd, st->buf, 0, + unit_bits * csiz->upper_bound); + } + if(ret < 0) RETURN(RC_WMORE); + consumed_myself += unit_bits * csiz->upper_bound; + st->buf[st->size] = 0; + if(bpc == 0) { + int ubs = (csiz->upper_bound & 0x7); + st->bits_unused = ubs ? 8 - ubs : 0; + } + RETURN(RC_OK); + } + + st->size = 0; + do { + ssize_t raw_len; + ssize_t len_bytes; + ssize_t len_bits; + void *p; + int ret; + + repeat = 0; + /* Get the PER length */ + if (csiz->upper_bound - csiz->lower_bound == 0) + /* Indefinite length case */ + raw_len = aper_get_length(pd, -1, -1, csiz->effective_bits, &repeat); + else + raw_len = aper_get_length(pd, csiz->lower_bound, csiz->upper_bound, + csiz->effective_bits, &repeat); + if(raw_len < 0) RETURN(RC_WMORE); + raw_len += csiz->lower_bound; + + ASN_DEBUG("Got PER length eb %ld, len %ld, %s (%s)", + (long)csiz->effective_bits, (long)raw_len, + repeat ? "repeat" : "once", td->name); + + /* X.691 #16 NOTE 1 for fixed length (<=16 bits) strings */ + if ((raw_len > 2) || (csiz->upper_bound > 2) || (csiz->range_bits != 0)) + { + if (aper_get_align(pd) < 0) + RETURN(RC_FAIL); + } + + if(bpc) { + len_bytes = raw_len * bpc; + len_bits = len_bytes * unit_bits; + } else { + len_bits = raw_len; + len_bytes = (len_bits + 7) >> 3; + if(len_bits & 0x7) + st->bits_unused = 8 - (len_bits & 0x7); + /* len_bits be multiple of 16K if repeat is set */ + } + p = REALLOC(st->buf, st->size + len_bytes + 1); + if(!p) RETURN(RC_FAIL); + st->buf = (uint8_t *)p; + + if(bpc) { + ret = OCTET_STRING_per_get_characters(pd, + &st->buf[st->size], + raw_len, bpc, + unit_bits, + cval->lower_bound, + cval->upper_bound, + pc); + if(ret > 0) RETURN(RC_FAIL); + } else { + ret = per_get_many_bits(pd, &st->buf[st->size], + 0, len_bits); + } + if(ret < 0) RETURN(RC_WMORE); + st->size += len_bytes; + } while(repeat); + st->buf[st->size] = 0; /* nul-terminate */ + + return rval; +} + +asn_enc_rval_t +OCTET_STRING_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + const asn_per_constraints_t *pc = constraints + ? constraints + : td->encoding_constraints.per_constraints; + const asn_per_constraint_t *cval; + const asn_per_constraint_t *csiz; + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + asn_enc_rval_t er = { 0, 0, 0 }; + int inext = 0; /* Lies not within extension root */ + unsigned int unit_bits; + unsigned int canonical_unit_bits; + unsigned int sizeinunits; + const uint8_t *buf; + int ret; + enum { + OS__BPC_BIT = 0, + OS__BPC_CHAR = 1, + OS__BPC_U16 = 2, + OS__BPC_U32 = 4 + } bpc; /* Bytes per character */ + int ct_extensible; + + if(!st || (!st->buf && st->size)) + ASN__ENCODE_FAILED; + + if(pc) { + cval = &pc->value; + csiz = &pc->size; + } else { + cval = &asn_DEF_OCTET_STRING_constraints.value; + csiz = &asn_DEF_OCTET_STRING_constraints.size; + } + ct_extensible = csiz->flags & APC_EXTENSIBLE; + + switch(specs->subvariant) { + default: +/* + case ASN_OSUBV_ANY: + ASN__ENCODE_FAILED; +*/ + case ASN_OSUBV_BIT: + canonical_unit_bits = unit_bits = 1; + bpc = OS__BPC_BIT; + sizeinunits = st->size * 8 - (st->bits_unused & 0x07); + ASN_DEBUG("BIT STRING of %d bytes", + sizeinunits); + break; + case ASN_OSUBV_ANY: + case ASN_OSUBV_STR: + canonical_unit_bits = unit_bits = 8; +/* + if(cval->flags & APC_CONSTRAINED) + unit_bits = 8; +*/ + bpc = OS__BPC_CHAR; + sizeinunits = st->size; + break; + case ASN_OSUBV_U16: + canonical_unit_bits = unit_bits = 16; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U16; + sizeinunits = st->size / 2; + break; + case ASN_OSUBV_U32: + canonical_unit_bits = unit_bits = 32; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U32; + sizeinunits = st->size / 4; + break; + } + + ASN_DEBUG("Encoding %s into %d units of %d bits" + " (%lld..%lld, effective %d)%s", + td->name, sizeinunits, unit_bits, + (long long int)csiz->lower_bound, + (long long int)csiz->upper_bound, + csiz->effective_bits, ct_extensible ? " EXT" : ""); + + /* Figure out wheter size lies within PER visible constraint */ + + if(csiz->effective_bits >= 0) { + if((int)sizeinunits < csiz->lower_bound + || (int)sizeinunits > csiz->upper_bound) { + if(ct_extensible) { + cval = &asn_DEF_OCTET_STRING_constraints.value; + csiz = &asn_DEF_OCTET_STRING_constraints.size; + unit_bits = canonical_unit_bits; + inext = 1; + } else + ASN__ENCODE_FAILED; + } + } else { + inext = 0; + } + + if(ct_extensible) { + /* Declare whether length is [not] within extension root */ + if(per_put_few_bits(po, inext, 1)) + ASN__ENCODE_FAILED; + } + + /* X.691, #16.5: zero-length encoding */ + /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ + /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ + if(csiz->effective_bits >= 0) { + ASN_DEBUG("Encoding %zu bytes (%lld), length in %d bits", + st->size, (long long int)(sizeinunits - csiz->lower_bound), + csiz->effective_bits); + if (csiz->effective_bits > 0) { + ret = aper_put_length(po, csiz->lower_bound, csiz->upper_bound, + sizeinunits - csiz->lower_bound, NULL); + if(ret < 0) ASN__ENCODE_FAILED; + } + if (csiz->effective_bits > 0 || (st->size > 2) + || (csiz->upper_bound > (2 * 8 / unit_bits)) + || (csiz->range_bits != 0)) + { /* X.691 #16 NOTE 1 for fixed length (<=16 bits) strings*/ + if (aper_put_align(po) < 0) + ASN__ENCODE_FAILED; + } + if(bpc) { + ret = OCTET_STRING_per_put_characters(po, st->buf, + sizeinunits, + bpc, unit_bits, + cval->lower_bound, + cval->upper_bound, + pc); + } else { + ret = per_put_many_bits(po, st->buf, + sizeinunits * unit_bits); + } + if(ret) ASN__ENCODE_FAILED; + ASN__ENCODED_OK(er); + } + + ASN_DEBUG("Encoding %zu bytes", st->size); + + if(sizeinunits == 0) { + if(aper_put_length(po, -1, -1, 0, NULL) < 0) + ASN__ENCODE_FAILED; + ASN__ENCODED_OK(er); + } + + buf = st->buf; + while(sizeinunits) { + int need_eom = 0; + ssize_t maySave = aper_put_length(po, -1, -1, sizeinunits, &need_eom); + + if(maySave < 0) ASN__ENCODE_FAILED; + + ASN_DEBUG("Encoding %ld of %ld", + (long)maySave, (long)sizeinunits); + + if(bpc) { + ret = OCTET_STRING_per_put_characters(po, buf, maySave, + bpc, unit_bits, + cval->lower_bound, + cval->upper_bound, + pc); + } else { + ret = per_put_many_bits(po, buf, maySave * unit_bits); + } + if(ret) ASN__ENCODE_FAILED; + + if(bpc) + buf += maySave * bpc; + else + buf += maySave >> 3; + sizeinunits -= maySave; + assert(!(maySave & 0x07) || !sizeinunits); + if(need_eom && (aper_put_length(po, -1, -1, 0, NULL) < 0)) + ASN__ENCODE_FAILED; /* End of Message length */ + } + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_ber.c b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_ber.c new file mode 100644 index 000000000..9530eaedb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_ber.c @@ -0,0 +1,525 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include /* for .bits_unused member */ + +#undef _CH_PHASE +#define _CH_PHASE(ctx, inc) do {\ + if(ctx->phase == 0)\ + ctx->context = 0;\ + ctx->phase += inc;\ + } while(0) + +#undef NEXT_PHASE +#define NEXT_PHASE(ctx) _CH_PHASE(ctx, +1) +#undef PREV_PHASE +#define PREV_PHASE(ctx) _CH_PHASE(ctx, -1) + +#undef ADVANCE +#define ADVANCE(num_bytes) do {\ + size_t num = (num_bytes);\ + buf_ptr = ((const char *)buf_ptr) + num;\ + size -= num;\ + consumed_myself += num;\ + } while(0) + +#undef RETURN +#define RETURN(_code) do {\ + asn_dec_rval_t tmprval;\ + tmprval.code = _code;\ + tmprval.consumed = consumed_myself;\ + return tmprval;\ + } while(0) + +#undef APPEND +#define APPEND(bufptr, bufsize) do {\ + size_t _bs = (bufsize); /* Append size */\ + size_t _ns = ctx->context; /* Allocated now */\ + size_t _es = st->size + _bs; /* Expected size */\ + /* int is really a typeof(st->size): */\ + if((int)_es < 0) RETURN(RC_FAIL);\ + if(_ns <= _es) {\ + void *ptr;\ + /* Be nice and round to the memory allocator */\ + do { _ns = _ns ? _ns << 1 : 16; }\ + while(_ns <= _es);\ + /* int is really a typeof(st->size): */\ + if((int)_ns < 0) RETURN(RC_FAIL);\ + ptr = REALLOC(st->buf, _ns);\ + if(ptr) {\ + st->buf = (uint8_t *)ptr;\ + ctx->context = _ns;\ + } else {\ + RETURN(RC_FAIL);\ + }\ + ASN_DEBUG("Reallocating into %ld", (long)_ns);\ + }\ + memcpy(st->buf + st->size, bufptr, _bs);\ + /* Convenient nul-termination */\ + st->buf[_es] = '\0';\ + st->size = _es;\ + } while(0) + +/* + * The main reason why ASN.1 is still alive is that too much time and effort + * is necessary for learning it more or less adequately, thus creating a gut + * necessity to demonstrate that acquired skill everywhere afterwards. + * No, I am not going to explain what the following stuff is. + */ +static struct _stack_el * +OS__add_stack_el(struct _stack *st) { + struct _stack_el *nel; + + /* + * Reuse the old stack frame or allocate a new one. + */ + if(st->cur_ptr && st->cur_ptr->next) { + nel = st->cur_ptr->next; + nel->bits_chopped = 0; + nel->got = 0; + /* Retain the nel->cont_level, it's correct. */ + } else { + nel = (struct _stack_el *)CALLOC(1, sizeof(struct _stack_el)); + if(nel == NULL) + return NULL; + + if(st->tail) { + /* Increase a subcontainment depth */ + nel->cont_level = st->tail->cont_level + 1; + st->tail->next = nel; + } + nel->prev = st->tail; + st->tail = nel; + } + + st->cur_ptr = nel; + + return nel; +} + +static struct _stack * +_new_stack(void) { + return (struct _stack *)CALLOC(1, sizeof(struct _stack)); +} + +/* + * Decode OCTET STRING type. + */ +asn_dec_rval_t +OCTET_STRING_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const void *buf_ptr, size_t size, int tag_mode) { + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + BIT_STRING_t *st = (BIT_STRING_t *)*sptr; + asn_dec_rval_t rval; + asn_struct_ctx_t *ctx; + ssize_t consumed_myself = 0; + struct _stack *stck; /* Expectations stack structure */ + struct _stack_el *sel = 0; /* Stack element */ + int tlv_constr; + enum asn_OS_Subvariant type_variant = specs->subvariant; + + ASN_DEBUG("Decoding %s as %s (frame %ld)", + td->name, + (type_variant == ASN_OSUBV_STR) ? + "OCTET STRING" : "OS-SpecialCase", + (long)size); + + /* + * Create the string if does not exist. + */ + if(st == NULL) { + st = (BIT_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(st == NULL) RETURN(RC_FAIL); + } + + /* Restore parsing context */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + switch(ctx->phase) { + case 0: + /* + * Check tags. + */ + rval = ber_check_tags(opt_codec_ctx, td, ctx, + buf_ptr, size, tag_mode, -1, + &ctx->left, &tlv_constr); + if(rval.code != RC_OK) + return rval; + + if(tlv_constr) { + /* + * Complex operation, requires stack of expectations. + */ + ctx->ptr = _new_stack(); + if(!ctx->ptr) { + RETURN(RC_FAIL); + } + } else { + /* + * Jump into stackless primitive decoding. + */ + _CH_PHASE(ctx, 3); + if(type_variant == ASN_OSUBV_ANY && tag_mode != 1) + APPEND(buf_ptr, rval.consumed); + ADVANCE(rval.consumed); + goto phase3; + } + + NEXT_PHASE(ctx); + /* Fall through */ + case 1: + phase1: + /* + * Fill the stack with expectations. + */ + stck = (struct _stack *)ctx->ptr; + sel = stck->cur_ptr; + do { + ber_tlv_tag_t tlv_tag; + ber_tlv_len_t tlv_len; + ber_tlv_tag_t expected_tag; + ssize_t tl, ll, tlvl; + /* This one works even if (sel->left == -1) */ + size_t Left = ((!sel||(size_t)sel->left >= size) + ?size:(size_t)sel->left); + + + ASN_DEBUG("%p, s->l=%ld, s->wn=%ld, s->g=%ld\n", (void *)sel, + (long)(sel?sel->left:0), + (long)(sel?sel->want_nulls:0), + (long)(sel?sel->got:0) + ); + if(sel && sel->left <= 0 && sel->want_nulls == 0) { + if(sel->prev) { + struct _stack_el *prev = sel->prev; + if(prev->left != -1) { + if(prev->left < sel->got) + RETURN(RC_FAIL); + prev->left -= sel->got; + } + prev->got += sel->got; + sel = stck->cur_ptr = prev; + if(!sel) break; + tlv_constr = 1; + continue; + } else { + sel = stck->cur_ptr = 0; + break; /* Nothing to wait */ + } + } + + tl = ber_fetch_tag(buf_ptr, Left, &tlv_tag); + ASN_DEBUG("fetch tag(size=%ld,L=%ld), %sstack, left=%ld, wn=%ld, tl=%ld", + (long)size, (long)Left, sel?"":"!", + (long)(sel?sel->left:0), + (long)(sel?sel->want_nulls:0), + (long)tl); + switch(tl) { + case -1: RETURN(RC_FAIL); + case 0: RETURN(RC_WMORE); + } + + tlv_constr = BER_TLV_CONSTRUCTED(buf_ptr); + + ll = ber_fetch_length(tlv_constr, + (const char *)buf_ptr + tl,Left - tl,&tlv_len); + ASN_DEBUG("Got tag=%s, tc=%d, left=%ld, tl=%ld, len=%ld, ll=%ld", + ber_tlv_tag_string(tlv_tag), tlv_constr, + (long)Left, (long)tl, (long)tlv_len, (long)ll); + switch(ll) { + case -1: RETURN(RC_FAIL); + case 0: RETURN(RC_WMORE); + } + + if(sel && sel->want_nulls + && ((const uint8_t *)buf_ptr)[0] == 0 + && ((const uint8_t *)buf_ptr)[1] == 0) + { + ASN_DEBUG("Eat EOC; wn=%d--", sel->want_nulls); + + if(type_variant == ASN_OSUBV_ANY + && (tag_mode != 1 || sel->cont_level)) + APPEND("\0\0", 2); + + ADVANCE(2); + sel->got += 2; + if(sel->left != -1) { + sel->left -= 2; /* assert(sel->left >= 2) */ + } + + sel->want_nulls--; + if(sel->want_nulls == 0) { + /* Move to the next expectation */ + sel->left = 0; + tlv_constr = 1; + } + + continue; + } + + /* + * Set up expected tags, + * depending on ASN.1 type being decoded. + */ + switch(type_variant) { + case ASN_OSUBV_BIT: + /* X.690: 8.6.4.1, NOTE 2 */ + /* Fall through */ + case ASN_OSUBV_STR: + default: + if(sel) { + unsigned level = sel->cont_level; + if(level < td->all_tags_count) { + expected_tag = td->all_tags[level]; + break; + } else if(td->all_tags_count) { + expected_tag = td->all_tags + [td->all_tags_count - 1]; + break; + } + /* else, Fall through */ + } + /* Fall through */ + case ASN_OSUBV_ANY: + expected_tag = tlv_tag; + break; + } + + if(tlv_tag != expected_tag) { + char buf[2][32]; + ber_tlv_tag_snprint(tlv_tag, + buf[0], sizeof(buf[0])); + ber_tlv_tag_snprint(td->tags[td->tags_count-1], + buf[1], sizeof(buf[1])); + ASN_DEBUG("Tag does not match expectation: %s != %s", + buf[0], buf[1]); + RETURN(RC_FAIL); + } + + tlvl = tl + ll; /* Combined length of T and L encoding */ + if((tlv_len + tlvl) < 0) { + /* tlv_len value is too big */ + ASN_DEBUG("TLV encoding + length (%ld) is too big", + (long)tlv_len); + RETURN(RC_FAIL); + } + + /* + * Append a new expectation. + */ + sel = OS__add_stack_el(stck); + if(!sel) RETURN(RC_FAIL); + + sel->tag = tlv_tag; + + sel->want_nulls = (tlv_len==-1); + if(sel->prev && sel->prev->left != -1) { + /* Check that the parent frame is big enough */ + if(sel->prev->left < tlvl + (tlv_len==-1?0:tlv_len)) + RETURN(RC_FAIL); + if(tlv_len == -1) + sel->left = sel->prev->left - tlvl; + else + sel->left = tlv_len; + } else { + sel->left = tlv_len; + } + if(type_variant == ASN_OSUBV_ANY + && (tag_mode != 1 || sel->cont_level)) + APPEND(buf_ptr, tlvl); + sel->got += tlvl; + ADVANCE(tlvl); + + ASN_DEBUG("+EXPECT2 got=%ld left=%ld, wn=%d, clvl=%u", + (long)sel->got, (long)sel->left, + sel->want_nulls, sel->cont_level); + + } while(tlv_constr); + if(sel == NULL) { + /* Finished operation, "phase out" */ + ASN_DEBUG("Phase out"); + _CH_PHASE(ctx, +3); + break; + } + + NEXT_PHASE(ctx); + /* Fall through */ + case 2: + stck = (struct _stack *)ctx->ptr; + sel = stck->cur_ptr; + ASN_DEBUG("Phase 2: Need %ld bytes, size=%ld, alrg=%ld, wn=%d", + (long)sel->left, (long)size, (long)sel->got, + sel->want_nulls); + { + ber_tlv_len_t len; + + assert(sel->left >= 0); + + len = ((ber_tlv_len_t)size < sel->left) + ? (ber_tlv_len_t)size : sel->left; + if(len > 0) { + if(type_variant == ASN_OSUBV_BIT + && sel->bits_chopped == 0) { + /* Put the unused-bits-octet away */ + st->bits_unused = *(const uint8_t *)buf_ptr; + APPEND(((const char *)buf_ptr+1), (len - 1)); + sel->bits_chopped = 1; + } else { + APPEND(buf_ptr, len); + } + ADVANCE(len); + sel->left -= len; + sel->got += len; + } + + if(sel->left) { + ASN_DEBUG("OS left %ld, size = %ld, wn=%d\n", + (long)sel->left, (long)size, sel->want_nulls); + RETURN(RC_WMORE); + } + + PREV_PHASE(ctx); + goto phase1; + } + break; + case 3: + phase3: + /* + * Primitive form, no stack required. + */ + assert(ctx->left >= 0); + + if(size < (size_t)ctx->left) { + if(!size) RETURN(RC_WMORE); + if(type_variant == ASN_OSUBV_BIT && !ctx->context) { + st->bits_unused = *(const uint8_t *)buf_ptr; + ctx->left--; + ADVANCE(1); + } + APPEND(buf_ptr, size); + assert(ctx->context > 0); + ctx->left -= size; + ADVANCE(size); + RETURN(RC_WMORE); + } else { + if(type_variant == ASN_OSUBV_BIT + && !ctx->context && ctx->left) { + st->bits_unused = *(const uint8_t *)buf_ptr; + ctx->left--; + ADVANCE(1); + } + APPEND(buf_ptr, ctx->left); + ADVANCE(ctx->left); + ctx->left = 0; + + NEXT_PHASE(ctx); + } + break; + } + + if(sel) { + ASN_DEBUG("3sel p=%p, wn=%d, l=%ld, g=%ld, size=%ld", + (void *)sel->prev, sel->want_nulls, + (long)sel->left, (long)sel->got, (long)size); + if(sel->prev || sel->want_nulls > 1 || sel->left > 0) { + RETURN(RC_WMORE); + } + } + + /* + * BIT STRING-specific processing. + */ + if(type_variant == ASN_OSUBV_BIT) { + if(st->size) { + if(st->bits_unused < 0 || st->bits_unused > 7) { + RETURN(RC_FAIL); + } + /* Finalize BIT STRING: zero out unused bits. */ + st->buf[st->size-1] &= 0xff << st->bits_unused; + } else { + if(st->bits_unused) { + RETURN(RC_FAIL); + } + } + } + + ASN_DEBUG("Took %ld bytes to encode %s: [%s]:%ld", + (long)consumed_myself, td->name, + (type_variant == ASN_OSUBV_STR) ? (char *)st->buf : "", + (long)st->size); + + + RETURN(RC_OK); +} + +/* + * Encode OCTET STRING type using DER. + */ +asn_enc_rval_t +OCTET_STRING_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t er = { 0, 0, 0 }; + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + enum asn_OS_Subvariant type_variant = specs->subvariant; + int fix_last_byte = 0; + + ASN_DEBUG("%s %s as OCTET STRING", + cb?"Estimating":"Encoding", td->name); + + /* + * Write tags. + */ + if(type_variant != ASN_OSUBV_ANY || tag_mode == 1) { + er.encoded = der_write_tags(td, + (type_variant == ASN_OSUBV_BIT) + st->size, + tag_mode, type_variant == ASN_OSUBV_ANY, tag, + cb, app_key); + if(er.encoded == -1) { + er.failed_type = td; + er.structure_ptr = sptr; + return er; + } + } else { + /* Disallow: [] IMPLICIT ANY */ + assert(type_variant != ASN_OSUBV_ANY || tag_mode != -1); + er.encoded = 0; + } + + if(!cb) { + er.encoded += (type_variant == ASN_OSUBV_BIT) + st->size; + ASN__ENCODED_OK(er); + } + + /* + * Prepare to deal with the last octet of BIT STRING. + */ + if(type_variant == ASN_OSUBV_BIT) { + uint8_t b = st->bits_unused & 0x07; + if(b && st->size) fix_last_byte = 1; + ASN__CALLBACK(&b, 1); + } + + /* Invoke callback for the main part of the buffer */ + ASN__CALLBACK(st->buf, st->size - fix_last_byte); + + /* The last octet should be stripped off the unused bits */ + if(fix_last_byte) { + uint8_t b = st->buf[st->size-1] & (0xff << st->bits_unused); + ASN__CALLBACK(&b, 1); + } + + ASN__ENCODED_OK(er); +cb_failed: + ASN__ENCODE_FAILED; +} diff --git a/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_oer.c b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_oer.c new file mode 100644 index 000000000..e69d0a6a4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_oer.c @@ -0,0 +1,166 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +OCTET_STRING_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, void **sptr, + const void *ptr, size_t size) { + const asn_OCTET_STRING_specifics_t *specs = + td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + OCTET_STRING_t *st = (OCTET_STRING_t *)*sptr; + const asn_oer_constraints_t *cts = + constraints ? constraints : td->encoding_constraints.oer_constraints; + ssize_t ct_size = cts ? cts->size : -1; + asn_dec_rval_t rval = {RC_OK, 0}; + size_t expected_length = 0; + + size_t unit_bytes; + switch(specs->subvariant) { + default: + case ASN_OSUBV_BIT: + ASN_DEBUG("Invalid use of OCTET STRING to decode BIT STRING"); + ASN__DECODE_FAILED; + case ASN_OSUBV_ANY: + /* Fall through */ + case ASN_OSUBV_STR: + unit_bytes = 1; + break; + case ASN_OSUBV_U16: + unit_bytes = 2; + break; + case ASN_OSUBV_U32: + unit_bytes = 4; + break; + } + + (void)opt_codec_ctx; + + if(!st) { + st = (OCTET_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) ASN__DECODE_FAILED; + } + + if(ct_size >= 0) { + expected_length = unit_bytes * ct_size; + } else { + /* + * X.696 (08/2015) #27.2 + * Encode length determinant as _number of octets_, but only + * if upper bound is not equal to lower bound. + */ + ssize_t len_len = oer_fetch_length(ptr, size, &expected_length); + if(len_len > 0) { + rval.consumed = len_len; + ptr = (const char *)ptr + len_len; + size -= len_len; + } else if(len_len == 0) { + ASN__DECODE_STARVED; + } else if(len_len < 0) { + ASN__DECODE_FAILED; + } + + if(expected_length % unit_bytes != 0) { + ASN_DEBUG( + "Data size %" ASN_PRI_SIZE " bytes is not consistent with multiplier %" ASN_PRI_SIZE "", + expected_length, unit_bytes); + ASN__DECODE_FAILED; + } + } + + if(size < expected_length) { + ASN__DECODE_STARVED; + } else { + uint8_t *buf = MALLOC(expected_length + 1); + if(buf == NULL) { + ASN__DECODE_FAILED; + } else { + memcpy(buf, ptr, expected_length); + buf[expected_length] = '\0'; + } + FREEMEM(st->buf); + st->buf = buf; + st->size = expected_length; + + rval.consumed += expected_length; + return rval; + } +} + +/* + * Encode as Canonical OER. + */ +asn_enc_rval_t +OCTET_STRING_encode_oer(const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, + const void *sptr, asn_app_consume_bytes_f *cb, + void *app_key) { + const asn_OCTET_STRING_specifics_t *specs = + td->specifics ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + const asn_oer_constraints_t *cts = + constraints ? constraints : td->encoding_constraints.oer_constraints; + ssize_t ct_size = cts ? cts->size : -1; + asn_enc_rval_t er = {0, 0, 0}; + + if(!st) ASN__ENCODE_FAILED; + + ASN_DEBUG("Encoding %s %" ASN_PRI_SIZE " as OCTET STRING", td ? td->name : "", st->size); + + if(ct_size >= 0) { + /* + * Check that available data matches the constraint + */ + size_t unit_bytes; + switch(specs->subvariant) { + default: + case ASN_OSUBV_BIT: + ASN_DEBUG("Invalid use of OCTET STRING to encode BIT STRING"); + ASN__ENCODE_FAILED; + case ASN_OSUBV_ANY: + /* Fall through */ + case ASN_OSUBV_STR: + unit_bytes = 1; + break; + case ASN_OSUBV_U16: + unit_bytes = 2; + break; + case ASN_OSUBV_U32: + unit_bytes = 4; + break; + } + + if(st->size != unit_bytes * (size_t)ct_size) { + ASN_DEBUG( + "Trying to encode %s (%" ASN_PRI_SIZE " bytes) which doesn't fit SIZE " + "constraint (%" ASN_PRI_SIZE ")", + td->name, st->size, ct_size); + ASN__ENCODE_FAILED; + } + } else { + /* + * X.696 (08/2015) #27.2 + * Encode length determinant as _number of octets_, but only + * if upper bound is not equal to lower bound. + */ + ssize_t ret = oer_serialize_length(st->size, cb, app_key); + if(ret < 0) { + ASN__ENCODE_FAILED; + } + er.encoded += ret; + } + + er.encoded += st->size; + if(cb(st->buf, st->size, app_key) < 0) { + ASN__ENCODE_FAILED; + } else { + ASN__ENCODED_OK(er); + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_print.c b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_print.c new file mode 100644 index 000000000..6daa33e9f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_print.c @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +int +OCTET_STRING_print(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + const char * const h2c = "0123456789ABCDEF"; + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + char scratch[16 * 3 + 4]; + char *p = scratch; + uint8_t *buf; + uint8_t *end; + size_t i; + + (void)td; /* Unused argument */ + + if(!st || (!st->buf && st->size)) + return (cb("", 8, app_key) < 0) ? -1 : 0; + + /* + * Dump the contents of the buffer in hexadecimal. + */ + buf = st->buf; + end = (buf == NULL)? NULL : buf + st->size; + for(i = 0; buf < end; buf++, i++) { + if(!(i % 16) && (i || st->size > 16)) { + if(cb(scratch, p - scratch, app_key) < 0) + return -1; + _i_INDENT(1); + p = scratch; + } + *p++ = h2c[(*buf >> 4) & 0x0F]; + *p++ = h2c[*buf & 0x0F]; + *p++ = 0x20; + } + + if(p > scratch) { + p--; /* Remove the tail space */ + if(cb(scratch, p - scratch, app_key) < 0) + return -1; + } + + return 0; +} + +int +OCTET_STRING_print_utf8(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, asn_app_consume_bytes_f *cb, + void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + + (void)td; /* Unused argument */ + (void)ilevel; /* Unused argument */ + + if(st && (st->buf || !st->size)) { + return (cb(st->buf, st->size, app_key) < 0) ? -1 : 0; + } else { + return (cb("", 8, app_key) < 0) ? -1 : 0; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_rfill.c b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_rfill.c new file mode 100644 index 000000000..5c8b0648e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_rfill.c @@ -0,0 +1,209 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * Biased function for randomizing character values around their limits. + */ +static uint32_t +OCTET_STRING__random_char(unsigned long lb, unsigned long ub) { + assert(lb <= ub); + switch(asn_random_between(0, 16)) { + case 0: + if(lb < ub) return lb + 1; + /* Fall through */ + case 1: + return lb; + case 2: + if(lb < ub) return ub - 1; + /* Fall through */ + case 3: + return ub; + default: + return asn_random_between(lb, ub); + } +} + +asn_random_fill_result_t +OCTET_STRING_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + unsigned int unit_bytes = 1; + unsigned long clb = 0; /* Lower bound on char */ + unsigned long cub = 255; /* Higher bound on char value */ + uint8_t *buf; + uint8_t *bend; + uint8_t *b; + size_t rnd_len; + OCTET_STRING_t *st; + + if(max_length == 0 && !*sptr) return result_skipped; + + switch(specs->subvariant) { + default: + case ASN_OSUBV_ANY: + return result_failed; + case ASN_OSUBV_BIT: + /* Handled by BIT_STRING itself. */ + return result_failed; + case ASN_OSUBV_STR: + unit_bytes = 1; + clb = 0; + cub = 255; + break; + case ASN_OSUBV_U16: + unit_bytes = 2; + clb = 0; + cub = 65535; + break; + case ASN_OSUBV_U32: + unit_bytes = 4; + clb = 0; + cub = 0x10FFFF; + break; + } + +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + if(!constraints || !constraints->per_constraints) + constraints = &td->encoding_constraints; + if(constraints->per_constraints) { + const asn_per_constraint_t *pc = &constraints->per_constraints->value; + if(pc->flags & APC_SEMI_CONSTRAINED) { + clb = pc->lower_bound; + } else if(pc->flags & APC_CONSTRAINED) { + clb = pc->lower_bound; + cub = pc->upper_bound; + } + } +#else + if(!constraints) constraints = &td->encoding_constraints; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + + rnd_len = + OCTET_STRING_random_length_constrained(td, constraints, max_length); + + buf = CALLOC(unit_bytes, rnd_len + 1); + if(!buf) return result_failed; + + bend = &buf[unit_bytes * rnd_len]; + + switch(unit_bytes) { + case 1: + for(b = buf; b < bend; b += unit_bytes) { + *(uint8_t *)b = OCTET_STRING__random_char(clb, cub); + } + *(uint8_t *)b = 0; + break; + case 2: + for(b = buf; b < bend; b += unit_bytes) { + uint32_t code = OCTET_STRING__random_char(clb, cub); + b[0] = code >> 8; + b[1] = code; + } + *(uint16_t *)b = 0; + break; + case 4: + for(b = buf; b < bend; b += unit_bytes) { + uint32_t code = OCTET_STRING__random_char(clb, cub); + b[0] = code >> 24; + b[1] = code >> 16; + b[2] = code >> 8; + b[3] = code; + } + *(uint32_t *)b = 0; + break; + } + + if(*sptr) { + st = *sptr; + FREEMEM(st->buf); + } else { + st = (OCTET_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) { + FREEMEM(buf); + return result_failed; + } + } + + st->buf = buf; + st->size = unit_bytes * rnd_len; + + result_ok.length = st->size; + return result_ok; +} + +size_t +OCTET_STRING_random_length_constrained( + const asn_TYPE_descriptor_t *td, + const asn_encoding_constraints_t *constraints, size_t max_length) { + const unsigned lengths[] = {0, 1, 2, 3, 4, 8, + 126, 127, 128, 16383, 16384, 16385, + 65534, 65535, 65536, 65537}; + size_t rnd_len; + + /* Figure out how far we should go */ + rnd_len = lengths[asn_random_between( + 0, sizeof(lengths) / sizeof(lengths[0]) - 1)]; + +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + if(!constraints || !constraints->per_constraints) + constraints = &td->encoding_constraints; + if(constraints->per_constraints) { + const asn_per_constraint_t *pc = &constraints->per_constraints->size; + if(pc->flags & APC_CONSTRAINED) { + long suggested_upper_bound = pc->upper_bound < (ssize_t)max_length + ? pc->upper_bound + : (ssize_t)max_length; + if(max_length <= (size_t)pc->lower_bound) { + return pc->lower_bound; + } + if(pc->flags & APC_EXTENSIBLE) { + switch(asn_random_between(0, 5)) { + case 0: + if(pc->lower_bound > 0) { + rnd_len = pc->lower_bound - 1; + break; + } + /* Fall through */ + case 1: + rnd_len = pc->upper_bound + 1; + break; + case 2: + /* Keep rnd_len from the table */ + if(rnd_len <= max_length) { + break; + } + /* Fall through */ + default: + rnd_len = asn_random_between(pc->lower_bound, + suggested_upper_bound); + } + } else { + rnd_len = + asn_random_between(pc->lower_bound, suggested_upper_bound); + } + } else { + rnd_len = asn_random_between(0, max_length); + } + } else { +#else + if(!constraints) constraints = &td->encoding_constraints; + { +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + if(rnd_len > max_length) { + rnd_len = asn_random_between(0, max_length); + } + } + + return rnd_len; +} diff --git a/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_uper.c b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_uper.c new file mode 100644 index 000000000..80130cadc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_uper.c @@ -0,0 +1,319 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include /* for .bits_unused member */ + +#undef RETURN +#define RETURN(_code) do {\ + asn_dec_rval_t tmprval;\ + tmprval.code = _code;\ + tmprval.consumed = consumed_myself;\ + return tmprval;\ + } while(0) + +static asn_per_constraints_t asn_DEF_OCTET_STRING_constraints = { + { APC_CONSTRAINED, 8, 8, 0, 255 }, + { APC_SEMI_CONSTRAINED, -1, -1, 0, 0 }, + 0, 0 +}; + +asn_dec_rval_t +OCTET_STRING_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + const asn_per_constraints_t *pc = + constraints ? constraints : td->encoding_constraints.per_constraints; + const asn_per_constraint_t *cval; + const asn_per_constraint_t *csiz; + asn_dec_rval_t rval = { RC_OK, 0 }; + OCTET_STRING_t *st = (OCTET_STRING_t *)*sptr; + ssize_t consumed_myself = 0; + int repeat; + enum { + OS__BPC_CHAR = 1, + OS__BPC_U16 = 2, + OS__BPC_U32 = 4 + } bpc; /* Bytes per character */ + unsigned int unit_bits; + unsigned int canonical_unit_bits; + + (void)opt_codec_ctx; + + if(pc) { + cval = &pc->value; + csiz = &pc->size; + } else { + cval = &asn_DEF_OCTET_STRING_constraints.value; + csiz = &asn_DEF_OCTET_STRING_constraints.size; + } + + switch(specs->subvariant) { + default: + case ASN_OSUBV_ANY: + case ASN_OSUBV_BIT: + ASN_DEBUG("Unrecognized subvariant %d", specs->subvariant); + RETURN(RC_FAIL); + break; + case ASN_OSUBV_STR: + canonical_unit_bits = unit_bits = 8; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_CHAR; + break; + case ASN_OSUBV_U16: + canonical_unit_bits = unit_bits = 16; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U16; + break; + case ASN_OSUBV_U32: + canonical_unit_bits = unit_bits = 32; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U32; + break; + } + + /* + * Allocate the string. + */ + if(!st) { + st = (OCTET_STRING_t *)(*sptr = CALLOC(1, specs->struct_size)); + if(!st) RETURN(RC_FAIL); + } + + ASN_DEBUG("PER Decoding %s size %ld .. %ld bits %d", + csiz->flags & APC_EXTENSIBLE ? "extensible" : "non-extensible", + csiz->lower_bound, csiz->upper_bound, csiz->effective_bits); + + if(csiz->flags & APC_EXTENSIBLE) { + int inext = per_get_few_bits(pd, 1); + if(inext < 0) RETURN(RC_WMORE); + if(inext) { + csiz = &asn_DEF_OCTET_STRING_constraints.size; + unit_bits = canonical_unit_bits; + } + } + + if(csiz->effective_bits >= 0) { + FREEMEM(st->buf); + if(bpc) { + st->size = csiz->upper_bound * bpc; + } else { + st->size = (csiz->upper_bound + 7) >> 3; + } + st->buf = (uint8_t *)MALLOC(st->size + 1); + if(!st->buf) { st->size = 0; RETURN(RC_FAIL); } + } + + /* X.691, #16.5: zero-length encoding */ + /* X.691, #16.6: short fixed length encoding (up to 2 octets) */ + /* X.691, #16.7: long fixed length encoding (up to 64K octets) */ + if(csiz->effective_bits == 0) { + int ret; + if(bpc) { + ASN_DEBUG("Encoding OCTET STRING size %ld", + csiz->upper_bound); + ret = OCTET_STRING_per_get_characters(pd, st->buf, + csiz->upper_bound, + bpc, unit_bits, + cval->lower_bound, + cval->upper_bound, + pc); + if(ret > 0) RETURN(RC_FAIL); + } else { + ASN_DEBUG("Encoding BIT STRING size %ld", + csiz->upper_bound); + ret = per_get_many_bits(pd, st->buf, 0, + unit_bits * csiz->upper_bound); + } + if(ret < 0) RETURN(RC_WMORE); + consumed_myself += unit_bits * csiz->upper_bound; + st->buf[st->size] = 0; + RETURN(RC_OK); + } + + st->size = 0; + do { + ssize_t raw_len; + ssize_t len_bytes; + void *p; + int ret; + + /* Get the PER length */ + raw_len = uper_get_length(pd, csiz->effective_bits, csiz->lower_bound, + &repeat); + if(raw_len < 0) RETURN(RC_WMORE); + if(raw_len == 0 && st->buf) break; + + ASN_DEBUG("Got PER length eb %ld, len %ld, %s (%s)", + (long)csiz->effective_bits, (long)raw_len, + repeat ? "repeat" : "once", td->name); + len_bytes = raw_len * bpc; + p = REALLOC(st->buf, st->size + len_bytes + 1); + if(!p) RETURN(RC_FAIL); + st->buf = (uint8_t *)p; + + ret = OCTET_STRING_per_get_characters(pd, &st->buf[st->size], raw_len, + bpc, unit_bits, cval->lower_bound, + cval->upper_bound, pc); + if(ret > 0) RETURN(RC_FAIL); + if(ret < 0) RETURN(RC_WMORE); + st->size += len_bytes; + } while(repeat); + st->buf[st->size] = 0; /* nul-terminate */ + + return rval; +} + +asn_enc_rval_t +OCTET_STRING_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + const asn_per_constraints_t *pc = constraints + ? constraints + : td->encoding_constraints.per_constraints; + const asn_per_constraint_t *cval; + const asn_per_constraint_t *csiz; + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + asn_enc_rval_t er = { 0, 0, 0 }; + int inext = 0; /* Lies not within extension root */ + unsigned int unit_bits; + unsigned int canonical_unit_bits; + size_t size_in_units; + const uint8_t *buf; + int ret; + enum { + OS__BPC_CHAR = 1, + OS__BPC_U16 = 2, + OS__BPC_U32 = 4 + } bpc; /* Bytes per character */ + int ct_extensible; + + if(!st || (!st->buf && st->size)) + ASN__ENCODE_FAILED; + + if(pc) { + cval = &pc->value; + csiz = &pc->size; + } else { + cval = &asn_DEF_OCTET_STRING_constraints.value; + csiz = &asn_DEF_OCTET_STRING_constraints.size; + } + ct_extensible = csiz->flags & APC_EXTENSIBLE; + + switch(specs->subvariant) { + default: + case ASN_OSUBV_ANY: + case ASN_OSUBV_BIT: + ASN__ENCODE_FAILED; + case ASN_OSUBV_STR: + canonical_unit_bits = unit_bits = 8; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_CHAR; + size_in_units = st->size; + break; + case ASN_OSUBV_U16: + canonical_unit_bits = unit_bits = 16; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U16; + size_in_units = st->size >> 1; + if(st->size & 1) { + ASN_DEBUG("%s string size is not modulo 2", td->name); + ASN__ENCODE_FAILED; + } + break; + case ASN_OSUBV_U32: + canonical_unit_bits = unit_bits = 32; + if(cval->flags & APC_CONSTRAINED) + unit_bits = cval->range_bits; + bpc = OS__BPC_U32; + size_in_units = st->size >> 2; + if(st->size & 3) { + ASN_DEBUG("%s string size is not modulo 4", td->name); + ASN__ENCODE_FAILED; + } + break; + } + + ASN_DEBUG("Encoding %s into %" ASN_PRI_SIZE " units of %d bits" + " (%ld..%ld, effective %d)%s", + td->name, size_in_units, unit_bits, + csiz->lower_bound, csiz->upper_bound, + csiz->effective_bits, ct_extensible ? " EXT" : ""); + + /* Figure out whether size lies within PER visible constraint */ + + if(csiz->effective_bits >= 0) { + if((ssize_t)size_in_units < csiz->lower_bound + || (ssize_t)size_in_units > csiz->upper_bound) { + if(ct_extensible) { + csiz = &asn_DEF_OCTET_STRING_constraints.size; + unit_bits = canonical_unit_bits; + inext = 1; + } else { + ASN__ENCODE_FAILED; + } + } + } else { + inext = 0; + } + + if(ct_extensible) { + /* Declare whether length is [not] within extension root */ + if(per_put_few_bits(po, inext, 1)) + ASN__ENCODE_FAILED; + } + + if(csiz->effective_bits >= 0 && !inext) { + ASN_DEBUG("Encoding %" ASN_PRI_SIZE " bytes (%ld), length in %d bits", st->size, + size_in_units - csiz->lower_bound, csiz->effective_bits); + ret = per_put_few_bits(po, size_in_units - csiz->lower_bound, + csiz->effective_bits); + if(ret) ASN__ENCODE_FAILED; + ret = OCTET_STRING_per_put_characters(po, st->buf, size_in_units, bpc, + unit_bits, cval->lower_bound, + cval->upper_bound, pc); + if(ret) ASN__ENCODE_FAILED; + ASN__ENCODED_OK(er); + } + + ASN_DEBUG("Encoding %" ASN_PRI_SIZE " bytes", st->size); + + buf = st->buf; + ASN_DEBUG("Encoding %" ASN_PRI_SIZE " in units", size_in_units); + do { + int need_eom = 0; + ssize_t may_save = uper_put_length(po, size_in_units, &need_eom); + if(may_save < 0) ASN__ENCODE_FAILED; + + ASN_DEBUG("Encoding %" ASN_PRI_SSIZE " of %" ASN_PRI_SIZE "%s", may_save, size_in_units, + need_eom ? ",+EOM" : ""); + + ret = OCTET_STRING_per_put_characters(po, buf, may_save, bpc, unit_bits, + cval->lower_bound, + cval->upper_bound, pc); + if(ret) ASN__ENCODE_FAILED; + + buf += may_save * bpc; + size_in_units -= may_save; + assert(!(may_save & 0x07) || !size_in_units); + if(need_eom && uper_put_length(po, 0, 0)) + ASN__ENCODE_FAILED; /* End of Message length */ + } while(size_in_units); + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_xer.c b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_xer.c new file mode 100644 index 000000000..490f362a9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OCTET_STRING_xer.c @@ -0,0 +1,627 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include /* for .bits_unused member */ + +asn_enc_rval_t +OCTET_STRING_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const char * const h2c = "0123456789ABCDEF"; + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + asn_enc_rval_t er = { 0, 0, 0 }; + char scratch[16 * 3 + 4]; + char *p = scratch; + uint8_t *buf; + uint8_t *end; + size_t i; + + if(!st || (!st->buf && st->size)) + ASN__ENCODE_FAILED; + + er.encoded = 0; + + /* + * Dump the contents of the buffer in hexadecimal. + */ + buf = st->buf; + end = buf + st->size; + if(flags & XER_F_CANONICAL) { + char *scend = scratch + (sizeof(scratch) - 2); + for(; buf < end; buf++) { + if(p >= scend) { + ASN__CALLBACK(scratch, p - scratch); + p = scratch; + } + *p++ = h2c[(*buf >> 4) & 0x0F]; + *p++ = h2c[*buf & 0x0F]; + } + + ASN__CALLBACK(scratch, p-scratch); /* Dump the rest */ + } else { + for(i = 0; buf < end; buf++, i++) { + if(!(i % 16) && (i || st->size > 16)) { + ASN__CALLBACK(scratch, p-scratch); + p = scratch; + ASN__TEXT_INDENT(1, ilevel); + } + *p++ = h2c[(*buf >> 4) & 0x0F]; + *p++ = h2c[*buf & 0x0F]; + *p++ = 0x20; + } + if(p - scratch) { + p--; /* Remove the tail space */ + ASN__CALLBACK(scratch, p-scratch); /* Dump the rest */ + if(st->size > 16) + ASN__TEXT_INDENT(1, ilevel-1); + } + } + + ASN__ENCODED_OK(er); +cb_failed: + ASN__ENCODE_FAILED; +} + +static const struct OCTET_STRING__xer_escape_table_s { + const char *string; + int size; +} OCTET_STRING__xer_escape_table[] = { +#define OSXET(s) { s, sizeof(s) - 1 } + OSXET("\074\156\165\154\057\076"), /* */ + OSXET("\074\163\157\150\057\076"), /* */ + OSXET("\074\163\164\170\057\076"), /* */ + OSXET("\074\145\164\170\057\076"), /* */ + OSXET("\074\145\157\164\057\076"), /* */ + OSXET("\074\145\156\161\057\076"), /* */ + OSXET("\074\141\143\153\057\076"), /* */ + OSXET("\074\142\145\154\057\076"), /* */ + OSXET("\074\142\163\057\076"), /* */ + OSXET("\011"), /* \t */ + OSXET("\012"), /* \n */ + OSXET("\074\166\164\057\076"), /* */ + OSXET("\074\146\146\057\076"), /* */ + OSXET("\015"), /* \r */ + OSXET("\074\163\157\057\076"), /* */ + OSXET("\074\163\151\057\076"), /* */ + OSXET("\074\144\154\145\057\076"), /* */ + OSXET("\074\144\143\061\057\076"), /* */ + OSXET("\074\144\143\062\057\076"), /* */ + OSXET("\074\144\143\063\057\076"), /* */ + OSXET("\074\144\143\064\057\076"), /* */ + OSXET("\074\156\141\153\057\076"), /* */ + OSXET("\074\163\171\156\057\076"), /* */ + OSXET("\074\145\164\142\057\076"), /* */ + OSXET("\074\143\141\156\057\076"), /* */ + OSXET("\074\145\155\057\076"), /* */ + OSXET("\074\163\165\142\057\076"), /* */ + OSXET("\074\145\163\143\057\076"), /* */ + OSXET("\074\151\163\064\057\076"), /* */ + OSXET("\074\151\163\063\057\076"), /* */ + OSXET("\074\151\163\062\057\076"), /* */ + OSXET("\074\151\163\061\057\076"), /* */ + { 0, 0 }, /* " " */ + { 0, 0 }, /* ! */ + { 0, 0 }, /* \" */ + { 0, 0 }, /* # */ + { 0, 0 }, /* $ */ + { 0, 0 }, /* % */ + OSXET("\046\141\155\160\073"), /* & */ + { 0, 0 }, /* ' */ + {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, /* ()*+,-./ */ + {0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}, /* 01234567 */ + {0,0},{0,0},{0,0},{0,0}, /* 89:; */ + OSXET("\046\154\164\073"), /* < */ + { 0, 0 }, /* = */ + OSXET("\046\147\164\073"), /* > */ +}; + +static int +OS__check_escaped_control_char(const void *buf, int size) { + size_t i; + /* + * Inefficient algorithm which translates the escape sequences + * defined above into characters. Returns -1 if not found. + * TODO: replace by a faster algorithm (bsearch(), hash or + * nested table lookups). + */ + for(i = 0; i < 32 /* Don't spend time on the bottom half */; i++) { + const struct OCTET_STRING__xer_escape_table_s *el; + el = &OCTET_STRING__xer_escape_table[i]; + if(el->size == size && memcmp(buf, el->string, size) == 0) + return i; + } + return -1; +} + +static int +OCTET_STRING__handle_control_chars(void *struct_ptr, const void *chunk_buf, size_t chunk_size) { + /* + * This might be one of the escape sequences + * for control characters. Check it out. + * #11.15.5 + */ + int control_char = OS__check_escaped_control_char(chunk_buf,chunk_size); + if(control_char >= 0) { + OCTET_STRING_t *st = (OCTET_STRING_t *)struct_ptr; + void *p = REALLOC(st->buf, st->size + 2); + if(p) { + st->buf = (uint8_t *)p; + st->buf[st->size++] = control_char; + st->buf[st->size] = '\0'; /* nul-termination */ + return 0; + } + } + + return -1; /* No, it's not */ +} + +asn_enc_rval_t +OCTET_STRING_encode_xer_utf8(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + asn_enc_rval_t er = { 0, 0, 0 }; + uint8_t *buf, *end; + uint8_t *ss; /* Sequence start */ + ssize_t encoded_len = 0; + + (void)ilevel; /* Unused argument */ + (void)flags; /* Unused argument */ + + if(!st || (!st->buf && st->size)) + ASN__ENCODE_FAILED; + + buf = st->buf; + end = buf + st->size; + for(ss = buf; buf < end; buf++) { + unsigned int ch = *buf; + int s_len; /* Special encoding sequence length */ + + /* + * Escape certain characters: X.680/11.15 + */ + if(ch < sizeof(OCTET_STRING__xer_escape_table) + / sizeof(OCTET_STRING__xer_escape_table[0]) + && (s_len = OCTET_STRING__xer_escape_table[ch].size)) { + if(((buf - ss) && cb(ss, buf - ss, app_key) < 0) + || cb(OCTET_STRING__xer_escape_table[ch].string, s_len, app_key) < 0) + ASN__ENCODE_FAILED; + encoded_len += (buf - ss) + s_len; + ss = buf + 1; + } + } + + encoded_len += (buf - ss); + if((buf - ss) && cb(ss, buf - ss, app_key) < 0) + ASN__ENCODE_FAILED; + + er.encoded = encoded_len; + ASN__ENCODED_OK(er); +} + +/* + * Convert from hexadecimal format (cstring): "AB CD EF" + */ +static ssize_t OCTET_STRING__convert_hexadecimal(void *sptr, const void *chunk_buf, size_t chunk_size, int have_more) { + OCTET_STRING_t *st = (OCTET_STRING_t *)sptr; + const char *chunk_stop = (const char *)chunk_buf; + const char *p = chunk_stop; + const char *pend = p + chunk_size; + unsigned int clv = 0; + int half = 0; /* Half bit */ + uint8_t *buf; + + /* Reallocate buffer according to high cap estimation */ + size_t new_size = st->size + (chunk_size + 1) / 2; + void *nptr = REALLOC(st->buf, new_size + 1); + if(!nptr) return -1; + st->buf = (uint8_t *)nptr; + buf = st->buf + st->size; + + /* + * If something like " a b c " appears here, the " a b":3 will be + * converted, and the rest skipped. That is, unless buf_size is greater + * than chunk_size, then it'll be equivalent to "ABC0". + */ + for(; p < pend; p++) { + int ch = *(const unsigned char *)p; + switch(ch) { + case 0x09: case 0x0a: case 0x0c: case 0x0d: + case 0x20: + /* Ignore whitespace */ + continue; + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: /*01234*/ + case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: /*56789*/ + clv = (clv << 4) + (ch - 0x30); + break; + case 0x41: case 0x42: case 0x43: /* ABC */ + case 0x44: case 0x45: case 0x46: /* DEF */ + clv = (clv << 4) + (ch - 0x41 + 10); + break; + case 0x61: case 0x62: case 0x63: /* abc */ + case 0x64: case 0x65: case 0x66: /* def */ + clv = (clv << 4) + (ch - 0x61 + 10); + break; + default: + *buf = 0; /* JIC */ + return -1; + } + if(half++) { + half = 0; + *buf++ = clv; + chunk_stop = p + 1; + } + } + + /* + * Check partial decoding. + */ + if(half) { + if(have_more) { + /* + * Partial specification is fine, + * because no more more PXER_TEXT data is available. + */ + *buf++ = clv << 4; + chunk_stop = p; + } + } else { + chunk_stop = p; + } + + st->size = buf - st->buf; /* Adjust the buffer size */ + assert(st->size <= new_size); + st->buf[st->size] = 0; /* Courtesy termination */ + + return (chunk_stop - (const char *)chunk_buf); /* Converted size */ +} + +/* + * Convert from binary format: "00101011101" + */ +static ssize_t OCTET_STRING__convert_binary(void *sptr, const void *chunk_buf, size_t chunk_size, int have_more) { + BIT_STRING_t *st = (BIT_STRING_t *)sptr; + const char *p = (const char *)chunk_buf; + const char *pend = (p == NULL)? NULL : p + chunk_size; + int bits_unused = st->bits_unused & 0x7; + uint8_t *buf; + + /* Reallocate buffer according to high cap estimation */ + size_t new_size = st->size + (chunk_size + 7) / 8; + void *nptr = REALLOC(st->buf, new_size + 1); + if(!nptr) return -1; + st->buf = (uint8_t *)nptr; + buf = st->buf + st->size; + + (void)have_more; + + if(bits_unused == 0) + bits_unused = 8; + else if(st->size) + buf--; + + /* + * Convert series of 0 and 1 into the octet string. + */ + for(; p < pend; p++) { + int ch = *(const unsigned char *)p; + switch(ch) { + case 0x09: case 0x0a: case 0x0c: case 0x0d: + case 0x20: + /* Ignore whitespace */ + break; + case 0x30: + case 0x31: + if(bits_unused-- <= 0) { + *++buf = 0; /* Clean the cell */ + bits_unused = 7; + } + *buf |= (ch&1) << bits_unused; + break; + default: + st->bits_unused = bits_unused; + return -1; + } + } + + if(bits_unused == 8) { + st->size = buf - st->buf; + st->bits_unused = 0; + } else { + st->size = buf - st->buf + 1; + st->bits_unused = bits_unused; + } + + assert(st->size <= new_size); + st->buf[st->size] = 0; /* Courtesy termination */ + + return chunk_size; /* Converted in full */ +} + +/* + * Something like strtod(), but with stricter rules. + */ +static int +OS__strtoent(int base, const char *buf, const char *end, int32_t *ret_value) { + const int32_t last_unicode_codepoint = 0x10ffff; + int32_t val = 0; + const char *p; + + for(p = buf; p < end; p++) { + int ch = *p; + + switch(ch) { + case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: /*01234*/ + case 0x35: case 0x36: case 0x37: case 0x38: case 0x39: /*56789*/ + val = val * base + (ch - 0x30); + break; + case 0x41: case 0x42: case 0x43: /* ABC */ + case 0x44: case 0x45: case 0x46: /* DEF */ + val = val * base + (ch - 0x41 + 10); + break; + case 0x61: case 0x62: case 0x63: /* abc */ + case 0x64: case 0x65: case 0x66: /* def */ + val = val * base + (ch - 0x61 + 10); + break; + case 0x3b: /* ';' */ + *ret_value = val; + return (p - buf) + 1; + default: + return -1; /* Character set error */ + } + + /* Value exceeds the Unicode range. */ + if(val > last_unicode_codepoint) { + return -1; + } + } + + *ret_value = -1; + return (p - buf); +} + +/* + * Convert from the plain UTF-8 format, expanding entity references: "2 < 3" + */ +static ssize_t +OCTET_STRING__convert_entrefs(void *sptr, const void *chunk_buf, + size_t chunk_size, int have_more) { + OCTET_STRING_t *st = (OCTET_STRING_t *)sptr; + const char *p = (const char *)chunk_buf; + const char *pend = p + chunk_size; + uint8_t *buf; + + /* Reallocate buffer */ + size_t new_size = st->size + chunk_size; + void *nptr = REALLOC(st->buf, new_size + 1); + if(!nptr) return -1; + st->buf = (uint8_t *)nptr; + buf = st->buf + st->size; + + /* + * Convert series of 0 and 1 into the octet string. + */ + for(; p < pend; p++) { + int ch = *(const unsigned char *)p; + int len; /* Length of the rest of the chunk */ + + if(ch != 0x26 /* '&' */) { + *buf++ = ch; + continue; /* That was easy... */ + } + + /* + * Process entity reference. + */ + len = chunk_size - (p - (const char *)chunk_buf); + if(len == 1 /* "&" */) goto want_more; + if(p[1] == 0x23 /* '#' */) { + const char *pval; /* Pointer to start of digits */ + int32_t val = 0; /* Entity reference value */ + int base; + + if(len == 2 /* "&#" */) goto want_more; + if(p[2] == 0x78 /* 'x' */) + pval = p + 3, base = 16; + else + pval = p + 2, base = 10; + len = OS__strtoent(base, pval, p + len, &val); + if(len == -1) { + /* Invalid charset. Just copy verbatim. */ + *buf++ = ch; + continue; + } + if(!len || pval[len-1] != 0x3b) goto want_more; + assert(val > 0); + p += (pval - p) + len - 1; /* Advance past entref */ + + if(val < 0x80) { + *buf++ = (char)val; + } else if(val < 0x800) { + *buf++ = 0xc0 | ((val >> 6)); + *buf++ = 0x80 | ((val & 0x3f)); + } else if(val < 0x10000) { + *buf++ = 0xe0 | ((val >> 12)); + *buf++ = 0x80 | ((val >> 6) & 0x3f); + *buf++ = 0x80 | ((val & 0x3f)); + } else if(val < 0x200000) { + *buf++ = 0xf0 | ((val >> 18)); + *buf++ = 0x80 | ((val >> 12) & 0x3f); + *buf++ = 0x80 | ((val >> 6) & 0x3f); + *buf++ = 0x80 | ((val & 0x3f)); + } else if(val < 0x4000000) { + *buf++ = 0xf8 | ((val >> 24)); + *buf++ = 0x80 | ((val >> 18) & 0x3f); + *buf++ = 0x80 | ((val >> 12) & 0x3f); + *buf++ = 0x80 | ((val >> 6) & 0x3f); + *buf++ = 0x80 | ((val & 0x3f)); + } else { + *buf++ = 0xfc | ((val >> 30) & 0x1); + *buf++ = 0x80 | ((val >> 24) & 0x3f); + *buf++ = 0x80 | ((val >> 18) & 0x3f); + *buf++ = 0x80 | ((val >> 12) & 0x3f); + *buf++ = 0x80 | ((val >> 6) & 0x3f); + *buf++ = 0x80 | ((val & 0x3f)); + } + } else { + /* + * Ugly, limited parsing of & > < + */ + char *sc = (char *)memchr(p, 0x3b, len > 5 ? 5 : len); + if(!sc) goto want_more; + if((sc - p) == 4 + && p[1] == 0x61 /* 'a' */ + && p[2] == 0x6d /* 'm' */ + && p[3] == 0x70 /* 'p' */) { + *buf++ = 0x26; + p = sc; + continue; + } + if((sc - p) == 3) { + if(p[1] == 0x6c) { + *buf = 0x3c; /* '<' */ + } else if(p[1] == 0x67) { + *buf = 0x3e; /* '>' */ + } else { + /* Unsupported entity reference */ + *buf++ = ch; + continue; + } + if(p[2] != 0x74) { + /* Unsupported entity reference */ + *buf++ = ch; + continue; + } + buf++; + p = sc; + continue; + } + /* Unsupported entity reference */ + *buf++ = ch; + } + + continue; + want_more: + if(have_more) { + /* + * We know that no more data (of the same type) + * is coming. Copy the rest verbatim. + */ + *buf++ = ch; + continue; + } + chunk_size = (p - (const char *)chunk_buf); + /* Processing stalled: need more data */ + break; + } + + st->size = buf - st->buf; + assert(st->size <= new_size); + st->buf[st->size] = 0; /* Courtesy termination */ + + return chunk_size; /* Converted in full */ +} + +/* + * Decode OCTET STRING from the XML element's body. + */ +static asn_dec_rval_t +OCTET_STRING__decode_xer( + const asn_codec_ctx_t *opt_codec_ctx, const asn_TYPE_descriptor_t *td, + void **sptr, const char *opt_mname, const void *buf_ptr, size_t size, + int (*opt_unexpected_tag_decoder)(void *struct_ptr, const void *chunk_buf, + size_t chunk_size), + ssize_t (*body_receiver)(void *struct_ptr, const void *chunk_buf, + size_t chunk_size, int have_more)) { + OCTET_STRING_t *st = (OCTET_STRING_t *)*sptr; + const asn_OCTET_STRING_specifics_t *specs = td->specifics + ? (const asn_OCTET_STRING_specifics_t *)td->specifics + : &asn_SPC_OCTET_STRING_specs; + const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; + asn_struct_ctx_t *ctx; /* Per-structure parser context */ + asn_dec_rval_t rval; /* Return value from the decoder */ + int st_allocated; + + /* + * Create the string if does not exist. + */ + if(!st) { + st = (OCTET_STRING_t *)CALLOC(1, specs->struct_size); + *sptr = (void *)st; + if(!st) goto sta_failed; + st_allocated = 1; + } else { + st_allocated = 0; + } + if(!st->buf) { + /* This is separate from above section */ + st->buf = (uint8_t *)CALLOC(1, 1); + if(!st->buf) { + if(st_allocated) { + *sptr = 0; + goto stb_failed; + } else { + goto sta_failed; + } + } + } + + /* Restore parsing context */ + ctx = (asn_struct_ctx_t *)(((char *)*sptr) + specs->ctx_offset); + + return xer_decode_general(opt_codec_ctx, ctx, *sptr, xml_tag, + buf_ptr, size, + opt_unexpected_tag_decoder, + body_receiver); + +stb_failed: + FREEMEM(st); +sta_failed: + rval.code = RC_FAIL; + rval.consumed = 0; + return rval; +} + +/* + * Decode OCTET STRING from the hexadecimal data. + */ +asn_dec_rval_t +OCTET_STRING_decode_xer_hex(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, + size_t size) { + return OCTET_STRING__decode_xer(opt_codec_ctx, td, sptr, opt_mname, + buf_ptr, size, 0, + OCTET_STRING__convert_hexadecimal); +} + +/* + * Decode OCTET STRING from the binary (0/1) data. + */ +asn_dec_rval_t +OCTET_STRING_decode_xer_binary(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, + size_t size) { + return OCTET_STRING__decode_xer(opt_codec_ctx, td, sptr, opt_mname, + buf_ptr, size, 0, + OCTET_STRING__convert_binary); +} + +/* + * Decode OCTET STRING from the string (ASCII/UTF-8) data. + */ +asn_dec_rval_t +OCTET_STRING_decode_xer_utf8(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, + size_t size) { + return OCTET_STRING__decode_xer(opt_codec_ctx, td, sptr, opt_mname, + buf_ptr, size, + OCTET_STRING__handle_control_chars, + OCTET_STRING__convert_entrefs); +} diff --git a/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE.c b/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE.c new file mode 100644 index 000000000..c9afecffe --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE.c @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +asn_TYPE_operation_t asn_OP_OPEN_TYPE = { + OPEN_TYPE_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + OPEN_TYPE_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + OPEN_TYPE_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + OPEN_TYPE_decode_ber, + OPEN_TYPE_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + OPEN_TYPE_decode_xer, + OPEN_TYPE_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + OPEN_TYPE_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + OPEN_TYPE_decode_oer, + OPEN_TYPE_encode_oer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + OPEN_TYPE_decode_uper, + OPEN_TYPE_encode_uper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + OPEN_TYPE_decode_aper, + OPEN_TYPE_encode_aper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + 0, /* Random fill is not supported for open type */ +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; diff --git a/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE.h b/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE.h deleted file mode 100644 index 5e979773e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE.h +++ /dev/null @@ -1,117 +0,0 @@ -/*- - * Copyright (c) 2017-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_OPEN_TYPE_H -#define ASN_OPEN_TYPE_H - -#include -///////////#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Decode an Open Type which is potentially constraiend - * by the other members of the parent structure. - */ - -#undef ADVANCE -#define ADVANCE(num_bytes) \ - do { \ - size_t num = num_bytes; \ - ptr = ((const char *)ptr) + num; \ - size -= num; \ - consumed_myself += num; \ - } while(0) - -#define OPEN_TYPE_free CHOICE_free - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -#define OPEN_TYPE_print CHOICE_print -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -#define OPEN_TYPE_compare CHOICE_compare - -#define OPEN_TYPE_constraint CHOICE_constraint - -#if !defined(ASN_DISABLE_BER_SUPPORT) -asn_dec_rval_t OPEN_TYPE_ber_get( - const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *parent_type, - void *parent_structure, - const asn_TYPE_member_t *element, - const void *ptr, size_t size); -#define OPEN_TYPE_decode_ber NULL -#define OPEN_TYPE_encode_der CHOICE_encode_der -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -asn_dec_rval_t OPEN_TYPE_xer_get( - const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *parent_type, - void *parent_structure, - const asn_TYPE_member_t *element, - const void *ptr, size_t size); -#define OPEN_TYPE_decode_xer NULL -#define OPEN_TYPE_encode_xer CHOICE_encode_xer -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -#define OPEN_TYPE_encode_jer CHOICE_encode_jer -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -asn_dec_rval_t OPEN_TYPE_oer_get( - const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *parent_type, - void *parent_structure, - asn_TYPE_member_t *element, const void *ptr, - size_t size); -#define OPEN_TYPE_decode_oer NULL -#define OPEN_TYPE_encode_oer CHOICE_encode_oer -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -asn_dec_rval_t OPEN_TYPE_uper_get( - const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *parent_type, - void *parent_structure, - const asn_TYPE_member_t *element, - asn_per_data_t *pd); -#define OPEN_TYPE_decode_uper NULL -asn_enc_rval_t OPEN_TYPE_encode_uper( - const asn_TYPE_descriptor_t *type_descriptor, - const asn_per_constraints_t *constraints, const void *struct_ptr, - asn_per_outp_t *per_output); -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -asn_dec_rval_t OPEN_TYPE_aper_get( - const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *parent_type, - void *parent_structure, - const asn_TYPE_member_t *element, - asn_per_data_t *pd); -#define OPEN_TYPE_decode_aper NULL -asn_enc_rval_t OPEN_TYPE_encode_aper( - const asn_TYPE_descriptor_t *type_descriptor, - const asn_per_constraints_t *constraints, const void *struct_ptr, - asn_per_outp_t *per_output); - -int OPEN_TYPE_aper_is_unknown_type( - const asn_TYPE_descriptor_t *td, - void *sptr, - const asn_TYPE_member_t *elm); - -asn_dec_rval_t OPEN_TYPE_aper_unknown_type_discard_bytes( - asn_per_data_t *pd); -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -extern asn_TYPE_operation_t asn_OP_OPEN_TYPE; - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_OPEN_TYPE_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_aper.c b/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_aper.c new file mode 100644 index 000000000..3e2ab1888 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_aper.c @@ -0,0 +1,173 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include + +asn_dec_rval_t +OPEN_TYPE_aper_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void *sptr, + const asn_TYPE_member_t *elm, asn_per_data_t *pd) { + asn_type_selector_result_t selected; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + void *inner_value; + asn_dec_rval_t rv; + + if(!(elm->flags & ATF_OPEN_TYPE)) { + ASN__DECODE_FAILED; + } + + if(!elm->type_selector) { + ASN_DEBUG("Type selector is not defined for Open Type %s->%s->%s", + td->name, elm->name, elm->type->name); + ASN__DECODE_FAILED; + } + + selected = elm->type_selector(td, sptr); + if(!selected.presence_index) { + ASN__DECODE_FAILED; + } + + /* Fetch the pointer to this member */ + assert(elm->flags == ATF_OPEN_TYPE); + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); + } else { + memb_ptr = (char *)sptr + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + if(*memb_ptr2 != NULL) { + /* Make sure we reset the structure first before encoding */ + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, 0) + != 0) { + ASN__DECODE_FAILED; + } + } + + inner_value = + (char *)*memb_ptr2 + + elm->type->elements[selected.presence_index - 1].memb_offset; + + rv = aper_open_type_get(opt_codec_ctx, selected.type_descriptor, NULL, + &inner_value, pd); + switch(rv.code) { + case RC_OK: + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, + selected.presence_index) + == 0) { + break; + } else { + rv.code = RC_FAIL; + } + /* Fall through */ + case RC_WMORE: + case RC_FAIL: + if(*memb_ptr2) { + if(elm->flags & ATF_POINTER) { + ASN_STRUCT_FREE(*selected.type_descriptor, inner_value); + *memb_ptr2 = NULL; + } else { + ASN_STRUCT_RESET(*selected.type_descriptor, + inner_value); + } + } + } + return rv; +} + +asn_enc_rval_t +OPEN_TYPE_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const void *memb_ptr; /* Pointer to the member */ + asn_TYPE_member_t *elm; /* CHOICE's element */ + asn_enc_rval_t er = {0,0,0}; + unsigned present; + + (void)constraints; + + present = CHOICE_variant_get_presence(td, sptr); + if(present == 0 || present > td->elements_count) { + ASN__ENCODE_FAILED; + } else { + present--; + } + + ASN_DEBUG("Encoding %s OPEN TYPE element %d", td->name, present); + + elm = &td->elements[present]; + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) ASN__ENCODE_FAILED; + } else { + memb_ptr = (const char *)sptr + elm->memb_offset; + } + + if(aper_open_type_put(elm->type, NULL, memb_ptr, po) < 0) { + ASN__ENCODE_FAILED; + } + + er.encoded = 0; + ASN__ENCODED_OK(er); +} + + +int OPEN_TYPE_aper_is_unknown_type(const asn_TYPE_descriptor_t *td, void *sptr, const asn_TYPE_member_t *elm) { + asn_type_selector_result_t selected; + + if(!elm->type_selector) { + return 1; + } + else { + selected = elm->type_selector(td, sptr); + if(!selected.presence_index) { + return 1; + } + } + return 0; +} + +asn_dec_rval_t +OPEN_TYPE_aper_unknown_type_discard_bytes (asn_per_data_t *pd) { +#define ASN_DUMMY_BYTES 256 + unsigned char dummy[ASN_DUMMY_BYTES], *dummy_ptr = NULL; + ssize_t bytes; + int repeat; + asn_dec_rval_t rv; + + rv.consumed = 0; + rv.code = RC_FAIL; + + do { + bytes = aper_get_length(pd, -1, -1, -1, &repeat); + if (bytes > 10 * ASN_DUMMY_BYTES) + { + return rv; + } + else if (bytes > ASN_DUMMY_BYTES) + { + dummy_ptr = CALLOC(1, bytes); + if (!dummy_ptr) + return rv; + } + + per_get_many_bits(pd, (dummy_ptr ? dummy_ptr : dummy), 0, bytes << 3); + + if (dummy_ptr) + { + FREEMEM(dummy_ptr); + dummy_ptr = NULL; + } + } while (repeat); + + rv.code = RC_OK; + return rv; +#undef ASN_DUMMY_BYTES +} diff --git a/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_ber.c b/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_ber.c new file mode 100644 index 000000000..7d8948072 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_ber.c @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +asn_dec_rval_t +OPEN_TYPE_ber_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void *sptr, + const asn_TYPE_member_t *elm, const void *ptr, size_t size) { + size_t consumed_myself = 0; + asn_type_selector_result_t selected; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + void *inner_value; + asn_dec_rval_t rv; + + if(!(elm->flags & ATF_OPEN_TYPE)) { + ASN__DECODE_FAILED; + } + + if(!elm->type_selector) { + ASN_DEBUG("Type selector is not defined for Open Type %s->%s->%s", + td->name, elm->name, elm->type->name); + ASN__DECODE_FAILED; + } + + selected = elm->type_selector(td, sptr); + if(!selected.presence_index) { + ASN__DECODE_FAILED; + } + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); + } else { + memb_ptr = (char *)sptr + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + if(*memb_ptr2 != NULL) { + /* Make sure we reset the structure first before encoding */ + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, 0) != 0) { + ASN__DECODE_FAILED; + } + } + + inner_value = + (char *)*memb_ptr2 + + elm->type->elements[selected.presence_index - 1].memb_offset; + + ASN_DEBUG("presence %d\n", selected.presence_index); + + rv = selected.type_descriptor->op->ber_decoder( + opt_codec_ctx, selected.type_descriptor, &inner_value, ptr, size, + elm->tag_mode); + ADVANCE(rv.consumed); + rv.consumed = 0; + switch(rv.code) { + case RC_OK: + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, + selected.presence_index) + == 0) { + rv.code = RC_OK; + rv.consumed = consumed_myself; + return rv; + } else { + /* Oh, now a full-blown failure failure */ + } + /* Fall through */ + case RC_FAIL: + rv.consumed = consumed_myself; + /* Fall through */ + case RC_WMORE: + break; + } + + if(*memb_ptr2) { + if(elm->flags & ATF_POINTER) { + ASN_STRUCT_FREE(*selected.type_descriptor, inner_value); + *memb_ptr2 = NULL; + } else { + ASN_STRUCT_RESET(*selected.type_descriptor, + inner_value); + } + } + return rv; +} diff --git a/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_oer.c b/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_oer.c new file mode 100644 index 000000000..05a5eaad2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_oer.c @@ -0,0 +1,91 @@ +/* + * Copyright (c) 2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +asn_dec_rval_t +OPEN_TYPE_oer_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void *sptr, + asn_TYPE_member_t *elm, const void *ptr, size_t size) { + asn_type_selector_result_t selected; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + void *inner_value; + asn_dec_rval_t rv; + size_t ot_ret; + + + if(!(elm->flags & ATF_OPEN_TYPE)) { + ASN__DECODE_FAILED; + } + + if(!elm->type_selector) { + ASN_DEBUG("Type selector is not defined for Open Type %s->%s->%s", + td->name, elm->name, elm->type->name); + ASN__DECODE_FAILED; + } + + selected = elm->type_selector(td, sptr); + if(!selected.presence_index) { + ASN__DECODE_FAILED; + } + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); + } else { + memb_ptr = (char *)sptr + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + if(*memb_ptr2 != NULL) { + /* Make sure we reset the structure first before encoding */ + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, 0) != 0) { + ASN__DECODE_FAILED; + } + } + + inner_value = + (char *)*memb_ptr2 + + elm->type->elements[selected.presence_index - 1].memb_offset; + + ot_ret = oer_open_type_get(opt_codec_ctx, selected.type_descriptor, NULL, + &inner_value, ptr, size); + switch(ot_ret) { + default: + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, + selected.presence_index) + == 0) { + rv.code = RC_OK; + rv.consumed = ot_ret; + return rv; + } else { + /* Oh, now a full-blown failure failure */ + } + /* Fall through */ + case -1: + rv.code = RC_FAIL; + rv.consumed = ot_ret; + break; + case 0: + rv.code = RC_WMORE; + rv.consumed = 0; + break; + } + + if(*memb_ptr2) { + const asn_CHOICE_specifics_t *specs = + selected.type_descriptor->specifics; + if(elm->flags & ATF_POINTER) { + ASN_STRUCT_FREE(*selected.type_descriptor, inner_value); + *memb_ptr2 = NULL; + } else { + ASN_STRUCT_FREE_CONTENTS_ONLY(*selected.type_descriptor, + inner_value); + memset(*memb_ptr2, 0, specs->struct_size); + } + } + return rv; +} diff --git a/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_uper.c b/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_uper.c new file mode 100644 index 000000000..2f27bb904 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_uper.c @@ -0,0 +1,119 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include + +asn_dec_rval_t +OPEN_TYPE_uper_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void *sptr, + const asn_TYPE_member_t *elm, asn_per_data_t *pd) { + asn_type_selector_result_t selected; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + void *inner_value; + asn_dec_rval_t rv; + + if(!(elm->flags & ATF_OPEN_TYPE)) { + ASN__DECODE_FAILED; + } + + if(!elm->type_selector) { + ASN_DEBUG("Type selector is not defined for Open Type %s->%s->%s", + td->name, elm->name, elm->type->name); + ASN__DECODE_FAILED; + } + + selected = elm->type_selector(td, sptr); + if(!selected.presence_index) { + ASN__DECODE_FAILED; + } + + /* Fetch the pointer to this member */ + assert(elm->flags == ATF_OPEN_TYPE); + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); + } else { + memb_ptr = (char *)sptr + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + if(*memb_ptr2 != NULL) { + /* Make sure we reset the structure first before encoding */ + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, 0) + != 0) { + ASN__DECODE_FAILED; + } + } + + inner_value = + (char *)*memb_ptr2 + + elm->type->elements[selected.presence_index - 1].memb_offset; + + rv = uper_open_type_get(opt_codec_ctx, selected.type_descriptor, NULL, + &inner_value, pd); + switch(rv.code) { + case RC_OK: + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, + selected.presence_index) + == 0) { + break; + } else { + rv.code = RC_FAIL; + } + /* Fall through */ + case RC_WMORE: + case RC_FAIL: + if(*memb_ptr2) { + if(elm->flags & ATF_POINTER) { + ASN_STRUCT_FREE(*selected.type_descriptor, inner_value); + *memb_ptr2 = NULL; + } else { + ASN_STRUCT_RESET(*selected.type_descriptor, + inner_value); + } + } + } + return rv; +} + +asn_enc_rval_t +OPEN_TYPE_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const void *memb_ptr; /* Pointer to the member */ + asn_TYPE_member_t *elm; /* CHOICE's element */ + asn_enc_rval_t er = {0,0,0}; + unsigned present; + + (void)constraints; + + present = CHOICE_variant_get_presence(td, sptr); + if(present == 0 || present > td->elements_count) { + ASN__ENCODE_FAILED; + } else { + present--; + } + + ASN_DEBUG("Encoding %s OPEN TYPE element %d", td->name, present); + + elm = &td->elements[present]; + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) ASN__ENCODE_FAILED; + } else { + memb_ptr = (const char *)sptr + elm->memb_offset; + } + + if(uper_open_type_put(elm->type, NULL, memb_ptr, po) < 0) { + ASN__ENCODE_FAILED; + } + + er.encoded = 0; + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_xer.c b/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_xer.c new file mode 100644 index 000000000..fc38562e9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OPEN_TYPE_xer.c @@ -0,0 +1,166 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +asn_dec_rval_t +OPEN_TYPE_xer_get(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void *sptr, + const asn_TYPE_member_t *elm, const void *ptr, size_t size) { + size_t consumed_myself = 0; + asn_type_selector_result_t selected; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + void *inner_value; + asn_dec_rval_t rv; + + int xer_context = 0; + ssize_t ch_size; + pxer_chunk_type_e ch_type; + + if(!(elm->flags & ATF_OPEN_TYPE)) { + ASN__DECODE_FAILED; + } + + if(!elm->type_selector) { + ASN_DEBUG("Type selector is not defined for Open Type %s->%s->%s", + td->name, elm->name, elm->type->name); + ASN__DECODE_FAILED; + } + + selected = elm->type_selector(td, sptr); + if(!selected.presence_index) { + ASN__DECODE_FAILED; + } + + /* Fetch the pointer to this member */ + assert(elm->flags == ATF_OPEN_TYPE); + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)sptr + elm->memb_offset); + } else { + memb_ptr = (char *)sptr + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + if(*memb_ptr2 != NULL) { + /* Make sure we reset the structure first before encoding */ + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, 0) + != 0) { + ASN__DECODE_FAILED; + } + } + + /* + * Confirm wrapper. + */ + for(;;) { + ch_size = xer_next_token(&xer_context, ptr, size, &ch_type); + if(ch_size < 0) { + ASN__DECODE_FAILED; + } else { + switch(ch_type) { + case PXER_WMORE: + ASN__DECODE_STARVED; + case PXER_COMMENT: + case PXER_TEXT: + ADVANCE(ch_size); + continue; + case PXER_TAG: + break; + } + break; + } + } + + /* + * Wrapper value confirmed. + */ + switch(xer_check_tag(ptr, ch_size, elm->name)) { + case XCT_OPENING: + ADVANCE(ch_size); + break; + case XCT_BROKEN: + default: + ASN__DECODE_FAILED; + } + + inner_value = + (char *)*memb_ptr2 + + elm->type->elements[selected.presence_index - 1].memb_offset; + + rv = selected.type_descriptor->op->xer_decoder( + opt_codec_ctx, selected.type_descriptor, &inner_value, NULL, ptr, size); + ADVANCE(rv.consumed); + rv.consumed = 0; + switch(rv.code) { + case RC_OK: + if(CHOICE_variant_set_presence(elm->type, *memb_ptr2, + selected.presence_index) + == 0) { + break; + } else { + rv.code = RC_FAIL; + } + /* Fall through */ + case RC_FAIL: + /* Point to a best position where failure occurred */ + rv.consumed = consumed_myself; + /* Fall through */ + case RC_WMORE: + /* Wrt. rv.consumed==0: + * In case a genuine RC_WMORE, the whole Open Type decoding + * will have to be restarted. + */ + if(*memb_ptr2) { + if(elm->flags & ATF_POINTER) { + ASN_STRUCT_FREE(*selected.type_descriptor, inner_value); + *memb_ptr2 = NULL; + } else { + ASN_STRUCT_RESET(*selected.type_descriptor, + inner_value); + } + } + return rv; + } + + /* + * Finalize wrapper. + */ + for(;;) { + ch_size = xer_next_token(&xer_context, ptr, size, &ch_type); + if(ch_size < 0) { + ASN__DECODE_FAILED; + } else { + switch(ch_type) { + case PXER_WMORE: + ASN__DECODE_STARVED; + case PXER_COMMENT: + case PXER_TEXT: + ADVANCE(ch_size); + continue; + case PXER_TAG: + break; + } + break; + } + } + + /* + * Wrapper value confirmed. + */ + switch(xer_check_tag(ptr, ch_size, elm->name)) { + case XCT_CLOSING: + ADVANCE(ch_size); + break; + case XCT_BROKEN: + default: + ASN__DECODE_FAILED; + } + + rv.consumed += consumed_myself; + + return rv; +} diff --git a/src/tmx/Asn_J2735/src/r2024/ObeId.c b/src/tmx/Asn_J2735/src/r2024/ObeId.c new file mode 100644 index 000000000..27bc3364d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ObeId.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ObeId.h" + +asn_TYPE_member_t asn_MBR_ObeId_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ObeId, manufacturerId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "manufacturerId" + }, + { ATF_NOFLAGS, 0, offsetof(struct ObeId, equipmentObuId), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EquipmentObuId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "equipmentObuId" + }, +}; +static const ber_tlv_tag_t asn_DEF_ObeId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ObeId_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* manufacturerId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* equipmentObuId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ObeId_specs_1 = { + sizeof(struct ObeId), + offsetof(struct ObeId, _asn_ctx), + asn_MAP_ObeId_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ObeId = { + "ObeId", + "ObeId", + &asn_OP_SEQUENCE, + asn_DEF_ObeId_tags_1, + sizeof(asn_DEF_ObeId_tags_1) + /sizeof(asn_DEF_ObeId_tags_1[0]), /* 1 */ + asn_DEF_ObeId_tags_1, /* Same as above */ + sizeof(asn_DEF_ObeId_tags_1) + /sizeof(asn_DEF_ObeId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ObeId_1, + 2, /* Elements count */ + &asn_SPC_ObeId_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ObeId.h b/src/tmx/Asn_J2735/src/r2024/ObeId.h deleted file mode 100644 index a46e4ddb7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ObeId.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ObeId_H_ -#define _ObeId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int2Unsigned.h" -#include "EquipmentObuId.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ObeId */ -typedef struct ObeId { - Int2Unsigned_t manufacturerId; - EquipmentObuId_t equipmentObuId; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ObeId_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ObeId; -extern asn_SEQUENCE_specifics_t asn_SPC_ObeId_specs_1; -extern asn_TYPE_member_t asn_MBR_ObeId_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _ObeId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ObjectCount.c b/src/tmx/Asn_J2735/src/r2024/ObjectCount.c new file mode 100644 index 000000000..cb44ee9e3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ObjectCount.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "NMEAcorrections" + * found in "J2735-NMEAcorrections-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ObjectCount.h" + +int +ObjectCount_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 1023L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ObjectCount_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..1023) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ObjectCount_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ObjectCount_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ObjectCount = { + "ObjectCount", + "ObjectCount", + &asn_OP_NativeInteger, + asn_DEF_ObjectCount_tags_1, + sizeof(asn_DEF_ObjectCount_tags_1) + /sizeof(asn_DEF_ObjectCount_tags_1[0]), /* 1 */ + asn_DEF_ObjectCount_tags_1, /* Same as above */ + sizeof(asn_DEF_ObjectCount_tags_1) + /sizeof(asn_DEF_ObjectCount_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ObjectCount_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ObjectCount_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ObjectCount_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ObjectCount.h b/src/tmx/Asn_J2735/src/r2024/ObjectCount.h deleted file mode 100644 index d501a6c82..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ObjectCount.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "NMEAcorrections" - * found in "J2735-NMEAcorrections-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ObjectCount_H_ -#define _ObjectCount_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ObjectCount */ -typedef long ObjectCount_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ObjectCount_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ObjectCount; -asn_struct_free_f ObjectCount_free; -asn_struct_print_f ObjectCount_print; -asn_constr_check_f ObjectCount_constraint; -ber_type_decoder_f ObjectCount_decode_ber; -der_type_encoder_f ObjectCount_encode_der; -xer_type_decoder_f ObjectCount_decode_xer; -xer_type_encoder_f ObjectCount_encode_xer; -oer_type_decoder_f ObjectCount_decode_oer; -oer_type_encoder_f ObjectCount_encode_oer; -per_type_decoder_f ObjectCount_decode_uper; -per_type_encoder_f ObjectCount_encode_uper; -per_type_decoder_f ObjectCount_decode_aper; -per_type_encoder_f ObjectCount_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ObjectCount_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ObjectDescriptor.c b/src/tmx/Asn_J2735/src/r2024/ObjectDescriptor.c new file mode 100644 index 000000000..c311a9291 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ObjectDescriptor.c @@ -0,0 +1,91 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * ObjectDescriptor basic type description. + */ +static const ber_tlv_tag_t asn_DEF_ObjectDescriptor_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (7 << 2)), /* [UNIVERSAL 7] IMPLICIT ... */ + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) /* ... OCTET STRING */ +}; +asn_TYPE_operation_t asn_OP_ObjectDescriptor = { + OCTET_STRING_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + OCTET_STRING_print_utf8, /* Treat as ASCII subset (it's not) */ +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + OCTET_STRING_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + OCTET_STRING_decode_ber, /* Implemented in terms of OCTET STRING */ + OCTET_STRING_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + OCTET_STRING_decode_xer_utf8, + OCTET_STRING_encode_xer_utf8, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + OCTET_STRING_encode_jer_utf8, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, + 0, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + OCTET_STRING_decode_uper, + OCTET_STRING_encode_uper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + OCTET_STRING_decode_aper, + OCTET_STRING_encode_aper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + 0, /* Not supported for ObjectDescriptor */ +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_ObjectDescriptor = { + "ObjectDescriptor", + "ObjectDescriptor", + &asn_OP_ObjectDescriptor, + asn_DEF_ObjectDescriptor_tags, + sizeof(asn_DEF_ObjectDescriptor_tags) + / sizeof(asn_DEF_ObjectDescriptor_tags[0]) - 1, + asn_DEF_ObjectDescriptor_tags, + sizeof(asn_DEF_ObjectDescriptor_tags) + / sizeof(asn_DEF_ObjectDescriptor_tags[0]), + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + asn_generic_unknown_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; diff --git a/src/tmx/Asn_J2735/src/r2024/ObjectDescriptor.h b/src/tmx/Asn_J2735/src/r2024/ObjectDescriptor.h deleted file mode 100644 index 852c45d03..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ObjectDescriptor.h +++ /dev/null @@ -1,54 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _ObjectDescriptor_H_ -#define _ObjectDescriptor_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef GraphicString_t ObjectDescriptor_t; /* Implemented via GraphicString */ - -extern asn_TYPE_descriptor_t asn_DEF_ObjectDescriptor; -extern asn_TYPE_operation_t asn_OP_ObjectDescriptor; - -#define ObjectDescriptor_free OCTET_STRING_free - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -#define ObjectDescriptor_print OCTET_STRING_print_utf8 -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -#define ObjectDescriptor_constraint asn_generic_unknown_constraint - -#if !defined(ASN_DISABLE_BER_SUPPORT) -#define ObjectDescriptor_decode_ber OCTET_STRING_decode_ber -#define ObjectDescriptor_encode_der OCTET_STRING_encode_der -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -#define ObjectDescriptor_decode_xer OCTET_STRING_decode_xer_utf8 -#define ObjectDescriptor_encode_xer OCTET_STRING_encode_xer_utf8 -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -#define ObjectDescriptor_encode_jer OCTET_STRING_encode_jer_utf8 -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -#define ObjectDescriptor_decode_uper OCTET_STRING_decode_uper -#define ObjectDescriptor_encode_uper OCTET_STRING_encode_uper -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -#define ObjectDescriptor_decode_aper OCTET_STRING_decode_aper -#define ObjectDescriptor_encode_aper OCTET_STRING_encode_aper -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#ifdef __cplusplus -} -#endif - -#endif /* _ObjectDescriptor_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/ObjectID.c b/src/tmx/Asn_J2735/src/r2024/ObjectID.c new file mode 100644 index 000000000..2cf9dd159 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ObjectID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ObjectID.h" + +int +ObjectID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ObjectID_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ObjectID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ObjectID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ObjectID = { + "ObjectID", + "ObjectID", + &asn_OP_NativeInteger, + asn_DEF_ObjectID_tags_1, + sizeof(asn_DEF_ObjectID_tags_1) + /sizeof(asn_DEF_ObjectID_tags_1[0]), /* 1 */ + asn_DEF_ObjectID_tags_1, /* Same as above */ + sizeof(asn_DEF_ObjectID_tags_1) + /sizeof(asn_DEF_ObjectID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ObjectID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ObjectID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ObjectID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ObjectID.h b/src/tmx/Asn_J2735/src/r2024/ObjectID.h deleted file mode 100644 index b4bbf6bf8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ObjectID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ObjectID_H_ -#define _ObjectID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ObjectID */ -typedef long ObjectID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ObjectID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ObjectID; -asn_struct_free_f ObjectID_free; -asn_struct_print_f ObjectID_print; -asn_constr_check_f ObjectID_constraint; -ber_type_decoder_f ObjectID_decode_ber; -der_type_encoder_f ObjectID_encode_der; -xer_type_decoder_f ObjectID_decode_xer; -xer_type_encoder_f ObjectID_encode_xer; -oer_type_decoder_f ObjectID_decode_oer; -oer_type_encoder_f ObjectID_encode_oer; -per_type_decoder_f ObjectID_decode_uper; -per_type_encoder_f ObjectID_encode_uper; -per_type_decoder_f ObjectID_decode_aper; -per_type_encoder_f ObjectID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ObjectID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ObjectType.c b/src/tmx/Asn_J2735/src/r2024/ObjectType.c new file mode 100644 index 000000000..ccb697b18 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ObjectType.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ObjectType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ObjectType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ObjectType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_ObjectType_value2enum_1[] = { + { 0, 7, "unknown" }, + { 1, 7, "vehicle" }, + { 2, 3, "vru" }, + { 3, 6, "animal" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ObjectType_enum2value_1[] = { + 3, /* animal(3) */ + 0, /* unknown(0) */ + 1, /* vehicle(1) */ + 2 /* vru(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_ObjectType_specs_1 = { + asn_MAP_ObjectType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ObjectType_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ObjectType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ObjectType = { + "ObjectType", + "ObjectType", + &asn_OP_NativeEnumerated, + asn_DEF_ObjectType_tags_1, + sizeof(asn_DEF_ObjectType_tags_1) + /sizeof(asn_DEF_ObjectType_tags_1[0]), /* 1 */ + asn_DEF_ObjectType_tags_1, /* Same as above */ + sizeof(asn_DEF_ObjectType_tags_1) + /sizeof(asn_DEF_ObjectType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ObjectType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ObjectType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ObjectType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ObjectType.h b/src/tmx/Asn_J2735/src/r2024/ObjectType.h deleted file mode 100644 index e0147ed7b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ObjectType.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ObjectType_H_ -#define _ObjectType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ObjectType { - ObjectType_unknown = 0, - ObjectType_vehicle = 1, - ObjectType_vru = 2, - ObjectType_animal = 3 - /* - * Enumeration is extensible - */ -} e_ObjectType; - -/* ObjectType */ -typedef long ObjectType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ObjectType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ObjectType; -extern const asn_INTEGER_specifics_t asn_SPC_ObjectType_specs_1; -asn_struct_free_f ObjectType_free; -asn_struct_print_f ObjectType_print; -asn_constr_check_f ObjectType_constraint; -ber_type_decoder_f ObjectType_decode_ber; -der_type_encoder_f ObjectType_encode_der; -xer_type_decoder_f ObjectType_decode_xer; -xer_type_encoder_f ObjectType_encode_xer; -oer_type_decoder_f ObjectType_decode_oer; -oer_type_encoder_f ObjectType_encode_oer; -per_type_decoder_f ObjectType_decode_uper; -per_type_encoder_f ObjectType_encode_uper; -per_type_decoder_f ObjectType_decode_aper; -per_type_encoder_f ObjectType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ObjectType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Objects.c b/src/tmx/Asn_J2735/src/r2024/Objects.c new file mode 100644 index 000000000..1a3663348 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Objects.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Objects.h" + +int +Objects_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Objects_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Objects_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Objects_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Objects = { + "Objects", + "Objects", + &asn_OP_NativeInteger, + asn_DEF_Objects_tags_1, + sizeof(asn_DEF_Objects_tags_1) + /sizeof(asn_DEF_Objects_tags_1[0]), /* 1 */ + asn_DEF_Objects_tags_1, /* Same as above */ + sizeof(asn_DEF_Objects_tags_1) + /sizeof(asn_DEF_Objects_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Objects_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Objects_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Objects_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Objects.h b/src/tmx/Asn_J2735/src/r2024/Objects.h deleted file mode 100644 index 71133b677..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Objects.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Objects_H_ -#define _Objects_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Objects { - Objects_unknown_object = 11009, - Objects_tire = 11010, - Objects_rim = 11011, - Objects_retread = 11012, - Objects_trash = 11013, - Objects_cargo = 11014, - Objects_diesel = 11015, - Objects_gasoline = 11016, - Objects_anti_freeze = 11017, - Objects_propane_gas = 11061, - Objects_alternative_fuel = 11060, - Objects_seat_belts = 11018, - Objects_litter_container = 11019, - Objects_all_Terrain_vehicle = 11020, - Objects_seaplane = 11021, - Objects_chairlift = 11022, - Objects_fishing_pier = 11023, - Objects_telephone = 11025, - Objects_railroad_cross_buck = 11024, - Objects_horn = 11048, - Objects_train = 11047, - Objects_deer = 11049, - Objects_horse = 11051, - Objects_cattle = 11050, - Objects_golf_cart = 11052, - Objects_services = 11056, - Objects_motorist_services = 11059, - Objects_food_services = 11053, - Objects_roadside_table = 11055, - Objects_ambulance_staging_point = 11054, - Objects_fallout = 11026, - Objects_medical = 11027, - Objects_chemical = 11028, - Objects_welfare = 11029, - Objects_decontamination = 11063, - Objects_evacuation = 11030, - Objects_registration = 11062, - Objects_emergency = 11064, - Objects_left_arrow_signal = 11031, - Objects_ahead_arrow_signal = 11032, - Objects_right_arrow_signal = 11033, - Objects_green_light_signal = 11034, - Objects_green_arrow_signal = 11035, - Objects_yellow_light_signal = 11036, - Objects_yellow_arrow_signal = 11037, - Objects_red_light_signal = 11038, - Objects_red_arrow_signal = 11039, - Objects_extended_green_signal = 11040, - Objects_advance_arrow_signal = 11041, - Objects_pedestrian_Signal_Stop = 11042, - Objects_pedestrian_Signal_Caution = 11043, - Objects_pedestrian_Signal_Walk = 11044, - Objects_pedestrian_Signal_Light = 11045, - Objects_pedestrian_Signal_Time_Display = 11046 -} e_Objects; - -/* Objects */ -typedef long Objects_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Objects; -asn_struct_free_f Objects_free; -asn_struct_print_f Objects_print; -asn_constr_check_f Objects_constraint; -ber_type_decoder_f Objects_decode_ber; -der_type_encoder_f Objects_encode_der; -xer_type_decoder_f Objects_decode_xer; -xer_type_encoder_f Objects_encode_xer; -oer_type_decoder_f Objects_decode_oer; -oer_type_encoder_f Objects_encode_oer; -per_type_decoder_f Objects_decode_uper; -per_type_encoder_f Objects_encode_uper; -per_type_decoder_f Objects_decode_aper; -per_type_encoder_f Objects_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Objects_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ObstacleDetection.c b/src/tmx/Asn_J2735/src/r2024/ObstacleDetection.c new file mode 100644 index 000000000..214bc88b2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ObstacleDetection.c @@ -0,0 +1,195 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ObstacleDetection.h" + +static int +memb_description_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 532L && value <= 541L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_description_constr_4 CC_NOTUSED = { + { 2, 1 } /* (532..541) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_description_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 532, 541 } /* (532..541) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ObstacleDetection_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ObstacleDetection, obDist), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ObstacleDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "obDist" + }, + { ATF_NOFLAGS, 0, offsetof(struct ObstacleDetection, obDirect), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ObstacleDirection, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "obDirect" + }, + { ATF_POINTER, 2, offsetof(struct ObstacleDetection, description), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ITIScodes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_description_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_description_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_description_constraint_1 + }, + 0, 0, /* No default value */ + "description" + }, + { ATF_POINTER, 1, offsetof(struct ObstacleDetection, locationDetails), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_GenericLocations, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "locationDetails" + }, + { ATF_NOFLAGS, 0, offsetof(struct ObstacleDetection, dateTime), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dateTime" + }, + { ATF_POINTER, 1, offsetof(struct ObstacleDetection, vertEvent), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VerticalAccelerationThreshold, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vertEvent" + }, +}; +static const int asn_MAP_ObstacleDetection_oms_1[] = { 2, 3, 5 }; +static const ber_tlv_tag_t asn_DEF_ObstacleDetection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ObstacleDetection_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* obDist */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* obDirect */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* description */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* locationDetails */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* dateTime */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* vertEvent */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ObstacleDetection_specs_1 = { + sizeof(struct ObstacleDetection), + offsetof(struct ObstacleDetection, _asn_ctx), + asn_MAP_ObstacleDetection_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_ObstacleDetection_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ObstacleDetection = { + "ObstacleDetection", + "ObstacleDetection", + &asn_OP_SEQUENCE, + asn_DEF_ObstacleDetection_tags_1, + sizeof(asn_DEF_ObstacleDetection_tags_1) + /sizeof(asn_DEF_ObstacleDetection_tags_1[0]), /* 1 */ + asn_DEF_ObstacleDetection_tags_1, /* Same as above */ + sizeof(asn_DEF_ObstacleDetection_tags_1) + /sizeof(asn_DEF_ObstacleDetection_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ObstacleDetection_1, + 6, /* Elements count */ + &asn_SPC_ObstacleDetection_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ObstacleDetection.h b/src/tmx/Asn_J2735/src/r2024/ObstacleDetection.h deleted file mode 100644 index 607249686..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ObstacleDetection.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ObstacleDetection_H_ -#define _ObstacleDetection_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ObstacleDistance.h" -#include "ObstacleDirection.h" -#include "ITIS_ITIScodes.h" -#include "ITIS_GenericLocations.h" -#include "DDateTime.h" -#include "VerticalAccelerationThreshold.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ObstacleDetection */ -typedef struct ObstacleDetection { - ObstacleDistance_t obDist; - ObstacleDirection_t obDirect; - ITIS_ITIScodes_t *description; /* OPTIONAL */ - ITIS_GenericLocations_t *locationDetails; /* OPTIONAL */ - DDateTime_t dateTime; - VerticalAccelerationThreshold_t *vertEvent; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ObstacleDetection_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ObstacleDetection; -extern asn_SEQUENCE_specifics_t asn_SPC_ObstacleDetection_specs_1; -extern asn_TYPE_member_t asn_MBR_ObstacleDetection_1[6]; - -#ifdef __cplusplus -} -#endif - -#endif /* _ObstacleDetection_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ObstacleDirection.c b/src/tmx/Asn_J2735/src/r2024/ObstacleDirection.c new file mode 100644 index 000000000..a154c452a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ObstacleDirection.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ObstacleDirection.h" + +int +ObstacleDirection_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 28800L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Common_Angle, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ObstacleDirection_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..28800) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ObstacleDirection_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 28800 } /* (0..28800) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ObstacleDirection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ObstacleDirection = { + "ObstacleDirection", + "ObstacleDirection", + &asn_OP_NativeInteger, + asn_DEF_ObstacleDirection_tags_1, + sizeof(asn_DEF_ObstacleDirection_tags_1) + /sizeof(asn_DEF_ObstacleDirection_tags_1[0]), /* 1 */ + asn_DEF_ObstacleDirection_tags_1, /* Same as above */ + sizeof(asn_DEF_ObstacleDirection_tags_1) + /sizeof(asn_DEF_ObstacleDirection_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ObstacleDirection_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ObstacleDirection_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ObstacleDirection_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ObstacleDirection.h b/src/tmx/Asn_J2735/src/r2024/ObstacleDirection.h deleted file mode 100644 index 2473ac9f0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ObstacleDirection.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ObstacleDirection_H_ -#define _ObstacleDirection_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_Angle.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ObstacleDirection */ -typedef Common_Angle_t ObstacleDirection_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ObstacleDirection_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ObstacleDirection; -asn_struct_free_f ObstacleDirection_free; -asn_struct_print_f ObstacleDirection_print; -asn_constr_check_f ObstacleDirection_constraint; -ber_type_decoder_f ObstacleDirection_decode_ber; -der_type_encoder_f ObstacleDirection_encode_der; -xer_type_decoder_f ObstacleDirection_decode_xer; -xer_type_encoder_f ObstacleDirection_encode_xer; -oer_type_decoder_f ObstacleDirection_decode_oer; -oer_type_encoder_f ObstacleDirection_encode_oer; -per_type_decoder_f ObstacleDirection_decode_uper; -per_type_encoder_f ObstacleDirection_encode_uper; -per_type_decoder_f ObstacleDirection_decode_aper; -per_type_encoder_f ObstacleDirection_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ObstacleDirection_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ObstacleDistance.c b/src/tmx/Asn_J2735/src/r2024/ObstacleDistance.c new file mode 100644 index 000000000..18eb2f001 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ObstacleDistance.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ObstacleDistance.h" + +int +ObstacleDistance_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ObstacleDistance_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ObstacleDistance_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 32767 } /* (0..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ObstacleDistance_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ObstacleDistance = { + "ObstacleDistance", + "ObstacleDistance", + &asn_OP_NativeInteger, + asn_DEF_ObstacleDistance_tags_1, + sizeof(asn_DEF_ObstacleDistance_tags_1) + /sizeof(asn_DEF_ObstacleDistance_tags_1[0]), /* 1 */ + asn_DEF_ObstacleDistance_tags_1, /* Same as above */ + sizeof(asn_DEF_ObstacleDistance_tags_1) + /sizeof(asn_DEF_ObstacleDistance_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ObstacleDistance_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ObstacleDistance_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ObstacleDistance_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ObstacleDistance.h b/src/tmx/Asn_J2735/src/r2024/ObstacleDistance.h deleted file mode 100644 index fdaa2fe85..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ObstacleDistance.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ObstacleDistance_H_ -#define _ObstacleDistance_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ObstacleDistance */ -typedef long ObstacleDistance_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ObstacleDistance_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ObstacleDistance; -asn_struct_free_f ObstacleDistance_free; -asn_struct_print_f ObstacleDistance_print; -asn_constr_check_f ObstacleDistance_constraint; -ber_type_decoder_f ObstacleDistance_decode_ber; -der_type_encoder_f ObstacleDistance_encode_der; -xer_type_decoder_f ObstacleDistance_decode_xer; -xer_type_encoder_f ObstacleDistance_encode_xer; -oer_type_decoder_f ObstacleDistance_decode_oer; -oer_type_encoder_f ObstacleDistance_encode_oer; -per_type_decoder_f ObstacleDistance_decode_uper; -per_type_encoder_f ObstacleDistance_encode_uper; -per_type_decoder_f ObstacleDistance_decode_aper; -per_type_encoder_f ObstacleDistance_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ObstacleDistance_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ObstacleSize.c b/src/tmx/Asn_J2735/src/r2024/ObstacleSize.c new file mode 100644 index 000000000..f09eabd00 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ObstacleSize.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ObstacleSize.h" + +asn_TYPE_member_t asn_MBR_ObstacleSize_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ObstacleSize, width), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SizeValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "width" + }, + { ATF_NOFLAGS, 0, offsetof(struct ObstacleSize, length), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SizeValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "length" + }, + { ATF_POINTER, 1, offsetof(struct ObstacleSize, height), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SizeValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "height" + }, +}; +static const int asn_MAP_ObstacleSize_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_ObstacleSize_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ObstacleSize_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* width */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* length */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* height */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ObstacleSize_specs_1 = { + sizeof(struct ObstacleSize), + offsetof(struct ObstacleSize, _asn_ctx), + asn_MAP_ObstacleSize_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ObstacleSize_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ObstacleSize = { + "ObstacleSize", + "ObstacleSize", + &asn_OP_SEQUENCE, + asn_DEF_ObstacleSize_tags_1, + sizeof(asn_DEF_ObstacleSize_tags_1) + /sizeof(asn_DEF_ObstacleSize_tags_1[0]), /* 1 */ + asn_DEF_ObstacleSize_tags_1, /* Same as above */ + sizeof(asn_DEF_ObstacleSize_tags_1) + /sizeof(asn_DEF_ObstacleSize_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ObstacleSize_1, + 3, /* Elements count */ + &asn_SPC_ObstacleSize_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ObstacleSize.h b/src/tmx/Asn_J2735/src/r2024/ObstacleSize.h deleted file mode 100644 index 28bd571a2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ObstacleSize.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ObstacleSize_H_ -#define _ObstacleSize_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SizeValue.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ObstacleSize */ -typedef struct ObstacleSize { - SizeValue_t width; - SizeValue_t length; - SizeValue_t *height; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ObstacleSize_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ObstacleSize; -extern asn_SEQUENCE_specifics_t asn_SPC_ObstacleSize_specs_1; -extern asn_TYPE_member_t asn_MBR_ObstacleSize_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _ObstacleSize_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ObstacleSizeConfidence.c b/src/tmx/Asn_J2735/src/r2024/ObstacleSizeConfidence.c new file mode 100644 index 000000000..019a3bd4f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ObstacleSizeConfidence.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ObstacleSizeConfidence.h" + +asn_TYPE_member_t asn_MBR_ObstacleSizeConfidence_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ObstacleSizeConfidence, widthConfidence), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SizeValueConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "widthConfidence" + }, + { ATF_NOFLAGS, 0, offsetof(struct ObstacleSizeConfidence, lengthConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SizeValueConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lengthConfidence" + }, + { ATF_POINTER, 1, offsetof(struct ObstacleSizeConfidence, heightConfidence), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SizeValueConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heightConfidence" + }, +}; +static const int asn_MAP_ObstacleSizeConfidence_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_ObstacleSizeConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ObstacleSizeConfidence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* widthConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lengthConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* heightConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ObstacleSizeConfidence_specs_1 = { + sizeof(struct ObstacleSizeConfidence), + offsetof(struct ObstacleSizeConfidence, _asn_ctx), + asn_MAP_ObstacleSizeConfidence_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ObstacleSizeConfidence_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ObstacleSizeConfidence = { + "ObstacleSizeConfidence", + "ObstacleSizeConfidence", + &asn_OP_SEQUENCE, + asn_DEF_ObstacleSizeConfidence_tags_1, + sizeof(asn_DEF_ObstacleSizeConfidence_tags_1) + /sizeof(asn_DEF_ObstacleSizeConfidence_tags_1[0]), /* 1 */ + asn_DEF_ObstacleSizeConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_ObstacleSizeConfidence_tags_1) + /sizeof(asn_DEF_ObstacleSizeConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ObstacleSizeConfidence_1, + 3, /* Elements count */ + &asn_SPC_ObstacleSizeConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ObstacleSizeConfidence.h b/src/tmx/Asn_J2735/src/r2024/ObstacleSizeConfidence.h deleted file mode 100644 index 81516c69a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ObstacleSizeConfidence.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ObstacleSizeConfidence_H_ -#define _ObstacleSizeConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SizeValueConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ObstacleSizeConfidence */ -typedef struct ObstacleSizeConfidence { - SizeValueConfidence_t widthConfidence; - SizeValueConfidence_t lengthConfidence; - SizeValueConfidence_t *heightConfidence; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ObstacleSizeConfidence_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ObstacleSizeConfidence; -extern asn_SEQUENCE_specifics_t asn_SPC_ObstacleSizeConfidence_specs_1; -extern asn_TYPE_member_t asn_MBR_ObstacleSizeConfidence_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _ObstacleSizeConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Obstruction.c b/src/tmx/Asn_J2735/src/r2024/Obstruction.c new file mode 100644 index 000000000..ccd52aa99 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Obstruction.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Obstruction.h" + +int +Obstruction_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Obstruction_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Obstruction_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Obstruction_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Obstruction = { + "Obstruction", + "Obstruction", + &asn_OP_NativeInteger, + asn_DEF_Obstruction_tags_1, + sizeof(asn_DEF_Obstruction_tags_1) + /sizeof(asn_DEF_Obstruction_tags_1[0]), /* 1 */ + asn_DEF_Obstruction_tags_1, /* Same as above */ + sizeof(asn_DEF_Obstruction_tags_1) + /sizeof(asn_DEF_Obstruction_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Obstruction_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Obstruction_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Obstruction_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Obstruction.h b/src/tmx/Asn_J2735/src/r2024/Obstruction.h deleted file mode 100644 index 6ca280cc8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Obstruction.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Obstruction_H_ -#define _Obstruction_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Obstruction { - Obstruction_obstruction_on_roadway = 1281, - Obstruction_object_on_roadway = 1282, - Obstruction_objects_falling_from_moving_vehicle = 1283, - Obstruction_debris_on_roadway = 1284, - Obstruction_storm_damage = 1285, - Obstruction_people_on_roadway = 1286, - Obstruction_bicyclists_on_roadway = 1287, - Obstruction_sightseers_obstructing_access = 1288, - Obstruction_large_numbers_of_visitors = 1289, - Obstruction_animal_on_roadway = 1290, - Obstruction_large_animal_on_roadway = 1291, - Obstruction_herd_of_animals_on_roadway = 1292, - Obstruction_animal_struck = 1293, - Obstruction_advertising_signs = 1315, - Obstruction_fallen_trees = 1294, - Obstruction_over_turned_trees = 1311, - Obstruction_tree_limbs = 1312, - Obstruction_utility_pole_down = 1314, - Obstruction_downed_power_lines = 1295, - Obstruction_downed_cables = 1296, - Obstruction_subsidence = 1297, - Obstruction_road_surface_collapse = 1298, - Obstruction_frost_jacking = 1317, - Obstruction_frost_heave = 1316, - Obstruction_pavement_buckled = 1299, - Obstruction_pothole = 1300, - Obstruction_flooding = 1301, - Obstruction_broken_water_main = 1302, - Obstruction_collapsed_sewer = 1303, - Obstruction_wash_out = 1319, - Obstruction_washboard = 1318, - Obstruction_sewer_overflow = 1304, - Obstruction_gas_leak = 1305, - Obstruction_snowmelt = 1306, - Obstruction_mudslide = 1307, - Obstruction_avalanche = 1308, - Obstruction_rockfall = 1309, - Obstruction_landslide = 1310, - Obstruction_clearance_work = 1406, - Obstruction_obstruction_cleared = 1407 -} e_Obstruction; - -/* Obstruction */ -typedef long Obstruction_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Obstruction_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Obstruction; -asn_struct_free_f Obstruction_free; -asn_struct_print_f Obstruction_print; -asn_constr_check_f Obstruction_constraint; -ber_type_decoder_f Obstruction_decode_ber; -der_type_encoder_f Obstruction_encode_der; -xer_type_decoder_f Obstruction_decode_xer; -xer_type_encoder_f Obstruction_encode_xer; -oer_type_decoder_f Obstruction_decode_oer; -oer_type_encoder_f Obstruction_encode_oer; -per_type_decoder_f Obstruction_decode_uper; -per_type_encoder_f Obstruction_encode_uper; -per_type_decoder_f Obstruction_decode_aper; -per_type_encoder_f Obstruction_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Obstruction_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Obstructions.c b/src/tmx/Asn_J2735/src/r2024/Obstructions.c new file mode 100644 index 000000000..1d7e82679 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Obstructions.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Obstructions.h" + +asn_TYPE_member_t asn_MBR_Obstructions_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Obstructions, location), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "location" + }, + { ATF_POINTER, 1, offsetof(struct Obstructions, description), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ITIScodes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "description" + }, +}; +static const int asn_MAP_Obstructions_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_Obstructions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Obstructions_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* location */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* description */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Obstructions_specs_1 = { + sizeof(struct Obstructions), + offsetof(struct Obstructions, _asn_ctx), + asn_MAP_Obstructions_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_Obstructions_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Obstructions = { + "Obstructions", + "Obstructions", + &asn_OP_SEQUENCE, + asn_DEF_Obstructions_tags_1, + sizeof(asn_DEF_Obstructions_tags_1) + /sizeof(asn_DEF_Obstructions_tags_1[0]), /* 1 */ + asn_DEF_Obstructions_tags_1, /* Same as above */ + sizeof(asn_DEF_Obstructions_tags_1) + /sizeof(asn_DEF_Obstructions_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Obstructions_1, + 2, /* Elements count */ + &asn_SPC_Obstructions_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Obstructions.h b/src/tmx/Asn_J2735/src/r2024/Obstructions.h deleted file mode 100644 index 062ef2a0e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Obstructions.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Obstructions_H_ -#define _Obstructions_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Position3D.h" -#include "ITIS_ITIScodes.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Obstructions */ -typedef struct Obstructions { - Position3D_t location; - ITIS_ITIScodes_t *description; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Obstructions_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Obstructions; -extern asn_SEQUENCE_specifics_t asn_SPC_Obstructions_specs_1; -extern asn_TYPE_member_t asn_MBR_Obstructions_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Obstructions_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Offset-B09.c b/src/tmx/Asn_J2735/src/r2024/Offset-B09.c new file mode 100644 index 000000000..f0ee7a964 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Offset-B09.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Offset-B09.h" + +int +Offset_B09_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -256L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Offset_B09_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-256..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Offset_B09_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, -256, 255 } /* (-256..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Offset_B09_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Offset_B09 = { + "Offset-B09", + "Offset-B09", + &asn_OP_NativeInteger, + asn_DEF_Offset_B09_tags_1, + sizeof(asn_DEF_Offset_B09_tags_1) + /sizeof(asn_DEF_Offset_B09_tags_1[0]), /* 1 */ + asn_DEF_Offset_B09_tags_1, /* Same as above */ + sizeof(asn_DEF_Offset_B09_tags_1) + /sizeof(asn_DEF_Offset_B09_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Offset_B09_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Offset_B09_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Offset_B09_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Offset-B09.h b/src/tmx/Asn_J2735/src/r2024/Offset-B09.h deleted file mode 100644 index 47ee99e01..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Offset-B09.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Offset_B09_H_ -#define _Offset_B09_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Offset-B09 */ -typedef long Offset_B09_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Offset_B09_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Offset_B09; -asn_struct_free_f Offset_B09_free; -asn_struct_print_f Offset_B09_print; -asn_constr_check_f Offset_B09_constraint; -ber_type_decoder_f Offset_B09_decode_ber; -der_type_encoder_f Offset_B09_encode_der; -xer_type_decoder_f Offset_B09_decode_xer; -xer_type_encoder_f Offset_B09_encode_xer; -oer_type_decoder_f Offset_B09_decode_oer; -oer_type_encoder_f Offset_B09_encode_oer; -per_type_decoder_f Offset_B09_decode_uper; -per_type_encoder_f Offset_B09_encode_uper; -per_type_decoder_f Offset_B09_decode_aper; -per_type_encoder_f Offset_B09_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Offset_B09_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Offset-B10.c b/src/tmx/Asn_J2735/src/r2024/Offset-B10.c new file mode 100644 index 000000000..a05eb2ccf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Offset-B10.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Offset-B10.h" + +int +Offset_B10_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -512L && value <= 511L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Offset_B10_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-512..511) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Offset_B10_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, -512, 511 } /* (-512..511) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Offset_B10_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Offset_B10 = { + "Offset-B10", + "Offset-B10", + &asn_OP_NativeInteger, + asn_DEF_Offset_B10_tags_1, + sizeof(asn_DEF_Offset_B10_tags_1) + /sizeof(asn_DEF_Offset_B10_tags_1[0]), /* 1 */ + asn_DEF_Offset_B10_tags_1, /* Same as above */ + sizeof(asn_DEF_Offset_B10_tags_1) + /sizeof(asn_DEF_Offset_B10_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Offset_B10_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Offset_B10_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Offset_B10_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Offset-B10.h b/src/tmx/Asn_J2735/src/r2024/Offset-B10.h deleted file mode 100644 index 33be17a56..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Offset-B10.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Offset_B10_H_ -#define _Offset_B10_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Offset-B10 */ -typedef long Offset_B10_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Offset_B10_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Offset_B10; -asn_struct_free_f Offset_B10_free; -asn_struct_print_f Offset_B10_print; -asn_constr_check_f Offset_B10_constraint; -ber_type_decoder_f Offset_B10_decode_ber; -der_type_encoder_f Offset_B10_encode_der; -xer_type_decoder_f Offset_B10_decode_xer; -xer_type_encoder_f Offset_B10_encode_xer; -oer_type_decoder_f Offset_B10_decode_oer; -oer_type_encoder_f Offset_B10_encode_oer; -per_type_decoder_f Offset_B10_decode_uper; -per_type_encoder_f Offset_B10_encode_uper; -per_type_decoder_f Offset_B10_decode_aper; -per_type_encoder_f Offset_B10_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Offset_B10_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Offset-B11.c b/src/tmx/Asn_J2735/src/r2024/Offset-B11.c new file mode 100644 index 000000000..2ee9a6a4c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Offset-B11.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Offset-B11.h" + +int +Offset_B11_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -1024L && value <= 1023L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Offset_B11_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-1024..1023) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Offset_B11_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, -1024, 1023 } /* (-1024..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Offset_B11_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Offset_B11 = { + "Offset-B11", + "Offset-B11", + &asn_OP_NativeInteger, + asn_DEF_Offset_B11_tags_1, + sizeof(asn_DEF_Offset_B11_tags_1) + /sizeof(asn_DEF_Offset_B11_tags_1[0]), /* 1 */ + asn_DEF_Offset_B11_tags_1, /* Same as above */ + sizeof(asn_DEF_Offset_B11_tags_1) + /sizeof(asn_DEF_Offset_B11_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Offset_B11_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Offset_B11_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Offset_B11_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Offset-B11.h b/src/tmx/Asn_J2735/src/r2024/Offset-B11.h deleted file mode 100644 index 2363f6afa..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Offset-B11.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Offset_B11_H_ -#define _Offset_B11_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Offset-B11 */ -typedef long Offset_B11_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Offset_B11_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Offset_B11; -asn_struct_free_f Offset_B11_free; -asn_struct_print_f Offset_B11_print; -asn_constr_check_f Offset_B11_constraint; -ber_type_decoder_f Offset_B11_decode_ber; -der_type_encoder_f Offset_B11_encode_der; -xer_type_decoder_f Offset_B11_decode_xer; -xer_type_encoder_f Offset_B11_encode_xer; -oer_type_decoder_f Offset_B11_decode_oer; -oer_type_encoder_f Offset_B11_encode_oer; -per_type_decoder_f Offset_B11_decode_uper; -per_type_encoder_f Offset_B11_encode_uper; -per_type_decoder_f Offset_B11_decode_aper; -per_type_encoder_f Offset_B11_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Offset_B11_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Offset-B12.c b/src/tmx/Asn_J2735/src/r2024/Offset-B12.c new file mode 100644 index 000000000..922daf3c5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Offset-B12.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Offset-B12.h" + +int +Offset_B12_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -2048L && value <= 2047L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Offset_B12_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-2048..2047) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Offset_B12_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, -2048, 2047 } /* (-2048..2047) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Offset_B12_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Offset_B12 = { + "Offset-B12", + "Offset-B12", + &asn_OP_NativeInteger, + asn_DEF_Offset_B12_tags_1, + sizeof(asn_DEF_Offset_B12_tags_1) + /sizeof(asn_DEF_Offset_B12_tags_1[0]), /* 1 */ + asn_DEF_Offset_B12_tags_1, /* Same as above */ + sizeof(asn_DEF_Offset_B12_tags_1) + /sizeof(asn_DEF_Offset_B12_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Offset_B12_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Offset_B12_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Offset_B12_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Offset-B12.h b/src/tmx/Asn_J2735/src/r2024/Offset-B12.h deleted file mode 100644 index 0418701f9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Offset-B12.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Offset_B12_H_ -#define _Offset_B12_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Offset-B12 */ -typedef long Offset_B12_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Offset_B12_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Offset_B12; -asn_struct_free_f Offset_B12_free; -asn_struct_print_f Offset_B12_print; -asn_constr_check_f Offset_B12_constraint; -ber_type_decoder_f Offset_B12_decode_ber; -der_type_encoder_f Offset_B12_encode_der; -xer_type_decoder_f Offset_B12_decode_xer; -xer_type_encoder_f Offset_B12_encode_xer; -oer_type_decoder_f Offset_B12_decode_oer; -oer_type_encoder_f Offset_B12_encode_oer; -per_type_decoder_f Offset_B12_decode_uper; -per_type_encoder_f Offset_B12_encode_uper; -per_type_decoder_f Offset_B12_decode_aper; -per_type_encoder_f Offset_B12_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Offset_B12_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Offset-B13.c b/src/tmx/Asn_J2735/src/r2024/Offset-B13.c new file mode 100644 index 000000000..15f9df8fb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Offset-B13.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Offset-B13.h" + +int +Offset_B13_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -4096L && value <= 4095L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Offset_B13_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-4096..4095) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Offset_B13_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 13, 13, -4096, 4095 } /* (-4096..4095) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Offset_B13_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Offset_B13 = { + "Offset-B13", + "Offset-B13", + &asn_OP_NativeInteger, + asn_DEF_Offset_B13_tags_1, + sizeof(asn_DEF_Offset_B13_tags_1) + /sizeof(asn_DEF_Offset_B13_tags_1[0]), /* 1 */ + asn_DEF_Offset_B13_tags_1, /* Same as above */ + sizeof(asn_DEF_Offset_B13_tags_1) + /sizeof(asn_DEF_Offset_B13_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Offset_B13_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Offset_B13_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Offset_B13_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Offset-B13.h b/src/tmx/Asn_J2735/src/r2024/Offset-B13.h deleted file mode 100644 index b56470ed0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Offset-B13.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Offset_B13_H_ -#define _Offset_B13_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Offset-B13 */ -typedef long Offset_B13_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Offset_B13_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Offset_B13; -asn_struct_free_f Offset_B13_free; -asn_struct_print_f Offset_B13_print; -asn_constr_check_f Offset_B13_constraint; -ber_type_decoder_f Offset_B13_decode_ber; -der_type_encoder_f Offset_B13_encode_der; -xer_type_decoder_f Offset_B13_decode_xer; -xer_type_encoder_f Offset_B13_encode_xer; -oer_type_decoder_f Offset_B13_decode_oer; -oer_type_encoder_f Offset_B13_encode_oer; -per_type_decoder_f Offset_B13_decode_uper; -per_type_encoder_f Offset_B13_encode_uper; -per_type_decoder_f Offset_B13_decode_aper; -per_type_encoder_f Offset_B13_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Offset_B13_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Offset-B14.c b/src/tmx/Asn_J2735/src/r2024/Offset-B14.c new file mode 100644 index 000000000..ca0ccce99 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Offset-B14.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Offset-B14.h" + +int +Offset_B14_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -8192L && value <= 8191L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Offset_B14_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-8192..8191) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Offset_B14_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, -8192, 8191 } /* (-8192..8191) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Offset_B14_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Offset_B14 = { + "Offset-B14", + "Offset-B14", + &asn_OP_NativeInteger, + asn_DEF_Offset_B14_tags_1, + sizeof(asn_DEF_Offset_B14_tags_1) + /sizeof(asn_DEF_Offset_B14_tags_1[0]), /* 1 */ + asn_DEF_Offset_B14_tags_1, /* Same as above */ + sizeof(asn_DEF_Offset_B14_tags_1) + /sizeof(asn_DEF_Offset_B14_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Offset_B14_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Offset_B14_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Offset_B14_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Offset-B14.h b/src/tmx/Asn_J2735/src/r2024/Offset-B14.h deleted file mode 100644 index a9a63d21a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Offset-B14.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Offset_B14_H_ -#define _Offset_B14_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Offset-B14 */ -typedef long Offset_B14_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Offset_B14_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Offset_B14; -asn_struct_free_f Offset_B14_free; -asn_struct_print_f Offset_B14_print; -asn_constr_check_f Offset_B14_constraint; -ber_type_decoder_f Offset_B14_decode_ber; -der_type_encoder_f Offset_B14_encode_der; -xer_type_decoder_f Offset_B14_decode_xer; -xer_type_encoder_f Offset_B14_encode_xer; -oer_type_decoder_f Offset_B14_decode_oer; -oer_type_encoder_f Offset_B14_encode_oer; -per_type_decoder_f Offset_B14_decode_uper; -per_type_encoder_f Offset_B14_encode_uper; -per_type_decoder_f Offset_B14_decode_aper; -per_type_encoder_f Offset_B14_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Offset_B14_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Offset-B16.c b/src/tmx/Asn_J2735/src/r2024/Offset-B16.c new file mode 100644 index 000000000..079b6910f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Offset-B16.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Offset-B16.h" + +int +Offset_B16_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32768L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Offset_B16_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32768..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Offset_B16_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Offset_B16_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Offset_B16 = { + "Offset-B16", + "Offset-B16", + &asn_OP_NativeInteger, + asn_DEF_Offset_B16_tags_1, + sizeof(asn_DEF_Offset_B16_tags_1) + /sizeof(asn_DEF_Offset_B16_tags_1[0]), /* 1 */ + asn_DEF_Offset_B16_tags_1, /* Same as above */ + sizeof(asn_DEF_Offset_B16_tags_1) + /sizeof(asn_DEF_Offset_B16_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Offset_B16_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Offset_B16_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Offset_B16_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Offset-B16.h b/src/tmx/Asn_J2735/src/r2024/Offset-B16.h deleted file mode 100644 index 9fc8bc775..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Offset-B16.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Offset_B16_H_ -#define _Offset_B16_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Offset-B16 */ -typedef long Offset_B16_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Offset_B16_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Offset_B16; -asn_struct_free_f Offset_B16_free; -asn_struct_print_f Offset_B16_print; -asn_constr_check_f Offset_B16_constraint; -ber_type_decoder_f Offset_B16_decode_ber; -der_type_encoder_f Offset_B16_encode_der; -xer_type_decoder_f Offset_B16_decode_xer; -xer_type_encoder_f Offset_B16_encode_xer; -oer_type_decoder_f Offset_B16_decode_oer; -oer_type_encoder_f Offset_B16_encode_oer; -per_type_decoder_f Offset_B16_decode_uper; -per_type_encoder_f Offset_B16_encode_uper; -per_type_decoder_f Offset_B16_decode_aper; -per_type_encoder_f Offset_B16_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Offset_B16_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Offset3D.c b/src/tmx/Asn_J2735/src/r2024/Offset3D.c new file mode 100644 index 000000000..067006a00 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Offset3D.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Offset3D.h" + +asn_TYPE_member_t asn_MBR_Offset3D_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Offset3D, lat_offset), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LatOffset, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat-offset" + }, + { ATF_NOFLAGS, 0, offsetof(struct Offset3D, long_offset), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LongOffset, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "long-offset" + }, + { ATF_POINTER, 1, offsetof(struct Offset3D, elev_offset), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ElevOffset, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "elev-offset" + }, +}; +static const int asn_MAP_Offset3D_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Offset3D_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Offset3D_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lat-offset */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* long-offset */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* elev-offset */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Offset3D_specs_1 = { + sizeof(struct Offset3D), + offsetof(struct Offset3D, _asn_ctx), + asn_MAP_Offset3D_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Offset3D_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Offset3D = { + "Offset3D", + "Offset3D", + &asn_OP_SEQUENCE, + asn_DEF_Offset3D_tags_1, + sizeof(asn_DEF_Offset3D_tags_1) + /sizeof(asn_DEF_Offset3D_tags_1[0]), /* 1 */ + asn_DEF_Offset3D_tags_1, /* Same as above */ + sizeof(asn_DEF_Offset3D_tags_1) + /sizeof(asn_DEF_Offset3D_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Offset3D_1, + 3, /* Elements count */ + &asn_SPC_Offset3D_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Offset3D.h b/src/tmx/Asn_J2735/src/r2024/Offset3D.h deleted file mode 100644 index d798c7391..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Offset3D.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Offset3D_H_ -#define _Offset3D_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LatOffset.h" -#include "LongOffset.h" -#include "ElevOffset.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Offset3D */ -typedef struct Offset3D { - LatOffset_t lat_offset; - LongOffset_t long_offset; - ElevOffset_t *elev_offset; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Offset3D_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Offset3D; -extern asn_SEQUENCE_specifics_t asn_SPC_Offset3D_specs_1; -extern asn_TYPE_member_t asn_MBR_Offset3D_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Offset3D_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B12.c b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B12.c new file mode 100644 index 000000000..4bb2886d7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B12.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "OffsetLL-B12.h" + +int +OffsetLL_B12_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -2048L && value <= 2047L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_OffsetLL_B12_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-2048..2047) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_OffsetLL_B12_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, -2048, 2047 } /* (-2048..2047) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_OffsetLL_B12_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_OffsetLL_B12 = { + "OffsetLL-B12", + "OffsetLL-B12", + &asn_OP_NativeInteger, + asn_DEF_OffsetLL_B12_tags_1, + sizeof(asn_DEF_OffsetLL_B12_tags_1) + /sizeof(asn_DEF_OffsetLL_B12_tags_1[0]), /* 1 */ + asn_DEF_OffsetLL_B12_tags_1, /* Same as above */ + sizeof(asn_DEF_OffsetLL_B12_tags_1) + /sizeof(asn_DEF_OffsetLL_B12_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_OffsetLL_B12_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_OffsetLL_B12_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OffsetLL_B12_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B12.h b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B12.h deleted file mode 100644 index add335810..000000000 --- a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B12.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _OffsetLL_B12_H_ -#define _OffsetLL_B12_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* OffsetLL-B12 */ -typedef long OffsetLL_B12_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_OffsetLL_B12_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_OffsetLL_B12; -asn_struct_free_f OffsetLL_B12_free; -asn_struct_print_f OffsetLL_B12_print; -asn_constr_check_f OffsetLL_B12_constraint; -ber_type_decoder_f OffsetLL_B12_decode_ber; -der_type_encoder_f OffsetLL_B12_encode_der; -xer_type_decoder_f OffsetLL_B12_decode_xer; -xer_type_encoder_f OffsetLL_B12_encode_xer; -oer_type_decoder_f OffsetLL_B12_decode_oer; -oer_type_encoder_f OffsetLL_B12_encode_oer; -per_type_decoder_f OffsetLL_B12_decode_uper; -per_type_encoder_f OffsetLL_B12_encode_uper; -per_type_decoder_f OffsetLL_B12_decode_aper; -per_type_encoder_f OffsetLL_B12_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _OffsetLL_B12_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B14.c b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B14.c new file mode 100644 index 000000000..b4e9216b2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B14.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "OffsetLL-B14.h" + +int +OffsetLL_B14_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -8192L && value <= 8191L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_OffsetLL_B14_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-8192..8191) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_OffsetLL_B14_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, -8192, 8191 } /* (-8192..8191) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_OffsetLL_B14_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_OffsetLL_B14 = { + "OffsetLL-B14", + "OffsetLL-B14", + &asn_OP_NativeInteger, + asn_DEF_OffsetLL_B14_tags_1, + sizeof(asn_DEF_OffsetLL_B14_tags_1) + /sizeof(asn_DEF_OffsetLL_B14_tags_1[0]), /* 1 */ + asn_DEF_OffsetLL_B14_tags_1, /* Same as above */ + sizeof(asn_DEF_OffsetLL_B14_tags_1) + /sizeof(asn_DEF_OffsetLL_B14_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_OffsetLL_B14_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_OffsetLL_B14_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OffsetLL_B14_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B14.h b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B14.h deleted file mode 100644 index 196ca80c5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B14.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _OffsetLL_B14_H_ -#define _OffsetLL_B14_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* OffsetLL-B14 */ -typedef long OffsetLL_B14_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_OffsetLL_B14_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_OffsetLL_B14; -asn_struct_free_f OffsetLL_B14_free; -asn_struct_print_f OffsetLL_B14_print; -asn_constr_check_f OffsetLL_B14_constraint; -ber_type_decoder_f OffsetLL_B14_decode_ber; -der_type_encoder_f OffsetLL_B14_encode_der; -xer_type_decoder_f OffsetLL_B14_decode_xer; -xer_type_encoder_f OffsetLL_B14_encode_xer; -oer_type_decoder_f OffsetLL_B14_decode_oer; -oer_type_encoder_f OffsetLL_B14_encode_oer; -per_type_decoder_f OffsetLL_B14_decode_uper; -per_type_encoder_f OffsetLL_B14_encode_uper; -per_type_decoder_f OffsetLL_B14_decode_aper; -per_type_encoder_f OffsetLL_B14_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _OffsetLL_B14_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B16.c b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B16.c new file mode 100644 index 000000000..bfbcf200c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B16.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "OffsetLL-B16.h" + +int +OffsetLL_B16_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32768L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_OffsetLL_B16_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32768..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_OffsetLL_B16_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32768, 32767 } /* (-32768..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_OffsetLL_B16_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_OffsetLL_B16 = { + "OffsetLL-B16", + "OffsetLL-B16", + &asn_OP_NativeInteger, + asn_DEF_OffsetLL_B16_tags_1, + sizeof(asn_DEF_OffsetLL_B16_tags_1) + /sizeof(asn_DEF_OffsetLL_B16_tags_1[0]), /* 1 */ + asn_DEF_OffsetLL_B16_tags_1, /* Same as above */ + sizeof(asn_DEF_OffsetLL_B16_tags_1) + /sizeof(asn_DEF_OffsetLL_B16_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_OffsetLL_B16_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_OffsetLL_B16_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OffsetLL_B16_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B16.h b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B16.h deleted file mode 100644 index 6e3ac1b66..000000000 --- a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B16.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _OffsetLL_B16_H_ -#define _OffsetLL_B16_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* OffsetLL-B16 */ -typedef long OffsetLL_B16_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_OffsetLL_B16_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_OffsetLL_B16; -asn_struct_free_f OffsetLL_B16_free; -asn_struct_print_f OffsetLL_B16_print; -asn_constr_check_f OffsetLL_B16_constraint; -ber_type_decoder_f OffsetLL_B16_decode_ber; -der_type_encoder_f OffsetLL_B16_encode_der; -xer_type_decoder_f OffsetLL_B16_decode_xer; -xer_type_encoder_f OffsetLL_B16_encode_xer; -oer_type_decoder_f OffsetLL_B16_decode_oer; -oer_type_encoder_f OffsetLL_B16_encode_oer; -per_type_decoder_f OffsetLL_B16_decode_uper; -per_type_encoder_f OffsetLL_B16_encode_uper; -per_type_decoder_f OffsetLL_B16_decode_aper; -per_type_encoder_f OffsetLL_B16_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _OffsetLL_B16_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B18.c b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B18.c new file mode 100644 index 000000000..5d273eca0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B18.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "OffsetLL-B18.h" + +int +OffsetLL_B18_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -131072L && value <= 131071L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_OffsetLL_B18_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-131072..131071) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_OffsetLL_B18_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 18, -1, -131072, 131071 } /* (-131072..131071) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_OffsetLL_B18_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_OffsetLL_B18 = { + "OffsetLL-B18", + "OffsetLL-B18", + &asn_OP_NativeInteger, + asn_DEF_OffsetLL_B18_tags_1, + sizeof(asn_DEF_OffsetLL_B18_tags_1) + /sizeof(asn_DEF_OffsetLL_B18_tags_1[0]), /* 1 */ + asn_DEF_OffsetLL_B18_tags_1, /* Same as above */ + sizeof(asn_DEF_OffsetLL_B18_tags_1) + /sizeof(asn_DEF_OffsetLL_B18_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_OffsetLL_B18_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_OffsetLL_B18_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OffsetLL_B18_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B18.h b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B18.h deleted file mode 100644 index 4c5c8dd5a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B18.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _OffsetLL_B18_H_ -#define _OffsetLL_B18_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* OffsetLL-B18 */ -typedef long OffsetLL_B18_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_OffsetLL_B18_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_OffsetLL_B18; -asn_struct_free_f OffsetLL_B18_free; -asn_struct_print_f OffsetLL_B18_print; -asn_constr_check_f OffsetLL_B18_constraint; -ber_type_decoder_f OffsetLL_B18_decode_ber; -der_type_encoder_f OffsetLL_B18_encode_der; -xer_type_decoder_f OffsetLL_B18_decode_xer; -xer_type_encoder_f OffsetLL_B18_encode_xer; -oer_type_decoder_f OffsetLL_B18_decode_oer; -oer_type_encoder_f OffsetLL_B18_encode_oer; -per_type_decoder_f OffsetLL_B18_decode_uper; -per_type_encoder_f OffsetLL_B18_encode_uper; -per_type_decoder_f OffsetLL_B18_decode_aper; -per_type_encoder_f OffsetLL_B18_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _OffsetLL_B18_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B22.c b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B22.c new file mode 100644 index 000000000..3040f9f51 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B22.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "OffsetLL-B22.h" + +int +OffsetLL_B22_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -2097152L && value <= 2097151L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_OffsetLL_B22_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-2097152..2097151) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_OffsetLL_B22_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 22, -1, -2097152, 2097151 } /* (-2097152..2097151) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_OffsetLL_B22_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_OffsetLL_B22 = { + "OffsetLL-B22", + "OffsetLL-B22", + &asn_OP_NativeInteger, + asn_DEF_OffsetLL_B22_tags_1, + sizeof(asn_DEF_OffsetLL_B22_tags_1) + /sizeof(asn_DEF_OffsetLL_B22_tags_1[0]), /* 1 */ + asn_DEF_OffsetLL_B22_tags_1, /* Same as above */ + sizeof(asn_DEF_OffsetLL_B22_tags_1) + /sizeof(asn_DEF_OffsetLL_B22_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_OffsetLL_B22_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_OffsetLL_B22_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OffsetLL_B22_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B22.h b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B22.h deleted file mode 100644 index 04c4de4b7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B22.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _OffsetLL_B22_H_ -#define _OffsetLL_B22_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* OffsetLL-B22 */ -typedef long OffsetLL_B22_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_OffsetLL_B22_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_OffsetLL_B22; -asn_struct_free_f OffsetLL_B22_free; -asn_struct_print_f OffsetLL_B22_print; -asn_constr_check_f OffsetLL_B22_constraint; -ber_type_decoder_f OffsetLL_B22_decode_ber; -der_type_encoder_f OffsetLL_B22_encode_der; -xer_type_decoder_f OffsetLL_B22_decode_xer; -xer_type_encoder_f OffsetLL_B22_encode_xer; -oer_type_decoder_f OffsetLL_B22_decode_oer; -oer_type_encoder_f OffsetLL_B22_encode_oer; -per_type_decoder_f OffsetLL_B22_decode_uper; -per_type_encoder_f OffsetLL_B22_encode_uper; -per_type_decoder_f OffsetLL_B22_decode_aper; -per_type_encoder_f OffsetLL_B22_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _OffsetLL_B22_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B24.c b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B24.c new file mode 100644 index 000000000..4223ecf6b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B24.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "OffsetLL-B24.h" + +int +OffsetLL_B24_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -8388608L && value <= 8388607L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_OffsetLL_B24_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-8388608..8388607) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_OffsetLL_B24_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 24, -1, -8388608, 8388607 } /* (-8388608..8388607) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_OffsetLL_B24_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_OffsetLL_B24 = { + "OffsetLL-B24", + "OffsetLL-B24", + &asn_OP_NativeInteger, + asn_DEF_OffsetLL_B24_tags_1, + sizeof(asn_DEF_OffsetLL_B24_tags_1) + /sizeof(asn_DEF_OffsetLL_B24_tags_1[0]), /* 1 */ + asn_DEF_OffsetLL_B24_tags_1, /* Same as above */ + sizeof(asn_DEF_OffsetLL_B24_tags_1) + /sizeof(asn_DEF_OffsetLL_B24_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_OffsetLL_B24_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_OffsetLL_B24_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OffsetLL_B24_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B24.h b/src/tmx/Asn_J2735/src/r2024/OffsetLL-B24.h deleted file mode 100644 index b541e6608..000000000 --- a/src/tmx/Asn_J2735/src/r2024/OffsetLL-B24.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _OffsetLL_B24_H_ -#define _OffsetLL_B24_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* OffsetLL-B24 */ -typedef long OffsetLL_B24_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_OffsetLL_B24_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_OffsetLL_B24; -asn_struct_free_f OffsetLL_B24_free; -asn_struct_print_f OffsetLL_B24_print; -asn_constr_check_f OffsetLL_B24_constraint; -ber_type_decoder_f OffsetLL_B24_decode_ber; -der_type_encoder_f OffsetLL_B24_encode_der; -xer_type_decoder_f OffsetLL_B24_decode_xer; -xer_type_encoder_f OffsetLL_B24_encode_xer; -oer_type_decoder_f OffsetLL_B24_decode_oer; -oer_type_encoder_f OffsetLL_B24_encode_oer; -per_type_decoder_f OffsetLL_B24_decode_uper; -per_type_encoder_f OffsetLL_B24_encode_uper; -per_type_decoder_f OffsetLL_B24_decode_aper; -per_type_encoder_f OffsetLL_B24_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _OffsetLL_B24_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetSystem.c b/src/tmx/Asn_J2735/src/r2024/OffsetSystem.c new file mode 100644 index 000000000..eaa2f3958 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OffsetSystem.c @@ -0,0 +1,171 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "OffsetSystem.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_offset_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_offset_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_offset_3[] = { + { ATF_NOFLAGS, 0, offsetof(struct OffsetSystem__offset, choice.xy), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_NodeListXY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "xy" + }, + { ATF_NOFLAGS, 0, offsetof(struct OffsetSystem__offset, choice.ll), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_NodeListLL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ll" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_offset_tag2el_3[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* xy */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ll */ +}; +static asn_CHOICE_specifics_t asn_SPC_offset_specs_3 = { + sizeof(struct OffsetSystem__offset), + offsetof(struct OffsetSystem__offset, _asn_ctx), + offsetof(struct OffsetSystem__offset, present), + sizeof(((struct OffsetSystem__offset *)0)->present), + asn_MAP_offset_tag2el_3, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_offset_3 = { + "offset", + "offset", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_offset_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_offset_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_offset_3, + 2, /* Elements count */ + &asn_SPC_offset_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_OffsetSystem_1[] = { + { ATF_POINTER, 1, offsetof(struct OffsetSystem, scale), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Zoom, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "scale" + }, + { ATF_NOFLAGS, 0, offsetof(struct OffsetSystem, offset), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_offset_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offset" + }, +}; +static const int asn_MAP_OffsetSystem_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_OffsetSystem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_OffsetSystem_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* scale */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* offset */ +}; +asn_SEQUENCE_specifics_t asn_SPC_OffsetSystem_specs_1 = { + sizeof(struct OffsetSystem), + offsetof(struct OffsetSystem, _asn_ctx), + asn_MAP_OffsetSystem_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_OffsetSystem_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_OffsetSystem = { + "OffsetSystem", + "OffsetSystem", + &asn_OP_SEQUENCE, + asn_DEF_OffsetSystem_tags_1, + sizeof(asn_DEF_OffsetSystem_tags_1) + /sizeof(asn_DEF_OffsetSystem_tags_1[0]), /* 1 */ + asn_DEF_OffsetSystem_tags_1, /* Same as above */ + sizeof(asn_DEF_OffsetSystem_tags_1) + /sizeof(asn_DEF_OffsetSystem_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_OffsetSystem_1, + 2, /* Elements count */ + &asn_SPC_OffsetSystem_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/OffsetSystem.h b/src/tmx/Asn_J2735/src/r2024/OffsetSystem.h deleted file mode 100644 index bd721fcd0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/OffsetSystem.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _OffsetSystem_H_ -#define _OffsetSystem_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Zoom.h" -#include "NodeListXY.h" -#include "NodeListLL.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum OffsetSystem__offset_PR { - OffsetSystem__offset_PR_NOTHING, /* No components present */ - OffsetSystem__offset_PR_xy, - OffsetSystem__offset_PR_ll -} OffsetSystem__offset_PR; - -/* OffsetSystem */ -typedef struct OffsetSystem { - Zoom_t *scale; /* OPTIONAL */ - struct OffsetSystem__offset { - OffsetSystem__offset_PR present; - union OffsetSystem__offset_u { - NodeListXY_t xy; - NodeListLL_t ll; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } offset; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} OffsetSystem_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_OffsetSystem; -extern asn_SEQUENCE_specifics_t asn_SPC_OffsetSystem_specs_1; -extern asn_TYPE_member_t asn_MBR_OffsetSystem_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _OffsetSystem_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/OperatorDefined.c b/src/tmx/Asn_J2735/src/r2024/OperatorDefined.c new file mode 100644 index 000000000..545314cef --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OperatorDefined.c @@ -0,0 +1,338 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "OperatorDefined.h" + +asn_TYPE_member_t asn_MBR_OperatorDefined_1[] = { + { ATF_POINTER, 16, offsetof(struct OperatorDefined, opDefCharge1), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge1" + }, + { ATF_POINTER, 15, offsetof(struct OperatorDefined, opDefCharge2), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge2" + }, + { ATF_POINTER, 14, offsetof(struct OperatorDefined, opDefCharge3), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge3" + }, + { ATF_POINTER, 13, offsetof(struct OperatorDefined, opDefCharge4), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge4" + }, + { ATF_POINTER, 12, offsetof(struct OperatorDefined, opDefCharge5), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge5" + }, + { ATF_POINTER, 11, offsetof(struct OperatorDefined, opDefCharge6), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge6" + }, + { ATF_POINTER, 10, offsetof(struct OperatorDefined, opDefCharge7), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge7" + }, + { ATF_POINTER, 9, offsetof(struct OperatorDefined, opDefCharge8), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge8" + }, + { ATF_POINTER, 8, offsetof(struct OperatorDefined, opDefCharge9), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge9" + }, + { ATF_POINTER, 7, offsetof(struct OperatorDefined, opDefCharge10), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge10" + }, + { ATF_POINTER, 6, offsetof(struct OperatorDefined, opDefCharge11), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge11" + }, + { ATF_POINTER, 5, offsetof(struct OperatorDefined, opDefCharge12), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge12" + }, + { ATF_POINTER, 4, offsetof(struct OperatorDefined, opDefCharge13), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge13" + }, + { ATF_POINTER, 3, offsetof(struct OperatorDefined, opDefCharge14), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge14" + }, + { ATF_POINTER, 2, offsetof(struct OperatorDefined, opDefCharge15), + (ASN_TAG_CLASS_CONTEXT | (14 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge15" + }, + { ATF_POINTER, 1, offsetof(struct OperatorDefined, opDefCharge16), + (ASN_TAG_CLASS_CONTEXT | (15 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "opDefCharge16" + }, +}; +static const int asn_MAP_OperatorDefined_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }; +static const ber_tlv_tag_t asn_DEF_OperatorDefined_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_OperatorDefined_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* opDefCharge1 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* opDefCharge2 */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* opDefCharge3 */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* opDefCharge4 */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* opDefCharge5 */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* opDefCharge6 */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* opDefCharge7 */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* opDefCharge8 */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* opDefCharge9 */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* opDefCharge10 */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* opDefCharge11 */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* opDefCharge12 */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* opDefCharge13 */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* opDefCharge14 */ + { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* opDefCharge15 */ + { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 } /* opDefCharge16 */ +}; +asn_SEQUENCE_specifics_t asn_SPC_OperatorDefined_specs_1 = { + sizeof(struct OperatorDefined), + offsetof(struct OperatorDefined, _asn_ctx), + asn_MAP_OperatorDefined_tag2el_1, + 16, /* Count of tags in the map */ + asn_MAP_OperatorDefined_oms_1, /* Optional members */ + 16, 0, /* Root/Additions */ + 16, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_OperatorDefined = { + "OperatorDefined", + "OperatorDefined", + &asn_OP_SEQUENCE, + asn_DEF_OperatorDefined_tags_1, + sizeof(asn_DEF_OperatorDefined_tags_1) + /sizeof(asn_DEF_OperatorDefined_tags_1[0]), /* 1 */ + asn_DEF_OperatorDefined_tags_1, /* Same as above */ + sizeof(asn_DEF_OperatorDefined_tags_1) + /sizeof(asn_DEF_OperatorDefined_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_OperatorDefined_1, + 16, /* Elements count */ + &asn_SPC_OperatorDefined_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/OperatorDefined.h b/src/tmx/Asn_J2735/src/r2024/OperatorDefined.h deleted file mode 100644 index cafc5fd0a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/OperatorDefined.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _OperatorDefined_H_ -#define _OperatorDefined_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct PaymentFee; - -/* OperatorDefined */ -typedef struct OperatorDefined { - struct PaymentFee *opDefCharge1; /* OPTIONAL */ - struct PaymentFee *opDefCharge2; /* OPTIONAL */ - struct PaymentFee *opDefCharge3; /* OPTIONAL */ - struct PaymentFee *opDefCharge4; /* OPTIONAL */ - struct PaymentFee *opDefCharge5; /* OPTIONAL */ - struct PaymentFee *opDefCharge6; /* OPTIONAL */ - struct PaymentFee *opDefCharge7; /* OPTIONAL */ - struct PaymentFee *opDefCharge8; /* OPTIONAL */ - struct PaymentFee *opDefCharge9; /* OPTIONAL */ - struct PaymentFee *opDefCharge10; /* OPTIONAL */ - struct PaymentFee *opDefCharge11; /* OPTIONAL */ - struct PaymentFee *opDefCharge12; /* OPTIONAL */ - struct PaymentFee *opDefCharge13; /* OPTIONAL */ - struct PaymentFee *opDefCharge14; /* OPTIONAL */ - struct PaymentFee *opDefCharge15; /* OPTIONAL */ - struct PaymentFee *opDefCharge16; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} OperatorDefined_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_OperatorDefined; -extern asn_SEQUENCE_specifics_t asn_SPC_OperatorDefined_specs_1; -extern asn_TYPE_member_t asn_MBR_OperatorDefined_1[16]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "PaymentFee.h" - -#endif /* _OperatorDefined_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/OverlayLaneList.c b/src/tmx/Asn_J2735/src/r2024/OverlayLaneList.c new file mode 100644 index 000000000..c11f2987f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/OverlayLaneList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "OverlayLaneList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_OverlayLaneList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..5)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_OverlayLaneList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 5 } /* (SIZE(1..5)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_OverlayLaneList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_LaneID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_OverlayLaneList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_OverlayLaneList_specs_1 = { + sizeof(struct OverlayLaneList), + offsetof(struct OverlayLaneList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_OverlayLaneList = { + "OverlayLaneList", + "OverlayLaneList", + &asn_OP_SEQUENCE_OF, + asn_DEF_OverlayLaneList_tags_1, + sizeof(asn_DEF_OverlayLaneList_tags_1) + /sizeof(asn_DEF_OverlayLaneList_tags_1[0]), /* 1 */ + asn_DEF_OverlayLaneList_tags_1, /* Same as above */ + sizeof(asn_DEF_OverlayLaneList_tags_1) + /sizeof(asn_DEF_OverlayLaneList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_OverlayLaneList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_OverlayLaneList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_OverlayLaneList_1, + 1, /* Single element */ + &asn_SPC_OverlayLaneList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/OverlayLaneList.h b/src/tmx/Asn_J2735/src/r2024/OverlayLaneList.h deleted file mode 100644 index e6f5912b9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/OverlayLaneList.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _OverlayLaneList_H_ -#define _OverlayLaneList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LaneID.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* OverlayLaneList */ -typedef struct OverlayLaneList { - A_SEQUENCE_OF(LaneID_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} OverlayLaneList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_OverlayLaneList; -extern asn_SET_OF_specifics_t asn_SPC_OverlayLaneList_specs_1; -extern asn_TYPE_member_t asn_MBR_OverlayLaneList_1[1]; -extern asn_per_constraints_t asn_PER_type_OverlayLaneList_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _OverlayLaneList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Parked.c b/src/tmx/Asn_J2735/src/r2024/Parked.c new file mode 100644 index 000000000..242d39433 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Parked.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Parked.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Parked_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Parked_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_Parked_value2enum_1[] = { + { 0, 6, "perMin" }, + { 1, 7, "perHour" }, + { 2, 6, "perDay" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_Parked_enum2value_1[] = { + 2, /* perDay(2) */ + 1, /* perHour(1) */ + 0 /* perMin(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_Parked_specs_1 = { + asn_MAP_Parked_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_Parked_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_Parked_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Parked = { + "Parked", + "Parked", + &asn_OP_NativeEnumerated, + asn_DEF_Parked_tags_1, + sizeof(asn_DEF_Parked_tags_1) + /sizeof(asn_DEF_Parked_tags_1[0]), /* 1 */ + asn_DEF_Parked_tags_1, /* Same as above */ + sizeof(asn_DEF_Parked_tags_1) + /sizeof(asn_DEF_Parked_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Parked_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Parked_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_Parked_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Parked.h b/src/tmx/Asn_J2735/src/r2024/Parked.h deleted file mode 100644 index e347ca0af..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Parked.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Parked_H_ -#define _Parked_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Parked { - Parked_perMin = 0, - Parked_perHour = 1, - Parked_perDay = 2 - /* - * Enumeration is extensible - */ -} e_Parked; - -/* Parked */ -typedef long Parked_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Parked_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Parked; -extern const asn_INTEGER_specifics_t asn_SPC_Parked_specs_1; -asn_struct_free_f Parked_free; -asn_struct_print_f Parked_print; -asn_constr_check_f Parked_constraint; -ber_type_decoder_f Parked_decode_ber; -der_type_encoder_f Parked_encode_der; -xer_type_decoder_f Parked_decode_xer; -xer_type_encoder_f Parked_encode_xer; -oer_type_decoder_f Parked_decode_oer; -oer_type_encoder_f Parked_encode_oer; -per_type_decoder_f Parked_decode_uper; -per_type_encoder_f Parked_encode_uper; -per_type_decoder_f Parked_decode_aper; -per_type_encoder_f Parked_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Parked_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ParkingInformation.c b/src/tmx/Asn_J2735/src/r2024/ParkingInformation.c new file mode 100644 index 000000000..9051befd1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ParkingInformation.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ParkingInformation.h" + +int +ParkingInformation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ParkingInformation_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ParkingInformation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ParkingInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ParkingInformation = { + "ParkingInformation", + "ParkingInformation", + &asn_OP_NativeInteger, + asn_DEF_ParkingInformation_tags_1, + sizeof(asn_DEF_ParkingInformation_tags_1) + /sizeof(asn_DEF_ParkingInformation_tags_1[0]), /* 1 */ + asn_DEF_ParkingInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_ParkingInformation_tags_1) + /sizeof(asn_DEF_ParkingInformation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ParkingInformation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ParkingInformation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ParkingInformation_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ParkingInformation.h b/src/tmx/Asn_J2735/src/r2024/ParkingInformation.h deleted file mode 100644 index 56ef8901d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ParkingInformation.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ParkingInformation_H_ -#define _ParkingInformation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ParkingInformation { - ParkingInformation_normal_parking_restrictions_lifted = 4097, - ParkingInformation_parking_meter_restrictions_lifted = 4098, - ParkingInformation_special_parking_restrictions_in_force = 4099, - ParkingInformation_full_parking_lot = 4100, - ParkingInformation_full_parking_garage = 4101, - ParkingInformation_all_parking_lots_full = 4102, - ParkingInformation_no_parking_spaces_available = 4103, - ParkingInformation_only_a_few_spaces_available = 4104, - ParkingInformation_spaces_available = 4105, - ParkingInformation_no_parking = 4106, - ParkingInformation_parking_on_one_side_of_street_only = 4107, - ParkingInformation_parking_on_both_sides_of_street = 4108, - ParkingInformation_parallel_parking_only = 4109, - ParkingInformation_parking_meters_not_available = 4110, - ParkingInformation_use_of_parking_meters_restricted = 4111, - ParkingInformation_event_parking = 4112, - ParkingInformation_handicapped_parking = 4113, - ParkingInformation_long_term_parking = 4114, - ParkingInformation_overnight_parking = 4115, - ParkingInformation_short_term_parking = 4116, - ParkingInformation_parking_by_permit_only = 4117, - ParkingInformation_emergency_parking_only = 4118, - ParkingInformation_emergency_stopping_only = 4119, - ParkingInformation_parking = 4120, - ParkingInformation_stopping = 4121, - ParkingInformation_standing = 4122, - ParkingInformation_tow_away_zone = 4123, - ParkingInformation_school_zone = 4124, - ParkingInformation_speed_zone = 4125, - ParkingInformation_loading_zone = 4126, - ParkingInformation_state_law = 4127, - ParkingInformation_van_accessible = 4128, - ParkingInformation_special_parking_restrictions_lifted = 4222, - ParkingInformation_no_parking_information_available = 4223 -} e_ParkingInformation; - -/* ParkingInformation */ -typedef long ParkingInformation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ParkingInformation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ParkingInformation; -asn_struct_free_f ParkingInformation_free; -asn_struct_print_f ParkingInformation_print; -asn_constr_check_f ParkingInformation_constraint; -ber_type_decoder_f ParkingInformation_decode_ber; -der_type_encoder_f ParkingInformation_encode_der; -xer_type_decoder_f ParkingInformation_decode_xer; -xer_type_encoder_f ParkingInformation_encode_xer; -oer_type_decoder_f ParkingInformation_decode_oer; -oer_type_encoder_f ParkingInformation_encode_oer; -per_type_decoder_f ParkingInformation_decode_uper; -per_type_encoder_f ParkingInformation_encode_uper; -per_type_decoder_f ParkingInformation_decode_aper; -per_type_encoder_f ParkingInformation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ParkingInformation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PartIIcontent.c b/src/tmx/Asn_J2735/src/r2024/PartIIcontent.c new file mode 100644 index 000000000..ec62dd71a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PartIIcontent.c @@ -0,0 +1,284 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PartIIcontent.h" + +static const long asn_VAL_1_vehicleSafetyExt = 0; +static const long asn_VAL_2_lightVehicleCCMExt = 1; +static const long asn_VAL_3_heavyTruckCCMExt = 2; +static const asn_ioc_cell_t asn_IOS_CCMpartIIExtension_1_rows[] = { + { "&id", aioc__value, &asn_DEF_CooperativeControlMessage_PartII_Id, &asn_VAL_1_vehicleSafetyExt }, + { "&Type", aioc__type, &asn_DEF_VehicleSafetyExtensions }, + { "&id", aioc__value, &asn_DEF_CooperativeControlMessage_PartII_Id, &asn_VAL_2_lightVehicleCCMExt }, + { "&Type", aioc__type, &asn_DEF_LightVehicleCCMExtensions }, + { "&id", aioc__value, &asn_DEF_CooperativeControlMessage_PartII_Id, &asn_VAL_3_heavyTruckCCMExt }, + { "&Type", aioc__type, &asn_DEF_HeavyTruckCCMExtensions } +}; +static const asn_ioc_set_t asn_IOS_CCMpartIIExtension_1[] = { + { 3, 2, asn_IOS_CCMpartIIExtension_1_rows } +}; +static int +memb_partII_Id_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 63L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_CCMpartIIExtension_partII_Value_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_CCMpartIIExtension_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &Type */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct CCMpartIIExtension, partII_Id)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_partII_Value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_partII_Id_constr_2 CC_NOTUSED = { + { 1, 1 } /* (0..63) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_partII_Id_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 63 } /* (0..63) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_partII_Value_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_partII_Value_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_partII_Value_3[] = { + { ATF_NOFLAGS, 0, offsetof(struct CCMpartIIExtension__partII_Value, choice.VehicleSafetyExtensions), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_VehicleSafetyExtensions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "VehicleSafetyExtensions" + }, + { ATF_NOFLAGS, 0, offsetof(struct CCMpartIIExtension__partII_Value, choice.LightVehicleCCMExtensions), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_LightVehicleCCMExtensions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "LightVehicleCCMExtensions" + }, + { ATF_NOFLAGS, 0, offsetof(struct CCMpartIIExtension__partII_Value, choice.HeavyTruckCCMExtensions), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_HeavyTruckCCMExtensions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "HeavyTruckCCMExtensions" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_partII_Value_tag2el_3[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 2 }, /* VehicleSafetyExtensions */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 1 }, /* LightVehicleCCMExtensions */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 2, -2, 0 } /* HeavyTruckCCMExtensions */ +}; +static asn_CHOICE_specifics_t asn_SPC_partII_Value_specs_3 = { + sizeof(struct CCMpartIIExtension__partII_Value), + offsetof(struct CCMpartIIExtension__partII_Value, _asn_ctx), + offsetof(struct CCMpartIIExtension__partII_Value, present), + sizeof(((struct CCMpartIIExtension__partII_Value *)0)->present), + asn_MAP_partII_Value_tag2el_3, + 3, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_partII_Value_3 = { + "partII-Value", + "partII-Value", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + asn_MBR_partII_Value_3, + 3, /* Elements count */ + &asn_SPC_partII_Value_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_CCMpartIIExtension_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct CCMpartIIExtension, partII_Id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CooperativeControlMessage_PartII_Id, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_partII_Id_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_partII_Id_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_partII_Id_constraint_1 + }, + 0, 0, /* No default value */ + "partII-Id" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct CCMpartIIExtension, partII_Value), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_partII_Value_3, + select_CCMpartIIExtension_partII_Value_type, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_partII_Value_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_partII_Value_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_partII_Value_constraint_1 + }, + 0, 0, /* No default value */ + "partII-Value" + }, +}; +static const ber_tlv_tag_t asn_DEF_CCMpartIIExtension_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_CCMpartIIExtension_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* partII-Id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* partII-Value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_CCMpartIIExtension_specs_1 = { + sizeof(struct CCMpartIIExtension), + offsetof(struct CCMpartIIExtension, _asn_ctx), + asn_MAP_CCMpartIIExtension_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_CCMpartIIExtension = { + "CCMpartIIExtension", + "CCMpartIIExtension", + &asn_OP_SEQUENCE, + asn_DEF_CCMpartIIExtension_tags_1, + sizeof(asn_DEF_CCMpartIIExtension_tags_1) + /sizeof(asn_DEF_CCMpartIIExtension_tags_1[0]), /* 1 */ + asn_DEF_CCMpartIIExtension_tags_1, /* Same as above */ + sizeof(asn_DEF_CCMpartIIExtension_tags_1) + /sizeof(asn_DEF_CCMpartIIExtension_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_CCMpartIIExtension_1, + 2, /* Elements count */ + &asn_SPC_CCMpartIIExtension_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PartIIcontent.h b/src/tmx/Asn_J2735/src/r2024/PartIIcontent.h deleted file mode 100644 index 9aebc6824..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PartIIcontent.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PartIIcontent_H_ -#define _PartIIcontent_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "CooperativeControlMessage_PartII-Id.h" -#include "ANY.h" -#include "asn_ioc.h" -#include "VehicleSafetyExtensions.h" -#include "LightVehicleCCMExtensions.h" -#include "HeavyTruckCCMExtensions.h" -#include "OPEN_TYPE.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum CCMpartIIExtension__partII_Value_PR { - CCMpartIIExtension__partII_Value_PR_NOTHING, /* No components present */ - CCMpartIIExtension__partII_Value_PR_VehicleSafetyExtensions, - CCMpartIIExtension__partII_Value_PR_LightVehicleCCMExtensions, - CCMpartIIExtension__partII_Value_PR_HeavyTruckCCMExtensions -} CCMpartIIExtension__partII_Value_PR; - -/* PartIIcontent */ -typedef struct CCMpartIIExtension { - CooperativeControlMessage_PartII_Id_t partII_Id; - struct CCMpartIIExtension__partII_Value { - CCMpartIIExtension__partII_Value_PR present; - union CCMpartIIExtension__partII_Value_u { - VehicleSafetyExtensions_t VehicleSafetyExtensions; - LightVehicleCCMExtensions_t LightVehicleCCMExtensions; - HeavyTruckCCMExtensions_t HeavyTruckCCMExtensions; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } partII_Value; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} CCMpartIIExtension_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_CCMpartIIExtension; -extern asn_SEQUENCE_specifics_t asn_SPC_CCMpartIIExtension_specs_1; -extern asn_TYPE_member_t asn_MBR_CCMpartIIExtension_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _PartIIcontent_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Particulate.c b/src/tmx/Asn_J2735/src/r2024/Particulate.c new file mode 100644 index 000000000..84945f8b4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Particulate.c @@ -0,0 +1,121 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Particulate.h" + +static int +memb_value_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_value_constr_3 CC_NOTUSED = { + { 2, 1 } /* (0..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_value_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 32767 } /* (0..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Particulate_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Particulate, unitType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EmissionUnit, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "unitType" + }, + { ATF_NOFLAGS, 0, offsetof(struct Particulate, value), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_value_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_value_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_value_constraint_1 + }, + 0, 0, /* No default value */ + "value" + }, +}; +static const ber_tlv_tag_t asn_DEF_Particulate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Particulate_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* unitType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* value */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Particulate_specs_1 = { + sizeof(struct Particulate), + offsetof(struct Particulate, _asn_ctx), + asn_MAP_Particulate_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Particulate = { + "Particulate", + "Particulate", + &asn_OP_SEQUENCE, + asn_DEF_Particulate_tags_1, + sizeof(asn_DEF_Particulate_tags_1) + /sizeof(asn_DEF_Particulate_tags_1[0]), /* 1 */ + asn_DEF_Particulate_tags_1, /* Same as above */ + sizeof(asn_DEF_Particulate_tags_1) + /sizeof(asn_DEF_Particulate_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Particulate_1, + 2, /* Elements count */ + &asn_SPC_Particulate_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Particulate.h b/src/tmx/Asn_J2735/src/r2024/Particulate.h deleted file mode 100644 index 507ca7d32..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Particulate.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Particulate_H_ -#define _Particulate_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "EmissionUnit.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Particulate */ -typedef struct Particulate { - EmissionUnit_t unitType; - long value; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Particulate_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Particulate; -extern asn_SEQUENCE_specifics_t asn_SPC_Particulate_specs_1; -extern asn_TYPE_member_t asn_MBR_Particulate_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Particulate_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PassengerCapacity.c b/src/tmx/Asn_J2735/src/r2024/PassengerCapacity.c new file mode 100644 index 000000000..11a9977a5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PassengerCapacity.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PassengerCapacity.h" + +asn_TYPE_member_t asn_MBR_PassengerCapacity_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PassengerCapacity, numberOfSeats), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "numberOfSeats" + }, + { ATF_NOFLAGS, 0, offsetof(struct PassengerCapacity, numberOfStandingPlaces), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "numberOfStandingPlaces" + }, +}; +static const ber_tlv_tag_t asn_DEF_PassengerCapacity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PassengerCapacity_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* numberOfSeats */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* numberOfStandingPlaces */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PassengerCapacity_specs_1 = { + sizeof(struct PassengerCapacity), + offsetof(struct PassengerCapacity, _asn_ctx), + asn_MAP_PassengerCapacity_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PassengerCapacity = { + "PassengerCapacity", + "PassengerCapacity", + &asn_OP_SEQUENCE, + asn_DEF_PassengerCapacity_tags_1, + sizeof(asn_DEF_PassengerCapacity_tags_1) + /sizeof(asn_DEF_PassengerCapacity_tags_1[0]), /* 1 */ + asn_DEF_PassengerCapacity_tags_1, /* Same as above */ + sizeof(asn_DEF_PassengerCapacity_tags_1) + /sizeof(asn_DEF_PassengerCapacity_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PassengerCapacity_1, + 2, /* Elements count */ + &asn_SPC_PassengerCapacity_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PassengerCapacity.h b/src/tmx/Asn_J2735/src/r2024/PassengerCapacity.h deleted file mode 100644 index 032310d14..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PassengerCapacity.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PassengerCapacity_H_ -#define _PassengerCapacity_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int1Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PassengerCapacity */ -typedef struct PassengerCapacity { - Int1Unsigned_t numberOfSeats; - Int1Unsigned_t numberOfStandingPlaces; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PassengerCapacity_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PassengerCapacity; -extern asn_SEQUENCE_specifics_t asn_SPC_PassengerCapacity_specs_1; -extern asn_TYPE_member_t asn_MBR_PassengerCapacity_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _PassengerCapacity_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Path.c b/src/tmx/Asn_J2735/src/r2024/Path.c new file mode 100644 index 000000000..ea0060c00 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Path.c @@ -0,0 +1,121 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Path.h" + +static int +memb_pathWidth_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 1000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_pathWidth_constr_2 CC_NOTUSED = { + { 2, 1 } /* (0..1000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_pathWidth_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1000 } /* (0..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Path_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Path, pathWidth), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_pathWidth_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_pathWidth_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_pathWidth_constraint_1 + }, + 0, 0, /* No default value */ + "pathWidth" + }, + { ATF_NOFLAGS, 0, offsetof(struct Path, pathPoints), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PathPoints, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pathPoints" + }, +}; +static const ber_tlv_tag_t asn_DEF_Path_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Path_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pathWidth */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* pathPoints */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Path_specs_1 = { + sizeof(struct Path), + offsetof(struct Path, _asn_ctx), + asn_MAP_Path_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Path = { + "Path", + "Path", + &asn_OP_SEQUENCE, + asn_DEF_Path_tags_1, + sizeof(asn_DEF_Path_tags_1) + /sizeof(asn_DEF_Path_tags_1[0]), /* 1 */ + asn_DEF_Path_tags_1, /* Same as above */ + sizeof(asn_DEF_Path_tags_1) + /sizeof(asn_DEF_Path_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Path_1, + 2, /* Elements count */ + &asn_SPC_Path_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Path.h b/src/tmx/Asn_J2735/src/r2024/Path.h deleted file mode 100644 index 137b70bd5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Path.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Path_H_ -#define _Path_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "PathPoints.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Path */ -typedef struct Path { - long pathWidth; - PathPoints_t pathPoints; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Path_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Path; -extern asn_SEQUENCE_specifics_t asn_SPC_Path_specs_1; -extern asn_TYPE_member_t asn_MBR_Path_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Path_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PathHistory.c b/src/tmx/Asn_J2735/src/r2024/PathHistory.c new file mode 100644 index 000000000..57a8c9591 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PathHistory.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PathHistory.h" + +asn_TYPE_member_t asn_MBR_PathHistory_1[] = { + { ATF_POINTER, 2, offsetof(struct PathHistory, initialPosition), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FullPositionVector, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "initialPosition" + }, + { ATF_POINTER, 1, offsetof(struct PathHistory, currGNSSstatus), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GNSSstatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "currGNSSstatus" + }, + { ATF_NOFLAGS, 0, offsetof(struct PathHistory, crumbData), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PathHistoryPointList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "crumbData" + }, +}; +static const int asn_MAP_PathHistory_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_PathHistory_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PathHistory_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* initialPosition */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* currGNSSstatus */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* crumbData */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PathHistory_specs_1 = { + sizeof(struct PathHistory), + offsetof(struct PathHistory, _asn_ctx), + asn_MAP_PathHistory_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_PathHistory_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PathHistory = { + "PathHistory", + "PathHistory", + &asn_OP_SEQUENCE, + asn_DEF_PathHistory_tags_1, + sizeof(asn_DEF_PathHistory_tags_1) + /sizeof(asn_DEF_PathHistory_tags_1[0]), /* 1 */ + asn_DEF_PathHistory_tags_1, /* Same as above */ + sizeof(asn_DEF_PathHistory_tags_1) + /sizeof(asn_DEF_PathHistory_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PathHistory_1, + 3, /* Elements count */ + &asn_SPC_PathHistory_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PathHistory.h b/src/tmx/Asn_J2735/src/r2024/PathHistory.h deleted file mode 100644 index 3e9034633..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PathHistory.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PathHistory_H_ -#define _PathHistory_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "GNSSstatus.h" -#include "PathHistoryPointList.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct FullPositionVector; - -/* PathHistory */ -typedef struct PathHistory { - struct FullPositionVector *initialPosition; /* OPTIONAL */ - GNSSstatus_t *currGNSSstatus; /* OPTIONAL */ - PathHistoryPointList_t crumbData; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PathHistory_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PathHistory; -extern asn_SEQUENCE_specifics_t asn_SPC_PathHistory_specs_1; -extern asn_TYPE_member_t asn_MBR_PathHistory_1[3]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "FullPositionVector.h" - -#endif /* _PathHistory_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PathHistoryPoint.c b/src/tmx/Asn_J2735/src/r2024/PathHistoryPoint.c new file mode 100644 index 000000000..d4bf350ee --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PathHistoryPoint.c @@ -0,0 +1,176 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PathHistoryPoint.h" + +asn_TYPE_member_t asn_MBR_PathHistoryPoint_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PathHistoryPoint, latOffset), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B18, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "latOffset" + }, + { ATF_NOFLAGS, 0, offsetof(struct PathHistoryPoint, lonOffset), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B18, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lonOffset" + }, + { ATF_NOFLAGS, 0, offsetof(struct PathHistoryPoint, elevationOffset), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VertOffset_B12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "elevationOffset" + }, + { ATF_NOFLAGS, 0, offsetof(struct PathHistoryPoint, timeOffset), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeOffset, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeOffset" + }, + { ATF_POINTER, 3, offsetof(struct PathHistoryPoint, speed), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Speed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed" + }, + { ATF_POINTER, 2, offsetof(struct PathHistoryPoint, posAccuracy), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionalAccuracy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "posAccuracy" + }, + { ATF_POINTER, 1, offsetof(struct PathHistoryPoint, heading), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CoarseHeading, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heading" + }, +}; +static const int asn_MAP_PathHistoryPoint_oms_1[] = { 4, 5, 6 }; +static const ber_tlv_tag_t asn_DEF_PathHistoryPoint_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PathHistoryPoint_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* latOffset */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lonOffset */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* elevationOffset */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* timeOffset */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* speed */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* posAccuracy */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* heading */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PathHistoryPoint_specs_1 = { + sizeof(struct PathHistoryPoint), + offsetof(struct PathHistoryPoint, _asn_ctx), + asn_MAP_PathHistoryPoint_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_PathHistoryPoint_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PathHistoryPoint = { + "PathHistoryPoint", + "PathHistoryPoint", + &asn_OP_SEQUENCE, + asn_DEF_PathHistoryPoint_tags_1, + sizeof(asn_DEF_PathHistoryPoint_tags_1) + /sizeof(asn_DEF_PathHistoryPoint_tags_1[0]), /* 1 */ + asn_DEF_PathHistoryPoint_tags_1, /* Same as above */ + sizeof(asn_DEF_PathHistoryPoint_tags_1) + /sizeof(asn_DEF_PathHistoryPoint_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PathHistoryPoint_1, + 7, /* Elements count */ + &asn_SPC_PathHistoryPoint_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PathHistoryPoint.h b/src/tmx/Asn_J2735/src/r2024/PathHistoryPoint.h deleted file mode 100644 index 4929e5035..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PathHistoryPoint.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PathHistoryPoint_H_ -#define _PathHistoryPoint_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OffsetLL-B18.h" -#include "VertOffset-B12.h" -#include "TimeOffset.h" -#include "Speed.h" -#include "CoarseHeading.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct PositionalAccuracy; - -/* PathHistoryPoint */ -typedef struct PathHistoryPoint { - OffsetLL_B18_t latOffset; - OffsetLL_B18_t lonOffset; - VertOffset_B12_t elevationOffset; - TimeOffset_t timeOffset; - Speed_t *speed; /* OPTIONAL */ - struct PositionalAccuracy *posAccuracy; /* OPTIONAL */ - CoarseHeading_t *heading; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PathHistoryPoint_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PathHistoryPoint; -extern asn_SEQUENCE_specifics_t asn_SPC_PathHistoryPoint_specs_1; -extern asn_TYPE_member_t asn_MBR_PathHistoryPoint_1[7]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "PositionalAccuracy.h" - -#endif /* _PathHistoryPoint_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PathHistoryPointList.c b/src/tmx/Asn_J2735/src/r2024/PathHistoryPointList.c new file mode 100644 index 000000000..32ec3fa3e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PathHistoryPointList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PathHistoryPointList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PathHistoryPointList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..23)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PathHistoryPointList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 23 } /* (SIZE(1..23)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_PathHistoryPointList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_PathHistoryPoint, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_PathHistoryPointList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_PathHistoryPointList_specs_1 = { + sizeof(struct PathHistoryPointList), + offsetof(struct PathHistoryPointList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_PathHistoryPointList = { + "PathHistoryPointList", + "PathHistoryPointList", + &asn_OP_SEQUENCE_OF, + asn_DEF_PathHistoryPointList_tags_1, + sizeof(asn_DEF_PathHistoryPointList_tags_1) + /sizeof(asn_DEF_PathHistoryPointList_tags_1[0]), /* 1 */ + asn_DEF_PathHistoryPointList_tags_1, /* Same as above */ + sizeof(asn_DEF_PathHistoryPointList_tags_1) + /sizeof(asn_DEF_PathHistoryPointList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PathHistoryPointList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PathHistoryPointList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_PathHistoryPointList_1, + 1, /* Single element */ + &asn_SPC_PathHistoryPointList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PathHistoryPointList.h b/src/tmx/Asn_J2735/src/r2024/PathHistoryPointList.h deleted file mode 100644 index 9600ac235..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PathHistoryPointList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PathHistoryPointList_H_ -#define _PathHistoryPointList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct PathHistoryPoint; - -/* PathHistoryPointList */ -typedef struct PathHistoryPointList { - A_SEQUENCE_OF(struct PathHistoryPoint) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PathHistoryPointList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PathHistoryPointList; -extern asn_SET_OF_specifics_t asn_SPC_PathHistoryPointList_specs_1; -extern asn_TYPE_member_t asn_MBR_PathHistoryPointList_1[1]; -extern asn_per_constraints_t asn_PER_type_PathHistoryPointList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "PathHistoryPoint.h" - -#endif /* _PathHistoryPointList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PathList.c b/src/tmx/Asn_J2735/src/r2024/PathList.c new file mode 100644 index 000000000..90f5a9efd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PathList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PathList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PathList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PathList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (SIZE(1..10,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_PathList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Path, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_PathList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_PathList_specs_1 = { + sizeof(struct PathList), + offsetof(struct PathList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_PathList = { + "PathList", + "PathList", + &asn_OP_SEQUENCE_OF, + asn_DEF_PathList_tags_1, + sizeof(asn_DEF_PathList_tags_1) + /sizeof(asn_DEF_PathList_tags_1[0]), /* 1 */ + asn_DEF_PathList_tags_1, /* Same as above */ + sizeof(asn_DEF_PathList_tags_1) + /sizeof(asn_DEF_PathList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PathList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PathList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_PathList_1, + 1, /* Single element */ + &asn_SPC_PathList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PathList.h b/src/tmx/Asn_J2735/src/r2024/PathList.h deleted file mode 100644 index 72cfe6071..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PathList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PathList_H_ -#define _PathList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Path; - -/* PathList */ -typedef struct PathList { - A_SEQUENCE_OF(struct Path) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PathList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PathList; -extern asn_SET_OF_specifics_t asn_SPC_PathList_specs_1; -extern asn_TYPE_member_t asn_MBR_PathList_1[1]; -extern asn_per_constraints_t asn_PER_type_PathList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Path.h" - -#endif /* _PathList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PathPoints.c b/src/tmx/Asn_J2735/src/r2024/PathPoints.c new file mode 100644 index 000000000..0ca37e39f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PathPoints.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PathPoints.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PathPoints_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PathPoints_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 6, 6, 2, 63 } /* (SIZE(2..63,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_PathPoints_1[] = { + { ATF_POINTER, 0, 0, + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_NodePointLLE, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_PathPoints_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_PathPoints_specs_1 = { + sizeof(struct PathPoints), + offsetof(struct PathPoints, _asn_ctx), + 2, /* XER encoding is XMLValueList */ +}; +asn_TYPE_descriptor_t asn_DEF_PathPoints = { + "PathPoints", + "PathPoints", + &asn_OP_SEQUENCE_OF, + asn_DEF_PathPoints_tags_1, + sizeof(asn_DEF_PathPoints_tags_1) + /sizeof(asn_DEF_PathPoints_tags_1[0]), /* 1 */ + asn_DEF_PathPoints_tags_1, /* Same as above */ + sizeof(asn_DEF_PathPoints_tags_1) + /sizeof(asn_DEF_PathPoints_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PathPoints_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PathPoints_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_PathPoints_1, + 1, /* Single element */ + &asn_SPC_PathPoints_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PathPoints.h b/src/tmx/Asn_J2735/src/r2024/PathPoints.h deleted file mode 100644 index 1fe8548f2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PathPoints.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PathPoints_H_ -#define _PathPoints_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct NodePointLLE; - -/* PathPoints */ -typedef struct PathPoints { - A_SEQUENCE_OF(struct NodePointLLE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PathPoints_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PathPoints; -extern asn_SET_OF_specifics_t asn_SPC_PathPoints_specs_1; -extern asn_TYPE_member_t asn_MBR_PathPoints_1[1]; -extern asn_per_constraints_t asn_PER_type_PathPoints_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "NodePointLLE.h" - -#endif /* _PathPoints_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PathPrediction.c b/src/tmx/Asn_J2735/src/r2024/PathPrediction.c new file mode 100644 index 000000000..2d2856014 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PathPrediction.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PathPrediction.h" + +asn_TYPE_member_t asn_MBR_PathPrediction_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PathPrediction, radiusOfCurve), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RadiusOfCurvature, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "radiusOfCurve" + }, + { ATF_NOFLAGS, 0, offsetof(struct PathPrediction, confidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Confidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, +}; +static const ber_tlv_tag_t asn_DEF_PathPrediction_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PathPrediction_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* radiusOfCurve */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* confidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PathPrediction_specs_1 = { + sizeof(struct PathPrediction), + offsetof(struct PathPrediction, _asn_ctx), + asn_MAP_PathPrediction_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PathPrediction = { + "PathPrediction", + "PathPrediction", + &asn_OP_SEQUENCE, + asn_DEF_PathPrediction_tags_1, + sizeof(asn_DEF_PathPrediction_tags_1) + /sizeof(asn_DEF_PathPrediction_tags_1[0]), /* 1 */ + asn_DEF_PathPrediction_tags_1, /* Same as above */ + sizeof(asn_DEF_PathPrediction_tags_1) + /sizeof(asn_DEF_PathPrediction_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PathPrediction_1, + 2, /* Elements count */ + &asn_SPC_PathPrediction_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PathPrediction.h b/src/tmx/Asn_J2735/src/r2024/PathPrediction.h deleted file mode 100644 index 7c86fa878..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PathPrediction.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PathPrediction_H_ -#define _PathPrediction_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RadiusOfCurvature.h" -#include "Confidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PathPrediction */ -typedef struct PathPrediction { - RadiusOfCurvature_t radiusOfCurve; - Confidence_t confidence; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PathPrediction_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PathPrediction; -extern asn_SEQUENCE_specifics_t asn_SPC_PathPrediction_specs_1; -extern asn_TYPE_member_t asn_MBR_PathPrediction_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _PathPrediction_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PavementConditions.c b/src/tmx/Asn_J2735/src/r2024/PavementConditions.c new file mode 100644 index 000000000..424ef71f4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PavementConditions.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PavementConditions.h" + +int +PavementConditions_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PavementConditions_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PavementConditions_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_PavementConditions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PavementConditions = { + "PavementConditions", + "PavementConditions", + &asn_OP_NativeInteger, + asn_DEF_PavementConditions_tags_1, + sizeof(asn_DEF_PavementConditions_tags_1) + /sizeof(asn_DEF_PavementConditions_tags_1[0]), /* 1 */ + asn_DEF_PavementConditions_tags_1, /* Same as above */ + sizeof(asn_DEF_PavementConditions_tags_1) + /sizeof(asn_DEF_PavementConditions_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PavementConditions_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PavementConditions_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + PavementConditions_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PavementConditions.h b/src/tmx/Asn_J2735/src/r2024/PavementConditions.h deleted file mode 100644 index 54c016dc6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PavementConditions.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PavementConditions_H_ -#define _PavementConditions_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PavementConditions { - PavementConditions_impassable = 5889, - PavementConditions_almost_impassable = 5890, - PavementConditions_passable_with_care = 5891, - PavementConditions_passable = 5892, - PavementConditions_surface_water_hazard = 5893, - PavementConditions_danger_of_hydroplaning = 5894, - PavementConditions_wet_pavement = 5895, - PavementConditions_treated_pavement = 5896, - PavementConditions_slippery = 5897, - PavementConditions_low_ground_clearance = 5938, - PavementConditions_at_grade_level_crossing = 5937, - PavementConditions_mud_on_roadway = 5898, - PavementConditions_leaves_on_roadway = 5899, - PavementConditions_loose_sand_on_roadway = 5900, - PavementConditions_loose_gravel = 5901, - PavementConditions_fuel_on_roadway = 5902, - PavementConditions_oil_on_roadway = 5903, - PavementConditions_road_surface_in_poor_condition = 5904, - PavementConditions_melting_tar = 5905, - PavementConditions_uneven_lanes = 5935, - PavementConditions_rough_road = 5931, - PavementConditions_rough_crossing = 5936, - PavementConditions_ice = 5906, - PavementConditions_icy_patches = 5907, - PavementConditions_black_ice = 5908, - PavementConditions_ice_pellets_on_roadway = 5909, - PavementConditions_ice_build_up = 5910, - PavementConditions_freezing_rain = 5911, - PavementConditions_wet_and_icy_roads = 5912, - PavementConditions_slush = 5914, - PavementConditions_melting_snow = 5913, - PavementConditions_frozen_slush = 5915, - PavementConditions_snow_on_roadway = 5916, - PavementConditions_packed_snow = 5917, - PavementConditions_packed_snow_patches = 5918, - PavementConditions_plowed_snow = 5919, - PavementConditions_wet_snow = 5920, - PavementConditions_fresh_snow = 5921, - PavementConditions_powder_snow = 5922, - PavementConditions_granular_snow = 5923, - PavementConditions_frozen_snow = 5924, - PavementConditions_crusted_snow = 5925, - PavementConditions_deep_snow = 5926, - PavementConditions_snow_drifts = 5927, - PavementConditions_drifting_snow = 5928, - PavementConditions_expected_snow_accumulation = 5929, - PavementConditions_current_snow_accumulation = 5930, - PavementConditions_sand = 5932, - PavementConditions_gravel = 5933, - PavementConditions_paved = 5934, - PavementConditions_dry_pavement = 6011, - PavementConditions_snow_cleared = 6012, - PavementConditions_pavement_conditions_improved = 6013, - PavementConditions_skid_hazard_reduced = 6014, - PavementConditions_pavement_conditions_cleared = 6015 -} e_PavementConditions; - -/* PavementConditions */ -typedef long PavementConditions_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PavementConditions_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PavementConditions; -asn_struct_free_f PavementConditions_free; -asn_struct_print_f PavementConditions_print; -asn_constr_check_f PavementConditions_constraint; -ber_type_decoder_f PavementConditions_decode_ber; -der_type_encoder_f PavementConditions_encode_der; -xer_type_decoder_f PavementConditions_decode_xer; -xer_type_encoder_f PavementConditions_encode_xer; -oer_type_decoder_f PavementConditions_decode_oer; -oer_type_encoder_f PavementConditions_encode_oer; -per_type_decoder_f PavementConditions_decode_uper; -per_type_encoder_f PavementConditions_encode_uper; -per_type_decoder_f PavementConditions_decode_aper; -per_type_encoder_f PavementConditions_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PavementConditions_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PayUnit.c b/src/tmx/Asn_J2735/src/r2024/PayUnit.c new file mode 100644 index 000000000..c31f2ce0e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PayUnit.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PayUnit.h" + +int +PayUnit_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PayUnit_constr_1 CC_NOTUSED = { + { 0, 0 }, + 2 /* (SIZE(2..2)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PayUnit_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_PayUnit_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PayUnit = { + "PayUnit", + "PayUnit", + &asn_OP_OCTET_STRING, + asn_DEF_PayUnit_tags_1, + sizeof(asn_DEF_PayUnit_tags_1) + /sizeof(asn_DEF_PayUnit_tags_1[0]), /* 1 */ + asn_DEF_PayUnit_tags_1, /* Same as above */ + sizeof(asn_DEF_PayUnit_tags_1) + /sizeof(asn_DEF_PayUnit_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PayUnit_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PayUnit_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + PayUnit_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PayUnit.h b/src/tmx/Asn_J2735/src/r2024/PayUnit.h deleted file mode 100644 index ac9feb632..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PayUnit.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PayUnit_H_ -#define _PayUnit_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PayUnit */ -typedef OCTET_STRING_t PayUnit_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PayUnit_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PayUnit; -asn_struct_free_f PayUnit_free; -asn_struct_print_f PayUnit_print; -asn_constr_check_f PayUnit_constraint; -ber_type_decoder_f PayUnit_decode_ber; -der_type_encoder_f PayUnit_encode_der; -xer_type_decoder_f PayUnit_decode_xer; -xer_type_encoder_f PayUnit_encode_xer; -oer_type_decoder_f PayUnit_decode_oer; -oer_type_encoder_f PayUnit_encode_oer; -per_type_decoder_f PayUnit_decode_uper; -per_type_encoder_f PayUnit_encode_uper; -per_type_decoder_f PayUnit_decode_aper; -per_type_encoder_f PayUnit_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PayUnit_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PayloadData.c b/src/tmx/Asn_J2735/src/r2024/PayloadData.c new file mode 100644 index 000000000..ee34f24e8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PayloadData.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PayloadData.h" + +int +PayloadData_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 2048UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PayloadData_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..2048)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_PayloadData_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 11, 11, 1, 2048 } /* (SIZE(1..2048)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_PayloadData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PayloadData = { + "PayloadData", + "PayloadData", + &asn_OP_OCTET_STRING, + asn_DEF_PayloadData_tags_1, + sizeof(asn_DEF_PayloadData_tags_1) + /sizeof(asn_DEF_PayloadData_tags_1[0]), /* 1 */ + asn_DEF_PayloadData_tags_1, /* Same as above */ + sizeof(asn_DEF_PayloadData_tags_1) + /sizeof(asn_DEF_PayloadData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PayloadData_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PayloadData_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + PayloadData_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PayloadData.h b/src/tmx/Asn_J2735/src/r2024/PayloadData.h deleted file mode 100644 index a8e623af3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PayloadData.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PayloadData_H_ -#define _PayloadData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PayloadData */ -typedef OCTET_STRING_t PayloadData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PayloadData; -asn_struct_free_f PayloadData_free; -asn_struct_print_f PayloadData_print; -asn_constr_check_f PayloadData_constraint; -ber_type_decoder_f PayloadData_decode_ber; -der_type_encoder_f PayloadData_encode_der; -xer_type_decoder_f PayloadData_decode_xer; -xer_type_encoder_f PayloadData_encode_xer; -oer_type_decoder_f PayloadData_decode_oer; -oer_type_encoder_f PayloadData_encode_oer; -per_type_decoder_f PayloadData_decode_uper; -per_type_encoder_f PayloadData_encode_uper; -per_type_decoder_f PayloadData_decode_aper; -per_type_encoder_f PayloadData_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PayloadData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PaymentFee.c b/src/tmx/Asn_J2735/src/r2024/PaymentFee.c new file mode 100644 index 000000000..0ed8e2e8f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PaymentFee.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PaymentFee.h" + +asn_TYPE_member_t asn_MBR_PaymentFee_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PaymentFee, paymentFeeAmount), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "paymentFeeAmount" + }, + { ATF_NOFLAGS, 0, offsetof(struct PaymentFee, paymentFeeUnit), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PayUnit, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "paymentFeeUnit" + }, +}; +static const ber_tlv_tag_t asn_DEF_PaymentFee_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PaymentFee_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* paymentFeeAmount */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* paymentFeeUnit */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PaymentFee_specs_1 = { + sizeof(struct PaymentFee), + offsetof(struct PaymentFee, _asn_ctx), + asn_MAP_PaymentFee_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PaymentFee = { + "PaymentFee", + "PaymentFee", + &asn_OP_SEQUENCE, + asn_DEF_PaymentFee_tags_1, + sizeof(asn_DEF_PaymentFee_tags_1) + /sizeof(asn_DEF_PaymentFee_tags_1[0]), /* 1 */ + asn_DEF_PaymentFee_tags_1, /* Same as above */ + sizeof(asn_DEF_PaymentFee_tags_1) + /sizeof(asn_DEF_PaymentFee_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PaymentFee_1, + 2, /* Elements count */ + &asn_SPC_PaymentFee_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PaymentFee.h b/src/tmx/Asn_J2735/src/r2024/PaymentFee.h deleted file mode 100644 index 474e67cb7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PaymentFee.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PaymentFee_H_ -#define _PaymentFee_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int2Unsigned.h" -#include "PayUnit.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PaymentFee */ -typedef struct PaymentFee { - Int2Unsigned_t paymentFeeAmount; - PayUnit_t paymentFeeUnit; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PaymentFee_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PaymentFee; -extern asn_SEQUENCE_specifics_t asn_SPC_PaymentFee_specs_1; -extern asn_TYPE_member_t asn_MBR_PaymentFee_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _PaymentFee_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PaymentMeans.c b/src/tmx/Asn_J2735/src/r2024/PaymentMeans.c new file mode 100644 index 000000000..fbe0ca1bd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PaymentMeans.c @@ -0,0 +1,140 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PaymentMeans.h" + +static int +memb_pamentMeansUsageControl_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_pamentMeansUsageControl_constr_4 CC_NOTUSED = { + { 0, 0 }, + 2 /* (SIZE(2..2)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_pamentMeansUsageControl_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_PaymentMeans_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PaymentMeans, personalAccountNumber), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PersonalAccountNumber, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "personalAccountNumber" + }, + { ATF_NOFLAGS, 0, offsetof(struct PaymentMeans, paymentMeansExpiryDate), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DateCompact, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "paymentMeansExpiryDate" + }, + { ATF_NOFLAGS, 0, offsetof(struct PaymentMeans, pamentMeansUsageControl), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_pamentMeansUsageControl_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_pamentMeansUsageControl_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_pamentMeansUsageControl_constraint_1 + }, + 0, 0, /* No default value */ + "pamentMeansUsageControl" + }, +}; +static const ber_tlv_tag_t asn_DEF_PaymentMeans_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PaymentMeans_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* personalAccountNumber */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* paymentMeansExpiryDate */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* pamentMeansUsageControl */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_PaymentMeans_specs_1 = { + sizeof(struct PaymentMeans), + offsetof(struct PaymentMeans, _asn_ctx), + asn_MAP_PaymentMeans_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PaymentMeans = { + "PaymentMeans", + "PaymentMeans", + &asn_OP_SEQUENCE, + asn_DEF_PaymentMeans_tags_1, + sizeof(asn_DEF_PaymentMeans_tags_1) + /sizeof(asn_DEF_PaymentMeans_tags_1[0]), /* 1 */ + asn_DEF_PaymentMeans_tags_1, /* Same as above */ + sizeof(asn_DEF_PaymentMeans_tags_1) + /sizeof(asn_DEF_PaymentMeans_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PaymentMeans_1, + 3, /* Elements count */ + &asn_SPC_PaymentMeans_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PaymentMeans.h b/src/tmx/Asn_J2735/src/r2024/PaymentMeans.h deleted file mode 100644 index 1967ea4b6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PaymentMeans.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PaymentMeans_H_ -#define _PaymentMeans_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "PersonalAccountNumber.h" -#include "DateCompact.h" -#include "OCTET_STRING.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PaymentMeans */ -typedef struct PaymentMeans { - PersonalAccountNumber_t personalAccountNumber; - DateCompact_t paymentMeansExpiryDate; - OCTET_STRING_t pamentMeansUsageControl; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PaymentMeans_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PaymentMeans; - -#ifdef __cplusplus -} -#endif - -#endif /* _PaymentMeans_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PaymentMeansBalance.c b/src/tmx/Asn_J2735/src/r2024/PaymentMeansBalance.c new file mode 100644 index 000000000..0db9b7cdd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PaymentMeansBalance.c @@ -0,0 +1,47 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PaymentMeansBalance.h" + +/* + * This type is implemented using SignedValue, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PaymentMeansBalance_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_PaymentMeansBalance_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_descriptor_t asn_DEF_PaymentMeansBalance = { + "PaymentMeansBalance", + "PaymentMeansBalance", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_SignedValue_1, + 2, /* Elements count */ + &asn_SPC_SignedValue_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PaymentMeansBalance.h b/src/tmx/Asn_J2735/src/r2024/PaymentMeansBalance.h deleted file mode 100644 index f89c1f2f2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PaymentMeansBalance.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PaymentMeansBalance_H_ -#define _PaymentMeansBalance_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SignedValue.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PaymentMeansBalance */ -typedef SignedValue_t PaymentMeansBalance_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PaymentMeansBalance; -asn_struct_free_f PaymentMeansBalance_free; -asn_struct_print_f PaymentMeansBalance_print; -asn_constr_check_f PaymentMeansBalance_constraint; -ber_type_decoder_f PaymentMeansBalance_decode_ber; -der_type_encoder_f PaymentMeansBalance_encode_der; -xer_type_decoder_f PaymentMeansBalance_decode_xer; -xer_type_encoder_f PaymentMeansBalance_encode_xer; -oer_type_decoder_f PaymentMeansBalance_decode_oer; -oer_type_encoder_f PaymentMeansBalance_encode_oer; -per_type_decoder_f PaymentMeansBalance_decode_uper; -per_type_encoder_f PaymentMeansBalance_encode_uper; -per_type_decoder_f PaymentMeansBalance_decode_aper; -per_type_encoder_f PaymentMeansBalance_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PaymentMeansBalance_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PaymentSecurityData.c b/src/tmx/Asn_J2735/src/r2024/PaymentSecurityData.c new file mode 100644 index 000000000..38df6cdb1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PaymentSecurityData.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PaymentSecurityData.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_PaymentSecurityData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PaymentSecurityData = { + "PaymentSecurityData", + "PaymentSecurityData", + &asn_OP_OCTET_STRING, + asn_DEF_PaymentSecurityData_tags_1, + sizeof(asn_DEF_PaymentSecurityData_tags_1) + /sizeof(asn_DEF_PaymentSecurityData_tags_1[0]), /* 1 */ + asn_DEF_PaymentSecurityData_tags_1, /* Same as above */ + sizeof(asn_DEF_PaymentSecurityData_tags_1) + /sizeof(asn_DEF_PaymentSecurityData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OCTET_STRING_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PaymentSecurityData.h b/src/tmx/Asn_J2735/src/r2024/PaymentSecurityData.h deleted file mode 100644 index d23da0471..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PaymentSecurityData.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PaymentSecurityData_H_ -#define _PaymentSecurityData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PaymentSecurityData */ -typedef OCTET_STRING_t PaymentSecurityData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PaymentSecurityData; -asn_struct_free_f PaymentSecurityData_free; -asn_struct_print_f PaymentSecurityData_print; -asn_constr_check_f PaymentSecurityData_constraint; -ber_type_decoder_f PaymentSecurityData_decode_ber; -der_type_encoder_f PaymentSecurityData_encode_der; -xer_type_decoder_f PaymentSecurityData_decode_xer; -xer_type_encoder_f PaymentSecurityData_encode_xer; -oer_type_decoder_f PaymentSecurityData_decode_oer; -oer_type_encoder_f PaymentSecurityData_encode_oer; -per_type_decoder_f PaymentSecurityData_decode_uper; -per_type_encoder_f PaymentSecurityData_encode_uper; -per_type_decoder_f PaymentSecurityData_decode_aper; -per_type_encoder_f PaymentSecurityData_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PaymentSecurityData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PedestrianBicycleDetect.c b/src/tmx/Asn_J2735/src/r2024/PedestrianBicycleDetect.c new file mode 100644 index 000000000..f138dd4b0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PedestrianBicycleDetect.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PedestrianBicycleDetect.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_PedestrianBicycleDetect_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PedestrianBicycleDetect = { + "PedestrianBicycleDetect", + "PedestrianBicycleDetect", + &asn_OP_BOOLEAN, + asn_DEF_PedestrianBicycleDetect_tags_1, + sizeof(asn_DEF_PedestrianBicycleDetect_tags_1) + /sizeof(asn_DEF_PedestrianBicycleDetect_tags_1[0]), /* 1 */ + asn_DEF_PedestrianBicycleDetect_tags_1, /* Same as above */ + sizeof(asn_DEF_PedestrianBicycleDetect_tags_1) + /sizeof(asn_DEF_PedestrianBicycleDetect_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PedestrianBicycleDetect.h b/src/tmx/Asn_J2735/src/r2024/PedestrianBicycleDetect.h deleted file mode 100644 index 01f31f0c2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PedestrianBicycleDetect.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PedestrianBicycleDetect_H_ -#define _PedestrianBicycleDetect_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PedestrianBicycleDetect */ -typedef BOOLEAN_t PedestrianBicycleDetect_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PedestrianBicycleDetect; -asn_struct_free_f PedestrianBicycleDetect_free; -asn_struct_print_f PedestrianBicycleDetect_print; -asn_constr_check_f PedestrianBicycleDetect_constraint; -ber_type_decoder_f PedestrianBicycleDetect_decode_ber; -der_type_encoder_f PedestrianBicycleDetect_encode_der; -xer_type_decoder_f PedestrianBicycleDetect_decode_xer; -xer_type_encoder_f PedestrianBicycleDetect_encode_xer; -oer_type_decoder_f PedestrianBicycleDetect_decode_oer; -oer_type_encoder_f PedestrianBicycleDetect_encode_oer; -per_type_decoder_f PedestrianBicycleDetect_decode_uper; -per_type_encoder_f PedestrianBicycleDetect_encode_uper; -per_type_decoder_f PedestrianBicycleDetect_decode_aper; -per_type_encoder_f PedestrianBicycleDetect_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PedestrianBicycleDetect_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PedestrianCall.c b/src/tmx/Asn_J2735/src/r2024/PedestrianCall.c new file mode 100644 index 000000000..c7fe6adf1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PedestrianCall.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PedestrianCall.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_PedestrianCall_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PedestrianCall = { + "PedestrianCall", + "PedestrianCall", + &asn_OP_BOOLEAN, + asn_DEF_PedestrianCall_tags_1, + sizeof(asn_DEF_PedestrianCall_tags_1) + /sizeof(asn_DEF_PedestrianCall_tags_1[0]), /* 1 */ + asn_DEF_PedestrianCall_tags_1, /* Same as above */ + sizeof(asn_DEF_PedestrianCall_tags_1) + /sizeof(asn_DEF_PedestrianCall_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PedestrianCall.h b/src/tmx/Asn_J2735/src/r2024/PedestrianCall.h deleted file mode 100644 index dd39aa6cd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PedestrianCall.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PedestrianCall_H_ -#define _PedestrianCall_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PedestrianCall */ -typedef BOOLEAN_t PedestrianCall_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PedestrianCall; -asn_struct_free_f PedestrianCall_free; -asn_struct_print_f PedestrianCall_print; -asn_constr_check_f PedestrianCall_constraint; -ber_type_decoder_f PedestrianCall_decode_ber; -der_type_encoder_f PedestrianCall_encode_der; -xer_type_decoder_f PedestrianCall_decode_xer; -xer_type_encoder_f PedestrianCall_encode_xer; -oer_type_decoder_f PedestrianCall_decode_oer; -oer_type_encoder_f PedestrianCall_encode_oer; -per_type_decoder_f PedestrianCall_decode_uper; -per_type_encoder_f PedestrianCall_encode_uper; -per_type_decoder_f PedestrianCall_decode_aper; -per_type_encoder_f PedestrianCall_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PedestrianCall_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PerAxleWeightCharges.c b/src/tmx/Asn_J2735/src/r2024/PerAxleWeightCharges.c new file mode 100644 index 000000000..925fa7e75 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PerAxleWeightCharges.c @@ -0,0 +1,257 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PerAxleWeightCharges.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static int +memb_totalWeightLimit_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 16777215L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_maxLadenWeightOnAxle_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_weightLimitUnits_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_weightLimitUnits_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_totalWeightLimit_constr_2 CC_NOTUSED = { + { 4, 1 } /* (0..16777215) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_totalWeightLimit_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 24, -1, 0, 16777215 } /* (0..16777215) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_maxLadenWeightOnAxle_constr_3 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_maxLadenWeightOnAxle_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_weightLimitUnits_value2enum_4[] = { + { 0, 6, "pounds" }, + { 1, 9, "kilograms" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_weightLimitUnits_enum2value_4[] = { + 1, /* kilograms(1) */ + 0 /* pounds(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_weightLimitUnits_specs_4 = { + asn_MAP_weightLimitUnits_value2enum_4, /* "tag" => N; sorted by tag */ + asn_MAP_weightLimitUnits_enum2value_4, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_weightLimitUnits_tags_4[] = { + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_weightLimitUnits_4 = { + "weightLimitUnits", + "weightLimitUnits", + &asn_OP_NativeEnumerated, + asn_DEF_weightLimitUnits_tags_4, + sizeof(asn_DEF_weightLimitUnits_tags_4) + /sizeof(asn_DEF_weightLimitUnits_tags_4[0]) - 1, /* 1 */ + asn_DEF_weightLimitUnits_tags_4, /* Same as above */ + sizeof(asn_DEF_weightLimitUnits_tags_4) + /sizeof(asn_DEF_weightLimitUnits_tags_4[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_weightLimitUnits_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_weightLimitUnits_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_weightLimitUnits_specs_4 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_PerAxleWeightCharges_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PerAxleWeightCharges, totalWeightLimit), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_totalWeightLimit_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_totalWeightLimit_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_totalWeightLimit_constraint_1 + }, + 0, 0, /* No default value */ + "totalWeightLimit" + }, + { ATF_NOFLAGS, 0, offsetof(struct PerAxleWeightCharges, maxLadenWeightOnAxle), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_maxLadenWeightOnAxle_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_maxLadenWeightOnAxle_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_maxLadenWeightOnAxle_constraint_1 + }, + 0, 0, /* No default value */ + "maxLadenWeightOnAxle" + }, + { ATF_NOFLAGS, 0, offsetof(struct PerAxleWeightCharges, weightLimitUnits), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_weightLimitUnits_4, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "weightLimitUnits" + }, + { ATF_NOFLAGS, 0, offsetof(struct PerAxleWeightCharges, axleWeightCharge), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "axleWeightCharge" + }, +}; +static const ber_tlv_tag_t asn_DEF_PerAxleWeightCharges_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PerAxleWeightCharges_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* totalWeightLimit */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* maxLadenWeightOnAxle */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* weightLimitUnits */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* axleWeightCharge */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PerAxleWeightCharges_specs_1 = { + sizeof(struct PerAxleWeightCharges), + offsetof(struct PerAxleWeightCharges, _asn_ctx), + asn_MAP_PerAxleWeightCharges_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PerAxleWeightCharges = { + "PerAxleWeightCharges", + "PerAxleWeightCharges", + &asn_OP_SEQUENCE, + asn_DEF_PerAxleWeightCharges_tags_1, + sizeof(asn_DEF_PerAxleWeightCharges_tags_1) + /sizeof(asn_DEF_PerAxleWeightCharges_tags_1[0]), /* 1 */ + asn_DEF_PerAxleWeightCharges_tags_1, /* Same as above */ + sizeof(asn_DEF_PerAxleWeightCharges_tags_1) + /sizeof(asn_DEF_PerAxleWeightCharges_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PerAxleWeightCharges_1, + 4, /* Elements count */ + &asn_SPC_PerAxleWeightCharges_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PerAxleWeightCharges.h b/src/tmx/Asn_J2735/src/r2024/PerAxleWeightCharges.h deleted file mode 100644 index 12a14ffcc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PerAxleWeightCharges.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PerAxleWeightCharges_H_ -#define _PerAxleWeightCharges_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "NativeEnumerated.h" -#include "PaymentFee.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PerAxleWeightCharges__weightLimitUnits { - PerAxleWeightCharges__weightLimitUnits_pounds = 0, - PerAxleWeightCharges__weightLimitUnits_kilograms = 1 - /* - * Enumeration is extensible - */ -} e_PerAxleWeightCharges__weightLimitUnits; - -/* PerAxleWeightCharges */ -typedef struct PerAxleWeightCharges { - long totalWeightLimit; - long maxLadenWeightOnAxle; - long weightLimitUnits; - PaymentFee_t axleWeightCharge; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PerAxleWeightCharges_t; - -/* Implementation */ -/* extern asn_TYPE_descriptor_t asn_DEF_weightLimitUnits_4; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_PerAxleWeightCharges; -extern asn_SEQUENCE_specifics_t asn_SPC_PerAxleWeightCharges_specs_1; -extern asn_TYPE_member_t asn_MBR_PerAxleWeightCharges_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _PerAxleWeightCharges_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Period.c b/src/tmx/Asn_J2735/src/r2024/Period.c new file mode 100644 index 000000000..c13c69af5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Period.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Period.h" + +asn_TYPE_member_t asn_MBR_Period_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Period, beginOfPeriod), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GeneralizedTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "beginOfPeriod" + }, + { ATF_NOFLAGS, 0, offsetof(struct Period, endOfPeriod), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GeneralizedTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "endOfPeriod" + }, +}; +static const ber_tlv_tag_t asn_DEF_Period_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Period_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* beginOfPeriod */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* endOfPeriod */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Period_specs_1 = { + sizeof(struct Period), + offsetof(struct Period, _asn_ctx), + asn_MAP_Period_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Period = { + "Period", + "Period", + &asn_OP_SEQUENCE, + asn_DEF_Period_tags_1, + sizeof(asn_DEF_Period_tags_1) + /sizeof(asn_DEF_Period_tags_1[0]), /* 1 */ + asn_DEF_Period_tags_1, /* Same as above */ + sizeof(asn_DEF_Period_tags_1) + /sizeof(asn_DEF_Period_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Period_1, + 2, /* Elements count */ + &asn_SPC_Period_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Period.h b/src/tmx/Asn_J2735/src/r2024/Period.h deleted file mode 100644 index a7b13dc2c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Period.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Period_H_ -#define _Period_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "GeneralizedTime.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Period */ -typedef struct Period { - GeneralizedTime_t beginOfPeriod; - GeneralizedTime_t endOfPeriod; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Period_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Period; -extern asn_SEQUENCE_specifics_t asn_SPC_Period_specs_1; -extern asn_TYPE_member_t asn_MBR_Period_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Period_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PermissiveNonProtected.c b/src/tmx/Asn_J2735/src/r2024/PermissiveNonProtected.c new file mode 100644 index 000000000..902ed323e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PermissiveNonProtected.c @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PermissiveNonProtected.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PermissiveNonProtected_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PermissiveNonProtected_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_PermissiveNonProtected_value2enum_1[] = { + { 0, 4, "none" }, + { 1, 10, "permissive" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_PermissiveNonProtected_enum2value_1[] = { + 0, /* none(0) */ + 1 /* permissive(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_PermissiveNonProtected_specs_1 = { + asn_MAP_PermissiveNonProtected_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_PermissiveNonProtected_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_PermissiveNonProtected_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PermissiveNonProtected = { + "PermissiveNonProtected", + "PermissiveNonProtected", + &asn_OP_NativeEnumerated, + asn_DEF_PermissiveNonProtected_tags_1, + sizeof(asn_DEF_PermissiveNonProtected_tags_1) + /sizeof(asn_DEF_PermissiveNonProtected_tags_1[0]), /* 1 */ + asn_DEF_PermissiveNonProtected_tags_1, /* Same as above */ + sizeof(asn_DEF_PermissiveNonProtected_tags_1) + /sizeof(asn_DEF_PermissiveNonProtected_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PermissiveNonProtected_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PermissiveNonProtected_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_PermissiveNonProtected_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PermissiveNonProtected.h b/src/tmx/Asn_J2735/src/r2024/PermissiveNonProtected.h deleted file mode 100644 index f1c682826..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PermissiveNonProtected.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PermissiveNonProtected_H_ -#define _PermissiveNonProtected_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PermissiveNonProtected { - PermissiveNonProtected_none = 0, - PermissiveNonProtected_permissive = 1 - /* - * Enumeration is extensible - */ -} e_PermissiveNonProtected; - -/* PermissiveNonProtected */ -typedef long PermissiveNonProtected_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PermissiveNonProtected_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PermissiveNonProtected; -extern const asn_INTEGER_specifics_t asn_SPC_PermissiveNonProtected_specs_1; -asn_struct_free_f PermissiveNonProtected_free; -asn_struct_print_f PermissiveNonProtected_print; -asn_constr_check_f PermissiveNonProtected_constraint; -ber_type_decoder_f PermissiveNonProtected_decode_ber; -der_type_encoder_f PermissiveNonProtected_encode_der; -xer_type_decoder_f PermissiveNonProtected_decode_xer; -xer_type_encoder_f PermissiveNonProtected_encode_xer; -oer_type_decoder_f PermissiveNonProtected_decode_oer; -oer_type_encoder_f PermissiveNonProtected_encode_oer; -per_type_decoder_f PermissiveNonProtected_decode_uper; -per_type_encoder_f PermissiveNonProtected_encode_uper; -per_type_decoder_f PermissiveNonProtected_decode_aper; -per_type_encoder_f PermissiveNonProtected_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PermissiveNonProtected_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalAccountNumber.c b/src/tmx/Asn_J2735/src/r2024/PersonalAccountNumber.c new file mode 100644 index 000000000..5572718e2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PersonalAccountNumber.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PersonalAccountNumber.h" + +int +PersonalAccountNumber_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 10UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PersonalAccountNumber_constr_1 CC_NOTUSED = { + { 0, 0 }, + 10 /* (SIZE(10..10)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PersonalAccountNumber_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 10, 10 } /* (SIZE(10..10)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_PersonalAccountNumber_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PersonalAccountNumber = { + "PersonalAccountNumber", + "PersonalAccountNumber", + &asn_OP_OCTET_STRING, + asn_DEF_PersonalAccountNumber_tags_1, + sizeof(asn_DEF_PersonalAccountNumber_tags_1) + /sizeof(asn_DEF_PersonalAccountNumber_tags_1[0]), /* 1 */ + asn_DEF_PersonalAccountNumber_tags_1, /* Same as above */ + sizeof(asn_DEF_PersonalAccountNumber_tags_1) + /sizeof(asn_DEF_PersonalAccountNumber_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PersonalAccountNumber_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PersonalAccountNumber_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + PersonalAccountNumber_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalAccountNumber.h b/src/tmx/Asn_J2735/src/r2024/PersonalAccountNumber.h deleted file mode 100644 index 61abc40bf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PersonalAccountNumber.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PersonalAccountNumber_H_ -#define _PersonalAccountNumber_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PersonalAccountNumber */ -typedef OCTET_STRING_t PersonalAccountNumber_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PersonalAccountNumber_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PersonalAccountNumber; -asn_struct_free_f PersonalAccountNumber_free; -asn_struct_print_f PersonalAccountNumber_print; -asn_constr_check_f PersonalAccountNumber_constraint; -ber_type_decoder_f PersonalAccountNumber_decode_ber; -der_type_encoder_f PersonalAccountNumber_encode_der; -xer_type_decoder_f PersonalAccountNumber_decode_xer; -xer_type_encoder_f PersonalAccountNumber_encode_xer; -oer_type_decoder_f PersonalAccountNumber_decode_oer; -oer_type_encoder_f PersonalAccountNumber_encode_oer; -per_type_decoder_f PersonalAccountNumber_decode_uper; -per_type_encoder_f PersonalAccountNumber_encode_uper; -per_type_decoder_f PersonalAccountNumber_decode_aper; -per_type_encoder_f PersonalAccountNumber_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PersonalAccountNumber_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalAssistive.c b/src/tmx/Asn_J2735/src/r2024/PersonalAssistive.c new file mode 100644 index 000000000..8d5f3434b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PersonalAssistive.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PersonalAssistive.h" + +int +PersonalAssistive_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 6UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PersonalAssistive_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PersonalAssistive_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 6, 6 } /* (SIZE(6..6,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_PersonalAssistive_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PersonalAssistive = { + "PersonalAssistive", + "PersonalAssistive", + &asn_OP_BIT_STRING, + asn_DEF_PersonalAssistive_tags_1, + sizeof(asn_DEF_PersonalAssistive_tags_1) + /sizeof(asn_DEF_PersonalAssistive_tags_1[0]), /* 1 */ + asn_DEF_PersonalAssistive_tags_1, /* Same as above */ + sizeof(asn_DEF_PersonalAssistive_tags_1) + /sizeof(asn_DEF_PersonalAssistive_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PersonalAssistive_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PersonalAssistive_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + PersonalAssistive_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalAssistive.h b/src/tmx/Asn_J2735/src/r2024/PersonalAssistive.h deleted file mode 100644 index ea094ce9c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PersonalAssistive.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PersonalAssistive_H_ -#define _PersonalAssistive_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PersonalAssistive { - PersonalAssistive_unavailable = 0, - PersonalAssistive_otherType = 1, - PersonalAssistive_vision = 2, - PersonalAssistive_hearing = 3, - PersonalAssistive_movement = 4, - PersonalAssistive_cognition = 5 -} e_PersonalAssistive; - -/* PersonalAssistive */ -typedef BIT_STRING_t PersonalAssistive_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PersonalAssistive_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PersonalAssistive; -asn_struct_free_f PersonalAssistive_free; -asn_struct_print_f PersonalAssistive_print; -asn_constr_check_f PersonalAssistive_constraint; -ber_type_decoder_f PersonalAssistive_decode_ber; -der_type_encoder_f PersonalAssistive_encode_der; -xer_type_decoder_f PersonalAssistive_decode_xer; -xer_type_encoder_f PersonalAssistive_encode_xer; -oer_type_decoder_f PersonalAssistive_decode_oer; -oer_type_encoder_f PersonalAssistive_encode_oer; -per_type_decoder_f PersonalAssistive_decode_uper; -per_type_encoder_f PersonalAssistive_encode_uper; -per_type_decoder_f PersonalAssistive_decode_aper; -per_type_encoder_f PersonalAssistive_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PersonalAssistive_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalClusterRadius.c b/src/tmx/Asn_J2735/src/r2024/PersonalClusterRadius.c new file mode 100644 index 000000000..f5873fc96 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PersonalClusterRadius.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PersonalClusterRadius.h" + +int +PersonalClusterRadius_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 100L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PersonalClusterRadius_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..100) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PersonalClusterRadius_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 100 } /* (0..100) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_PersonalClusterRadius_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PersonalClusterRadius = { + "PersonalClusterRadius", + "PersonalClusterRadius", + &asn_OP_NativeInteger, + asn_DEF_PersonalClusterRadius_tags_1, + sizeof(asn_DEF_PersonalClusterRadius_tags_1) + /sizeof(asn_DEF_PersonalClusterRadius_tags_1[0]), /* 1 */ + asn_DEF_PersonalClusterRadius_tags_1, /* Same as above */ + sizeof(asn_DEF_PersonalClusterRadius_tags_1) + /sizeof(asn_DEF_PersonalClusterRadius_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PersonalClusterRadius_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PersonalClusterRadius_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + PersonalClusterRadius_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalClusterRadius.h b/src/tmx/Asn_J2735/src/r2024/PersonalClusterRadius.h deleted file mode 100644 index 230251537..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PersonalClusterRadius.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PersonalClusterRadius_H_ -#define _PersonalClusterRadius_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PersonalClusterRadius */ -typedef long PersonalClusterRadius_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PersonalClusterRadius_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PersonalClusterRadius; -asn_struct_free_f PersonalClusterRadius_free; -asn_struct_print_f PersonalClusterRadius_print; -asn_constr_check_f PersonalClusterRadius_constraint; -ber_type_decoder_f PersonalClusterRadius_decode_ber; -der_type_encoder_f PersonalClusterRadius_encode_der; -xer_type_decoder_f PersonalClusterRadius_decode_xer; -xer_type_encoder_f PersonalClusterRadius_encode_xer; -oer_type_decoder_f PersonalClusterRadius_decode_oer; -oer_type_encoder_f PersonalClusterRadius_encode_oer; -per_type_decoder_f PersonalClusterRadius_decode_uper; -per_type_encoder_f PersonalClusterRadius_encode_uper; -per_type_decoder_f PersonalClusterRadius_decode_aper; -per_type_encoder_f PersonalClusterRadius_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PersonalClusterRadius_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalCrossingInProgress.c b/src/tmx/Asn_J2735/src/r2024/PersonalCrossingInProgress.c new file mode 100644 index 000000000..275d2d568 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PersonalCrossingInProgress.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PersonalCrossingInProgress.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_PersonalCrossingInProgress_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PersonalCrossingInProgress = { + "PersonalCrossingInProgress", + "PersonalCrossingInProgress", + &asn_OP_BOOLEAN, + asn_DEF_PersonalCrossingInProgress_tags_1, + sizeof(asn_DEF_PersonalCrossingInProgress_tags_1) + /sizeof(asn_DEF_PersonalCrossingInProgress_tags_1[0]), /* 1 */ + asn_DEF_PersonalCrossingInProgress_tags_1, /* Same as above */ + sizeof(asn_DEF_PersonalCrossingInProgress_tags_1) + /sizeof(asn_DEF_PersonalCrossingInProgress_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalCrossingInProgress.h b/src/tmx/Asn_J2735/src/r2024/PersonalCrossingInProgress.h deleted file mode 100644 index afbe49674..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PersonalCrossingInProgress.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PersonalCrossingInProgress_H_ -#define _PersonalCrossingInProgress_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PersonalCrossingInProgress */ -typedef BOOLEAN_t PersonalCrossingInProgress_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PersonalCrossingInProgress; -asn_struct_free_f PersonalCrossingInProgress_free; -asn_struct_print_f PersonalCrossingInProgress_print; -asn_constr_check_f PersonalCrossingInProgress_constraint; -ber_type_decoder_f PersonalCrossingInProgress_decode_ber; -der_type_encoder_f PersonalCrossingInProgress_encode_der; -xer_type_decoder_f PersonalCrossingInProgress_decode_xer; -xer_type_encoder_f PersonalCrossingInProgress_encode_xer; -oer_type_decoder_f PersonalCrossingInProgress_decode_oer; -oer_type_encoder_f PersonalCrossingInProgress_encode_oer; -per_type_decoder_f PersonalCrossingInProgress_decode_uper; -per_type_encoder_f PersonalCrossingInProgress_encode_uper; -per_type_decoder_f PersonalCrossingInProgress_decode_aper; -per_type_encoder_f PersonalCrossingInProgress_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PersonalCrossingInProgress_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalCrossingRequest.c b/src/tmx/Asn_J2735/src/r2024/PersonalCrossingRequest.c new file mode 100644 index 000000000..23121400f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PersonalCrossingRequest.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PersonalCrossingRequest.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_PersonalCrossingRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PersonalCrossingRequest = { + "PersonalCrossingRequest", + "PersonalCrossingRequest", + &asn_OP_BOOLEAN, + asn_DEF_PersonalCrossingRequest_tags_1, + sizeof(asn_DEF_PersonalCrossingRequest_tags_1) + /sizeof(asn_DEF_PersonalCrossingRequest_tags_1[0]), /* 1 */ + asn_DEF_PersonalCrossingRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_PersonalCrossingRequest_tags_1) + /sizeof(asn_DEF_PersonalCrossingRequest_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalCrossingRequest.h b/src/tmx/Asn_J2735/src/r2024/PersonalCrossingRequest.h deleted file mode 100644 index dc28f5f41..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PersonalCrossingRequest.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PersonalCrossingRequest_H_ -#define _PersonalCrossingRequest_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PersonalCrossingRequest */ -typedef BOOLEAN_t PersonalCrossingRequest_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PersonalCrossingRequest; -asn_struct_free_f PersonalCrossingRequest_free; -asn_struct_print_f PersonalCrossingRequest_print; -asn_constr_check_f PersonalCrossingRequest_constraint; -ber_type_decoder_f PersonalCrossingRequest_decode_ber; -der_type_encoder_f PersonalCrossingRequest_encode_der; -xer_type_decoder_f PersonalCrossingRequest_decode_xer; -xer_type_encoder_f PersonalCrossingRequest_encode_xer; -oer_type_decoder_f PersonalCrossingRequest_decode_oer; -oer_type_encoder_f PersonalCrossingRequest_encode_oer; -per_type_decoder_f PersonalCrossingRequest_decode_uper; -per_type_encoder_f PersonalCrossingRequest_encode_uper; -per_type_decoder_f PersonalCrossingRequest_decode_aper; -per_type_encoder_f PersonalCrossingRequest_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PersonalCrossingRequest_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalDeviceUsageState.c b/src/tmx/Asn_J2735/src/r2024/PersonalDeviceUsageState.c new file mode 100644 index 000000000..3e2eb0722 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PersonalDeviceUsageState.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PersonalDeviceUsageState.h" + +int +PersonalDeviceUsageState_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 9UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PersonalDeviceUsageState_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PersonalDeviceUsageState_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 9, 9 } /* (SIZE(9..9,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_PersonalDeviceUsageState_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PersonalDeviceUsageState = { + "PersonalDeviceUsageState", + "PersonalDeviceUsageState", + &asn_OP_BIT_STRING, + asn_DEF_PersonalDeviceUsageState_tags_1, + sizeof(asn_DEF_PersonalDeviceUsageState_tags_1) + /sizeof(asn_DEF_PersonalDeviceUsageState_tags_1[0]), /* 1 */ + asn_DEF_PersonalDeviceUsageState_tags_1, /* Same as above */ + sizeof(asn_DEF_PersonalDeviceUsageState_tags_1) + /sizeof(asn_DEF_PersonalDeviceUsageState_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PersonalDeviceUsageState_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PersonalDeviceUsageState_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + PersonalDeviceUsageState_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalDeviceUsageState.h b/src/tmx/Asn_J2735/src/r2024/PersonalDeviceUsageState.h deleted file mode 100644 index 3e98092b4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PersonalDeviceUsageState.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PersonalDeviceUsageState_H_ -#define _PersonalDeviceUsageState_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PersonalDeviceUsageState { - PersonalDeviceUsageState_unavailable = 0, - PersonalDeviceUsageState_other = 1, - PersonalDeviceUsageState_idle = 2, - PersonalDeviceUsageState_listeningToAudio = 3, - PersonalDeviceUsageState_typing = 4, - PersonalDeviceUsageState_calling = 5, - PersonalDeviceUsageState_playingGames = 6, - PersonalDeviceUsageState_reading = 7, - PersonalDeviceUsageState_viewing = 8 -} e_PersonalDeviceUsageState; - -/* PersonalDeviceUsageState */ -typedef BIT_STRING_t PersonalDeviceUsageState_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PersonalDeviceUsageState_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PersonalDeviceUsageState; -asn_struct_free_f PersonalDeviceUsageState_free; -asn_struct_print_f PersonalDeviceUsageState_print; -asn_constr_check_f PersonalDeviceUsageState_constraint; -ber_type_decoder_f PersonalDeviceUsageState_decode_ber; -der_type_encoder_f PersonalDeviceUsageState_encode_der; -xer_type_decoder_f PersonalDeviceUsageState_decode_xer; -xer_type_encoder_f PersonalDeviceUsageState_encode_xer; -oer_type_decoder_f PersonalDeviceUsageState_decode_oer; -oer_type_encoder_f PersonalDeviceUsageState_encode_oer; -per_type_decoder_f PersonalDeviceUsageState_decode_uper; -per_type_encoder_f PersonalDeviceUsageState_encode_uper; -per_type_decoder_f PersonalDeviceUsageState_decode_aper; -per_type_encoder_f PersonalDeviceUsageState_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PersonalDeviceUsageState_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalDeviceUserType.c b/src/tmx/Asn_J2735/src/r2024/PersonalDeviceUserType.c new file mode 100644 index 000000000..f1e269399 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PersonalDeviceUserType.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PersonalDeviceUserType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PersonalDeviceUserType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PersonalDeviceUserType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_PersonalDeviceUserType_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 11, "aPEDESTRIAN" }, + { 2, 13, "aPEDALCYCLIST" }, + { 3, 19, "aPUBLICSAFETYWORKER" }, + { 4, 8, "anANIMAL" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_PersonalDeviceUserType_enum2value_1[] = { + 2, /* aPEDALCYCLIST(2) */ + 1, /* aPEDESTRIAN(1) */ + 3, /* aPUBLICSAFETYWORKER(3) */ + 4, /* anANIMAL(4) */ + 0 /* unavailable(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_PersonalDeviceUserType_specs_1 = { + asn_MAP_PersonalDeviceUserType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_PersonalDeviceUserType_enum2value_1, /* N => "tag"; sorted by N */ + 5, /* Number of elements in the maps */ + 6, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_PersonalDeviceUserType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PersonalDeviceUserType = { + "PersonalDeviceUserType", + "PersonalDeviceUserType", + &asn_OP_NativeEnumerated, + asn_DEF_PersonalDeviceUserType_tags_1, + sizeof(asn_DEF_PersonalDeviceUserType_tags_1) + /sizeof(asn_DEF_PersonalDeviceUserType_tags_1[0]), /* 1 */ + asn_DEF_PersonalDeviceUserType_tags_1, /* Same as above */ + sizeof(asn_DEF_PersonalDeviceUserType_tags_1) + /sizeof(asn_DEF_PersonalDeviceUserType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PersonalDeviceUserType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PersonalDeviceUserType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_PersonalDeviceUserType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalDeviceUserType.h b/src/tmx/Asn_J2735/src/r2024/PersonalDeviceUserType.h deleted file mode 100644 index 991832255..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PersonalDeviceUserType.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PersonalDeviceUserType_H_ -#define _PersonalDeviceUserType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PersonalDeviceUserType { - PersonalDeviceUserType_unavailable = 0, - PersonalDeviceUserType_aPEDESTRIAN = 1, - PersonalDeviceUserType_aPEDALCYCLIST = 2, - PersonalDeviceUserType_aPUBLICSAFETYWORKER = 3, - PersonalDeviceUserType_anANIMAL = 4 - /* - * Enumeration is extensible - */ -} e_PersonalDeviceUserType; - -/* PersonalDeviceUserType */ -typedef long PersonalDeviceUserType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PersonalDeviceUserType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PersonalDeviceUserType; -extern const asn_INTEGER_specifics_t asn_SPC_PersonalDeviceUserType_specs_1; -asn_struct_free_f PersonalDeviceUserType_free; -asn_struct_print_f PersonalDeviceUserType_print; -asn_constr_check_f PersonalDeviceUserType_constraint; -ber_type_decoder_f PersonalDeviceUserType_decode_ber; -der_type_encoder_f PersonalDeviceUserType_encode_der; -xer_type_decoder_f PersonalDeviceUserType_decode_xer; -xer_type_encoder_f PersonalDeviceUserType_encode_xer; -oer_type_decoder_f PersonalDeviceUserType_decode_oer; -oer_type_encoder_f PersonalDeviceUserType_encode_oer; -per_type_decoder_f PersonalDeviceUserType_decode_uper; -per_type_encoder_f PersonalDeviceUserType_encode_uper; -per_type_decoder_f PersonalDeviceUserType_decode_aper; -per_type_encoder_f PersonalDeviceUserType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PersonalDeviceUserType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage.c b/src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage.c new file mode 100644 index 000000000..fe0bde8ff --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage.c @@ -0,0 +1,621 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PersonalSafetyMessage.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_27 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_27 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_27 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_27 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_27[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_PersonalSafetyMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_27[] = { + (ASN_TAG_CLASS_CONTEXT | (25 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_27 = { + sizeof(struct PersonalSafetyMessage__regional), + offsetof(struct PersonalSafetyMessage__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_27 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_27, + sizeof(asn_DEF_regional_tags_27) + /sizeof(asn_DEF_regional_tags_27[0]) - 1, /* 1 */ + asn_DEF_regional_tags_27, /* Same as above */ + sizeof(asn_DEF_regional_tags_27) + /sizeof(asn_DEF_regional_tags_27[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_27, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_27, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_27, + 1, /* Single element */ + &asn_SPC_regional_specs_27 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_PersonalSafetyMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PersonalSafetyMessage, basicType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PersonalDeviceUserType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "basicType" + }, + { ATF_NOFLAGS, 0, offsetof(struct PersonalSafetyMessage, secMark), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "secMark" + }, + { ATF_NOFLAGS, 0, offsetof(struct PersonalSafetyMessage, msgCnt), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msgCnt" + }, + { ATF_NOFLAGS, 0, offsetof(struct PersonalSafetyMessage, id), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct PersonalSafetyMessage, position), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "position" + }, + { ATF_NOFLAGS, 0, offsetof(struct PersonalSafetyMessage, accuracy), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionalAccuracy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accuracy" + }, + { ATF_NOFLAGS, 0, offsetof(struct PersonalSafetyMessage, speed), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Velocity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed" + }, + { ATF_NOFLAGS, 0, offsetof(struct PersonalSafetyMessage, heading), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Heading, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heading" + }, + { ATF_POINTER, 18, offsetof(struct PersonalSafetyMessage, accelSet), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AccelerationSet4Way, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accelSet" + }, + { ATF_POINTER, 17, offsetof(struct PersonalSafetyMessage, pathHistory), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PathHistory, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pathHistory" + }, + { ATF_POINTER, 16, offsetof(struct PersonalSafetyMessage, pathPrediction), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PathPrediction, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pathPrediction" + }, + { ATF_POINTER, 15, offsetof(struct PersonalSafetyMessage, propulsion), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_PropelledInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "propulsion" + }, + { ATF_POINTER, 14, offsetof(struct PersonalSafetyMessage, useState), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PersonalDeviceUsageState, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "useState" + }, + { ATF_POINTER, 13, offsetof(struct PersonalSafetyMessage, crossRequest), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PersonalCrossingRequest, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "crossRequest" + }, + { ATF_POINTER, 12, offsetof(struct PersonalSafetyMessage, crossState), + (ASN_TAG_CLASS_CONTEXT | (14 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PersonalCrossingInProgress, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "crossState" + }, + { ATF_POINTER, 11, offsetof(struct PersonalSafetyMessage, clusterSize), + (ASN_TAG_CLASS_CONTEXT | (15 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NumberOfParticipantsInCluster, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "clusterSize" + }, + { ATF_POINTER, 10, offsetof(struct PersonalSafetyMessage, clusterRadius), + (ASN_TAG_CLASS_CONTEXT | (16 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PersonalClusterRadius, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "clusterRadius" + }, + { ATF_POINTER, 9, offsetof(struct PersonalSafetyMessage, eventResponderType), + (ASN_TAG_CLASS_CONTEXT | (17 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PublicSafetyEventResponderWorkerType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "eventResponderType" + }, + { ATF_POINTER, 8, offsetof(struct PersonalSafetyMessage, activityType), + (ASN_TAG_CLASS_CONTEXT | (18 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PublicSafetyAndRoadWorkerActivity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "activityType" + }, + { ATF_POINTER, 7, offsetof(struct PersonalSafetyMessage, activitySubType), + (ASN_TAG_CLASS_CONTEXT | (19 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PublicSafetyDirectingTrafficSubType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "activitySubType" + }, + { ATF_POINTER, 6, offsetof(struct PersonalSafetyMessage, assistType), + (ASN_TAG_CLASS_CONTEXT | (20 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PersonalAssistive, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "assistType" + }, + { ATF_POINTER, 5, offsetof(struct PersonalSafetyMessage, sizing), + (ASN_TAG_CLASS_CONTEXT | (21 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UserSizeAndBehaviour, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sizing" + }, + { ATF_POINTER, 4, offsetof(struct PersonalSafetyMessage, attachment), + (ASN_TAG_CLASS_CONTEXT | (22 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Attachment, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "attachment" + }, + { ATF_POINTER, 3, offsetof(struct PersonalSafetyMessage, attachmentRadius), + (ASN_TAG_CLASS_CONTEXT | (23 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AttachmentRadius, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "attachmentRadius" + }, + { ATF_POINTER, 2, offsetof(struct PersonalSafetyMessage, animalType), + (ASN_TAG_CLASS_CONTEXT | (24 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AnimalType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "animalType" + }, + { ATF_POINTER, 1, offsetof(struct PersonalSafetyMessage, regional), + (ASN_TAG_CLASS_CONTEXT | (25 << 2)), + 0, + &asn_DEF_regional_27, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_27, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_27, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_PersonalSafetyMessage_oms_1[] = { 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }; +static const ber_tlv_tag_t asn_DEF_PersonalSafetyMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PersonalSafetyMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* basicType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* secMark */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* msgCnt */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* position */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* accuracy */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* speed */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* heading */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* accelSet */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* pathHistory */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* pathPrediction */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* propulsion */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* useState */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* crossRequest */ + { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* crossState */ + { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* clusterSize */ + { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* clusterRadius */ + { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 }, /* eventResponderType */ + { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 18, 0, 0 }, /* activityType */ + { (ASN_TAG_CLASS_CONTEXT | (19 << 2)), 19, 0, 0 }, /* activitySubType */ + { (ASN_TAG_CLASS_CONTEXT | (20 << 2)), 20, 0, 0 }, /* assistType */ + { (ASN_TAG_CLASS_CONTEXT | (21 << 2)), 21, 0, 0 }, /* sizing */ + { (ASN_TAG_CLASS_CONTEXT | (22 << 2)), 22, 0, 0 }, /* attachment */ + { (ASN_TAG_CLASS_CONTEXT | (23 << 2)), 23, 0, 0 }, /* attachmentRadius */ + { (ASN_TAG_CLASS_CONTEXT | (24 << 2)), 24, 0, 0 }, /* animalType */ + { (ASN_TAG_CLASS_CONTEXT | (25 << 2)), 25, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PersonalSafetyMessage_specs_1 = { + sizeof(struct PersonalSafetyMessage), + offsetof(struct PersonalSafetyMessage, _asn_ctx), + asn_MAP_PersonalSafetyMessage_tag2el_1, + 26, /* Count of tags in the map */ + asn_MAP_PersonalSafetyMessage_oms_1, /* Optional members */ + 18, 0, /* Root/Additions */ + 26, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PersonalSafetyMessage = { + "PersonalSafetyMessage", + "PersonalSafetyMessage", + &asn_OP_SEQUENCE, + asn_DEF_PersonalSafetyMessage_tags_1, + sizeof(asn_DEF_PersonalSafetyMessage_tags_1) + /sizeof(asn_DEF_PersonalSafetyMessage_tags_1[0]), /* 1 */ + asn_DEF_PersonalSafetyMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_PersonalSafetyMessage_tags_1) + /sizeof(asn_DEF_PersonalSafetyMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PersonalSafetyMessage_1, + 26, /* Elements count */ + &asn_SPC_PersonalSafetyMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage.h b/src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage.h deleted file mode 100644 index 0f007ce58..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage.h +++ /dev/null @@ -1,110 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PersonalSafetyMessage_H_ -#define _PersonalSafetyMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "PersonalDeviceUserType.h" -#include "DSecond.h" -#include "Common_MsgCount.h" -#include "TemporaryID.h" -#include "Position3D.h" -#include "PositionalAccuracy.h" -#include "Velocity.h" -#include "Heading.h" -#include "PersonalDeviceUsageState.h" -#include "PersonalCrossingRequest.h" -#include "PersonalCrossingInProgress.h" -#include "NumberOfParticipantsInCluster.h" -#include "PersonalClusterRadius.h" -#include "PublicSafetyEventResponderWorkerType.h" -#include "PublicSafetyAndRoadWorkerActivity.h" -#include "PublicSafetyDirectingTrafficSubType.h" -#include "PersonalAssistive.h" -#include "UserSizeAndBehaviour.h" -#include "Attachment.h" -#include "AttachmentRadius.h" -#include "AnimalType.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct AccelerationSet4Way; -struct PathHistory; -struct PathPrediction; -struct PropelledInformation; -struct Reg_PersonalSafetyMessage; - -/* PersonalSafetyMessage */ -typedef struct PersonalSafetyMessage { - PersonalDeviceUserType_t basicType; - DSecond_t secMark; - Common_MsgCount_t msgCnt; - TemporaryID_t id; - Position3D_t position; - PositionalAccuracy_t accuracy; - Velocity_t speed; - Heading_t heading; - struct AccelerationSet4Way *accelSet; /* OPTIONAL */ - struct PathHistory *pathHistory; /* OPTIONAL */ - struct PathPrediction *pathPrediction; /* OPTIONAL */ - struct PropelledInformation *propulsion; /* OPTIONAL */ - PersonalDeviceUsageState_t *useState; /* OPTIONAL */ - PersonalCrossingRequest_t *crossRequest; /* OPTIONAL */ - PersonalCrossingInProgress_t *crossState; /* OPTIONAL */ - NumberOfParticipantsInCluster_t *clusterSize; /* OPTIONAL */ - PersonalClusterRadius_t *clusterRadius; /* OPTIONAL */ - PublicSafetyEventResponderWorkerType_t *eventResponderType; /* OPTIONAL */ - PublicSafetyAndRoadWorkerActivity_t *activityType; /* OPTIONAL */ - PublicSafetyDirectingTrafficSubType_t *activitySubType; /* OPTIONAL */ - PersonalAssistive_t *assistType; /* OPTIONAL */ - UserSizeAndBehaviour_t *sizing; /* OPTIONAL */ - Attachment_t *attachment; /* OPTIONAL */ - AttachmentRadius_t *attachmentRadius; /* OPTIONAL */ - AnimalType_t *animalType; /* OPTIONAL */ - struct PersonalSafetyMessage__regional { - A_SEQUENCE_OF(struct Reg_PersonalSafetyMessage) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PersonalSafetyMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PersonalSafetyMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_PersonalSafetyMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_PersonalSafetyMessage_1[26]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "AccelerationSet4Way.h" -#include "PathHistory.h" -#include "PathPrediction.h" -#include "PropelledInformation.h" -#include "RegionalExtension.h" - -#endif /* _PersonalSafetyMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage2.c b/src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage2.c new file mode 100644 index 000000000..4976cb7ee --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage2.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage2" + * found in "J2945-9-PersonalSafetyMessage2-2024-ph-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PersonalSafetyMessage2.h" + +/* + * This type is implemented using NULL, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_PersonalSafetyMessage2_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PersonalSafetyMessage2 = { + "PersonalSafetyMessage2", + "PersonalSafetyMessage2", + &asn_OP_NULL, + asn_DEF_PersonalSafetyMessage2_tags_1, + sizeof(asn_DEF_PersonalSafetyMessage2_tags_1) + /sizeof(asn_DEF_PersonalSafetyMessage2_tags_1[0]), /* 1 */ + asn_DEF_PersonalSafetyMessage2_tags_1, /* Same as above */ + sizeof(asn_DEF_PersonalSafetyMessage2_tags_1) + /sizeof(asn_DEF_PersonalSafetyMessage2_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NULL_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage2.h b/src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage2.h deleted file mode 100644 index 8f4cf4e86..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PersonalSafetyMessage2.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage2" - * found in "J2945-9-PersonalSafetyMessage2-2024-ph-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PersonalSafetyMessage2_H_ -#define _PersonalSafetyMessage2_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NULL.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PersonalSafetyMessage2 */ -typedef NULL_t PersonalSafetyMessage2_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PersonalSafetyMessage2; -asn_struct_free_f PersonalSafetyMessage2_free; -asn_struct_print_f PersonalSafetyMessage2_print; -asn_constr_check_f PersonalSafetyMessage2_constraint; -ber_type_decoder_f PersonalSafetyMessage2_decode_ber; -der_type_encoder_f PersonalSafetyMessage2_encode_der; -xer_type_decoder_f PersonalSafetyMessage2_decode_xer; -xer_type_encoder_f PersonalSafetyMessage2_encode_xer; -oer_type_decoder_f PersonalSafetyMessage2_decode_oer; -oer_type_encoder_f PersonalSafetyMessage2_encode_oer; -per_type_decoder_f PersonalSafetyMessage2_decode_uper; -per_type_encoder_f PersonalSafetyMessage2_encode_uper; -per_type_decoder_f PersonalSafetyMessage2_decode_aper; -per_type_encoder_f PersonalSafetyMessage2_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PersonalSafetyMessage2_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Pitch.c b/src/tmx/Asn_J2735/src/r2024/Pitch.c new file mode 100644 index 000000000..ec5e1c92c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Pitch.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Pitch.h" + +int +Pitch_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -7200L && value <= 7201L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Pitch_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-7200..7201) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Pitch_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, -7200, 7201 } /* (-7200..7201) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Pitch_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Pitch = { + "Pitch", + "Pitch", + &asn_OP_NativeInteger, + asn_DEF_Pitch_tags_1, + sizeof(asn_DEF_Pitch_tags_1) + /sizeof(asn_DEF_Pitch_tags_1[0]), /* 1 */ + asn_DEF_Pitch_tags_1, /* Same as above */ + sizeof(asn_DEF_Pitch_tags_1) + /sizeof(asn_DEF_Pitch_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Pitch_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Pitch_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Pitch_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Pitch.h b/src/tmx/Asn_J2735/src/r2024/Pitch.h deleted file mode 100644 index ed945f38f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Pitch.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Pitch_H_ -#define _Pitch_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Pitch */ -typedef long Pitch_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Pitch_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Pitch; -asn_struct_free_f Pitch_free; -asn_struct_print_f Pitch_print; -asn_constr_check_f Pitch_constraint; -ber_type_decoder_f Pitch_decode_ber; -der_type_encoder_f Pitch_encode_der; -xer_type_decoder_f Pitch_decode_xer; -xer_type_encoder_f Pitch_encode_xer; -oer_type_decoder_f Pitch_decode_oer; -oer_type_encoder_f Pitch_encode_oer; -per_type_decoder_f Pitch_decode_uper; -per_type_encoder_f Pitch_encode_uper; -per_type_decoder_f Pitch_decode_aper; -per_type_encoder_f Pitch_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Pitch_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PitchDetected.c b/src/tmx/Asn_J2735/src/r2024/PitchDetected.c new file mode 100644 index 000000000..cd88526b0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PitchDetected.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PitchDetected.h" + +int +PitchDetected_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -7200L && value <= 7200L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PitchDetected_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-7200..7200) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PitchDetected_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, -7200, 7200 } /* (-7200..7200) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_PitchDetected_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PitchDetected = { + "PitchDetected", + "PitchDetected", + &asn_OP_NativeInteger, + asn_DEF_PitchDetected_tags_1, + sizeof(asn_DEF_PitchDetected_tags_1) + /sizeof(asn_DEF_PitchDetected_tags_1[0]), /* 1 */ + asn_DEF_PitchDetected_tags_1, /* Same as above */ + sizeof(asn_DEF_PitchDetected_tags_1) + /sizeof(asn_DEF_PitchDetected_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PitchDetected_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PitchDetected_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + PitchDetected_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PitchDetected.h b/src/tmx/Asn_J2735/src/r2024/PitchDetected.h deleted file mode 100644 index 1311381bc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PitchDetected.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PitchDetected_H_ -#define _PitchDetected_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PitchDetected */ -typedef long PitchDetected_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PitchDetected_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PitchDetected; -asn_struct_free_f PitchDetected_free; -asn_struct_print_f PitchDetected_print; -asn_constr_check_f PitchDetected_constraint; -ber_type_decoder_f PitchDetected_decode_ber; -der_type_encoder_f PitchDetected_encode_der; -xer_type_decoder_f PitchDetected_decode_xer; -xer_type_encoder_f PitchDetected_encode_xer; -oer_type_decoder_f PitchDetected_decode_oer; -oer_type_encoder_f PitchDetected_encode_oer; -per_type_decoder_f PitchDetected_decode_uper; -per_type_encoder_f PitchDetected_encode_uper; -per_type_decoder_f PitchDetected_decode_aper; -per_type_encoder_f PitchDetected_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PitchDetected_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PitchRateConfidence.c b/src/tmx/Asn_J2735/src/r2024/PitchRateConfidence.c new file mode 100644 index 000000000..5aa45f91e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PitchRateConfidence.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PitchRateConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PitchRateConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PitchRateConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_PitchRateConfidence_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 13, "degSec-100-00" }, + { 2, 13, "degSec-010-00" }, + { 3, 13, "degSec-005-00" }, + { 4, 13, "degSec-001-00" }, + { 5, 13, "degSec-000-10" }, + { 6, 13, "degSec-000-05" }, + { 7, 13, "degSec-000-01" } +}; +static const unsigned int asn_MAP_PitchRateConfidence_enum2value_1[] = { + 7, /* degSec-000-01(7) */ + 6, /* degSec-000-05(6) */ + 5, /* degSec-000-10(5) */ + 4, /* degSec-001-00(4) */ + 3, /* degSec-005-00(3) */ + 2, /* degSec-010-00(2) */ + 1, /* degSec-100-00(1) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_PitchRateConfidence_specs_1 = { + asn_MAP_PitchRateConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_PitchRateConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_PitchRateConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PitchRateConfidence = { + "PitchRateConfidence", + "PitchRateConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_PitchRateConfidence_tags_1, + sizeof(asn_DEF_PitchRateConfidence_tags_1) + /sizeof(asn_DEF_PitchRateConfidence_tags_1[0]), /* 1 */ + asn_DEF_PitchRateConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_PitchRateConfidence_tags_1) + /sizeof(asn_DEF_PitchRateConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PitchRateConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PitchRateConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_PitchRateConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PitchRateConfidence.h b/src/tmx/Asn_J2735/src/r2024/PitchRateConfidence.h deleted file mode 100644 index ebbee6018..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PitchRateConfidence.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PitchRateConfidence_H_ -#define _PitchRateConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PitchRateConfidence { - PitchRateConfidence_unavailable = 0, - PitchRateConfidence_degSec_100_00 = 1, - PitchRateConfidence_degSec_010_00 = 2, - PitchRateConfidence_degSec_005_00 = 3, - PitchRateConfidence_degSec_001_00 = 4, - PitchRateConfidence_degSec_000_10 = 5, - PitchRateConfidence_degSec_000_05 = 6, - PitchRateConfidence_degSec_000_01 = 7 -} e_PitchRateConfidence; - -/* PitchRateConfidence */ -typedef long PitchRateConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PitchRateConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PitchRateConfidence; -extern const asn_INTEGER_specifics_t asn_SPC_PitchRateConfidence_specs_1; -asn_struct_free_f PitchRateConfidence_free; -asn_struct_print_f PitchRateConfidence_print; -asn_constr_check_f PitchRateConfidence_constraint; -ber_type_decoder_f PitchRateConfidence_decode_ber; -der_type_encoder_f PitchRateConfidence_encode_der; -xer_type_decoder_f PitchRateConfidence_decode_xer; -xer_type_encoder_f PitchRateConfidence_encode_xer; -oer_type_decoder_f PitchRateConfidence_decode_oer; -oer_type_encoder_f PitchRateConfidence_encode_oer; -per_type_decoder_f PitchRateConfidence_decode_uper; -per_type_encoder_f PitchRateConfidence_encode_uper; -per_type_decoder_f PitchRateConfidence_decode_aper; -per_type_encoder_f PitchRateConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PitchRateConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PivotPointDescription.c b/src/tmx/Asn_J2735/src/r2024/PivotPointDescription.c new file mode 100644 index 000000000..07a4dc18f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PivotPointDescription.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PivotPointDescription.h" + +asn_TYPE_member_t asn_MBR_PivotPointDescription_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PivotPointDescription, pivotOffset), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B11, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pivotOffset" + }, + { ATF_NOFLAGS, 0, offsetof(struct PivotPointDescription, pivotAngle), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Angle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pivotAngle" + }, + { ATF_NOFLAGS, 0, offsetof(struct PivotPointDescription, pivots), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PivotingAllowed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pivots" + }, +}; +static const ber_tlv_tag_t asn_DEF_PivotPointDescription_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PivotPointDescription_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pivotOffset */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pivotAngle */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* pivots */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PivotPointDescription_specs_1 = { + sizeof(struct PivotPointDescription), + offsetof(struct PivotPointDescription, _asn_ctx), + asn_MAP_PivotPointDescription_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PivotPointDescription = { + "PivotPointDescription", + "PivotPointDescription", + &asn_OP_SEQUENCE, + asn_DEF_PivotPointDescription_tags_1, + sizeof(asn_DEF_PivotPointDescription_tags_1) + /sizeof(asn_DEF_PivotPointDescription_tags_1[0]), /* 1 */ + asn_DEF_PivotPointDescription_tags_1, /* Same as above */ + sizeof(asn_DEF_PivotPointDescription_tags_1) + /sizeof(asn_DEF_PivotPointDescription_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PivotPointDescription_1, + 3, /* Elements count */ + &asn_SPC_PivotPointDescription_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PivotPointDescription.h b/src/tmx/Asn_J2735/src/r2024/PivotPointDescription.h deleted file mode 100644 index 051d3cd25..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PivotPointDescription.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PivotPointDescription_H_ -#define _PivotPointDescription_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Offset-B11.h" -#include "Common_Angle.h" -#include "PivotingAllowed.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PivotPointDescription */ -typedef struct PivotPointDescription { - Offset_B11_t pivotOffset; - Common_Angle_t pivotAngle; - PivotingAllowed_t pivots; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PivotPointDescription_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PivotPointDescription; -extern asn_SEQUENCE_specifics_t asn_SPC_PivotPointDescription_specs_1; -extern asn_TYPE_member_t asn_MBR_PivotPointDescription_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _PivotPointDescription_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PivotingAllowed.c b/src/tmx/Asn_J2735/src/r2024/PivotingAllowed.c new file mode 100644 index 000000000..48047b46c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PivotingAllowed.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PivotingAllowed.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_PivotingAllowed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PivotingAllowed = { + "PivotingAllowed", + "PivotingAllowed", + &asn_OP_BOOLEAN, + asn_DEF_PivotingAllowed_tags_1, + sizeof(asn_DEF_PivotingAllowed_tags_1) + /sizeof(asn_DEF_PivotingAllowed_tags_1[0]), /* 1 */ + asn_DEF_PivotingAllowed_tags_1, /* Same as above */ + sizeof(asn_DEF_PivotingAllowed_tags_1) + /sizeof(asn_DEF_PivotingAllowed_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PivotingAllowed.h b/src/tmx/Asn_J2735/src/r2024/PivotingAllowed.h deleted file mode 100644 index 709a7380e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PivotingAllowed.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PivotingAllowed_H_ -#define _PivotingAllowed_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PivotingAllowed */ -typedef BOOLEAN_t PivotingAllowed_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PivotingAllowed; -asn_struct_free_f PivotingAllowed_free; -asn_struct_print_f PivotingAllowed_print; -asn_constr_check_f PivotingAllowed_constraint; -ber_type_decoder_f PivotingAllowed_decode_ber; -der_type_encoder_f PivotingAllowed_encode_der; -xer_type_decoder_f PivotingAllowed_decode_xer; -xer_type_encoder_f PivotingAllowed_encode_xer; -oer_type_decoder_f PivotingAllowed_decode_oer; -oer_type_encoder_f PivotingAllowed_encode_oer; -per_type_decoder_f PivotingAllowed_decode_uper; -per_type_encoder_f PivotingAllowed_encode_uper; -per_type_decoder_f PivotingAllowed_decode_aper; -per_type_encoder_f PivotingAllowed_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PivotingAllowed_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Point.c b/src/tmx/Asn_J2735/src/r2024/Point.c new file mode 100644 index 000000000..9dff6fd46 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Point.c @@ -0,0 +1,111 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Point.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Point_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Point_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_Point_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Point, choice.pointIdentifier), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int4Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pointIdentifier" + }, + { ATF_NOFLAGS, 0, offsetof(struct Point, choice.absolutePointCoordinates), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AbsolutePosition3d, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "absolutePointCoordinates" + }, + { ATF_NOFLAGS, 0, offsetof(struct Point, choice.relativePointCoordinates), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RelativePosition3d, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "relativePointCoordinates" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_Point_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pointIdentifier */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* absolutePointCoordinates */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* relativePointCoordinates */ +}; +static asn_CHOICE_specifics_t asn_SPC_Point_specs_1 = { + sizeof(struct Point), + offsetof(struct Point, _asn_ctx), + offsetof(struct Point, present), + sizeof(((struct Point *)0)->present), + asn_MAP_Point_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_Point = { + "Point", + "Point", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Point_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Point_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_Point_1, + 3, /* Elements count */ + &asn_SPC_Point_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Point.h b/src/tmx/Asn_J2735/src/r2024/Point.h deleted file mode 100644 index f9a705151..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Point.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Point_H_ -#define _Point_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int4Unsigned.h" -#include "AbsolutePosition3d.h" -#include "RelativePosition3d.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Point_PR { - Point_PR_NOTHING, /* No components present */ - Point_PR_pointIdentifier, - Point_PR_absolutePointCoordinates, - Point_PR_relativePointCoordinates -} Point_PR; - -/* Point */ -typedef struct Point { - Point_PR present; - union Point_u { - Int4Unsigned_t pointIdentifier; - AbsolutePosition3d_t absolutePointCoordinates; - RelativePosition3d_t relativePointCoordinates; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Point_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Point; - -#ifdef __cplusplus -} -#endif - -#endif /* _Point_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PortlandCement.c b/src/tmx/Asn_J2735/src/r2024/PortlandCement.c new file mode 100644 index 000000000..95edac649 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PortlandCement.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PortlandCement.h" + +asn_TYPE_member_t asn_MBR_PortlandCement_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PortlandCement, type), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PortlandCementType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "type" + }, +}; +static const ber_tlv_tag_t asn_DEF_PortlandCement_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PortlandCement_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* type */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PortlandCement_specs_1 = { + sizeof(struct PortlandCement), + offsetof(struct PortlandCement, _asn_ctx), + asn_MAP_PortlandCement_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PortlandCement = { + "PortlandCement", + "PortlandCement", + &asn_OP_SEQUENCE, + asn_DEF_PortlandCement_tags_1, + sizeof(asn_DEF_PortlandCement_tags_1) + /sizeof(asn_DEF_PortlandCement_tags_1[0]), /* 1 */ + asn_DEF_PortlandCement_tags_1, /* Same as above */ + sizeof(asn_DEF_PortlandCement_tags_1) + /sizeof(asn_DEF_PortlandCement_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PortlandCement_1, + 1, /* Elements count */ + &asn_SPC_PortlandCement_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PortlandCement.h b/src/tmx/Asn_J2735/src/r2024/PortlandCement.h deleted file mode 100644 index 3caf04b4f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PortlandCement.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PortlandCement_H_ -#define _PortlandCement_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "PortlandCementType.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PortlandCement */ -typedef struct PortlandCement { - PortlandCementType_t type; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PortlandCement_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PortlandCement; -extern asn_SEQUENCE_specifics_t asn_SPC_PortlandCement_specs_1; -extern asn_TYPE_member_t asn_MBR_PortlandCement_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _PortlandCement_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PortlandCementType.c b/src/tmx/Asn_J2735/src/r2024/PortlandCementType.c new file mode 100644 index 000000000..78428168c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PortlandCementType.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PortlandCementType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PortlandCementType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PortlandCementType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_PortlandCementType_value2enum_1[] = { + { 0, 8, "newSharp" }, + { 1, 8, "traveled" }, + { 2, 15, "trafficPolished" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_PortlandCementType_enum2value_1[] = { + 0, /* newSharp(0) */ + 2, /* trafficPolished(2) */ + 1 /* traveled(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_PortlandCementType_specs_1 = { + asn_MAP_PortlandCementType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_PortlandCementType_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_PortlandCementType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PortlandCementType = { + "PortlandCementType", + "PortlandCementType", + &asn_OP_NativeEnumerated, + asn_DEF_PortlandCementType_tags_1, + sizeof(asn_DEF_PortlandCementType_tags_1) + /sizeof(asn_DEF_PortlandCementType_tags_1[0]), /* 1 */ + asn_DEF_PortlandCementType_tags_1, /* Same as above */ + sizeof(asn_DEF_PortlandCementType_tags_1) + /sizeof(asn_DEF_PortlandCementType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PortlandCementType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PortlandCementType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_PortlandCementType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PortlandCementType.h b/src/tmx/Asn_J2735/src/r2024/PortlandCementType.h deleted file mode 100644 index 569fde9a9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PortlandCementType.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PortlandCementType_H_ -#define _PortlandCementType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PortlandCementType { - PortlandCementType_newSharp = 0, - PortlandCementType_traveled = 1, - PortlandCementType_trafficPolished = 2 - /* - * Enumeration is extensible - */ -} e_PortlandCementType; - -/* PortlandCementType */ -typedef long PortlandCementType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PortlandCementType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PortlandCementType; -extern const asn_INTEGER_specifics_t asn_SPC_PortlandCementType_specs_1; -asn_struct_free_f PortlandCementType_free; -asn_struct_print_f PortlandCementType_print; -asn_constr_check_f PortlandCementType_constraint; -ber_type_decoder_f PortlandCementType_decode_ber; -der_type_encoder_f PortlandCementType_encode_der; -xer_type_decoder_f PortlandCementType_decode_xer; -xer_type_encoder_f PortlandCementType_encode_xer; -oer_type_decoder_f PortlandCementType_decode_oer; -oer_type_encoder_f PortlandCementType_encode_oer; -per_type_decoder_f PortlandCementType_decode_uper; -per_type_encoder_f PortlandCementType_encode_uper; -per_type_decoder_f PortlandCementType_decode_aper; -per_type_encoder_f PortlandCementType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PortlandCementType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpB.c b/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpB.c new file mode 100644 index 000000000..e5d31c535 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpB.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Position3D-addGrpB.h" + +asn_TYPE_member_t asn_MBR_Position3D_addGrpB_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Position3D_addGrpB, latitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LatitudeDMS2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "latitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Position3D_addGrpB, longitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LongitudeDMS2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct Position3D_addGrpB, elevation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AddGrpB_Elevation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "elevation" + }, +}; +static const ber_tlv_tag_t asn_DEF_Position3D_addGrpB_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Position3D_addGrpB_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* latitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* longitude */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* elevation */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Position3D_addGrpB_specs_1 = { + sizeof(struct Position3D_addGrpB), + offsetof(struct Position3D_addGrpB, _asn_ctx), + asn_MAP_Position3D_addGrpB_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Position3D_addGrpB = { + "Position3D-addGrpB", + "Position3D-addGrpB", + &asn_OP_SEQUENCE, + asn_DEF_Position3D_addGrpB_tags_1, + sizeof(asn_DEF_Position3D_addGrpB_tags_1) + /sizeof(asn_DEF_Position3D_addGrpB_tags_1[0]), /* 1 */ + asn_DEF_Position3D_addGrpB_tags_1, /* Same as above */ + sizeof(asn_DEF_Position3D_addGrpB_tags_1) + /sizeof(asn_DEF_Position3D_addGrpB_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Position3D_addGrpB_1, + 3, /* Elements count */ + &asn_SPC_Position3D_addGrpB_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpB.h b/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpB.h deleted file mode 100644 index a82c6b1a6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpB.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Position3D_addGrpB_H_ -#define _Position3D_addGrpB_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LatitudeDMS2.h" -#include "LongitudeDMS2.h" -#include "AddGrpB_Elevation.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Position3D-addGrpB */ -typedef struct Position3D_addGrpB { - LatitudeDMS2_t latitude; - LongitudeDMS2_t longitude; - AddGrpB_Elevation_t elevation; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Position3D_addGrpB_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Position3D_addGrpB; -extern asn_SEQUENCE_specifics_t asn_SPC_Position3D_addGrpB_specs_1; -extern asn_TYPE_member_t asn_MBR_Position3D_addGrpB_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Position3D_addGrpB_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpC.c b/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpC.c new file mode 100644 index 000000000..80a8a6c5a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpC.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Position3D-addGrpC.h" + +asn_TYPE_member_t asn_MBR_Position3D_addGrpC_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Position3D_addGrpC, altitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AddGrpC_Altitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "altitude" + }, +}; +static const ber_tlv_tag_t asn_DEF_Position3D_addGrpC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Position3D_addGrpC_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* altitude */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Position3D_addGrpC_specs_1 = { + sizeof(struct Position3D_addGrpC), + offsetof(struct Position3D_addGrpC, _asn_ctx), + asn_MAP_Position3D_addGrpC_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Position3D_addGrpC = { + "Position3D-addGrpC", + "Position3D-addGrpC", + &asn_OP_SEQUENCE, + asn_DEF_Position3D_addGrpC_tags_1, + sizeof(asn_DEF_Position3D_addGrpC_tags_1) + /sizeof(asn_DEF_Position3D_addGrpC_tags_1[0]), /* 1 */ + asn_DEF_Position3D_addGrpC_tags_1, /* Same as above */ + sizeof(asn_DEF_Position3D_addGrpC_tags_1) + /sizeof(asn_DEF_Position3D_addGrpC_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Position3D_addGrpC_1, + 1, /* Elements count */ + &asn_SPC_Position3D_addGrpC_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpC.h b/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpC.h deleted file mode 100644 index 79b396d65..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Position3D-addGrpC.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Position3D_addGrpC_H_ -#define _Position3D_addGrpC_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "AddGrpC_Altitude.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Position3D-addGrpC */ -typedef struct Position3D_addGrpC { - AddGrpC_Altitude_t altitude; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Position3D_addGrpC_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Position3D_addGrpC; -extern asn_SEQUENCE_specifics_t asn_SPC_Position3D_addGrpC_specs_1; -extern asn_TYPE_member_t asn_MBR_Position3D_addGrpC_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Position3D_addGrpC_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Position3D.c b/src/tmx/Asn_J2735/src/r2024/Position3D.c new file mode 100644 index 000000000..a240abd63 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Position3D.c @@ -0,0 +1,225 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Position3D.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_5[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_5[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_5 = { + sizeof(struct Position3D__regional), + offsetof(struct Position3D__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_5 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_5, + sizeof(asn_DEF_regional_tags_5) + /sizeof(asn_DEF_regional_tags_5[0]) - 1, /* 1 */ + asn_DEF_regional_tags_5, /* Same as above */ + sizeof(asn_DEF_regional_tags_5) + /sizeof(asn_DEF_regional_tags_5[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_5, + 1, /* Single element */ + &asn_SPC_regional_specs_5 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Position3D_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Position3D, lat), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Latitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat" + }, + { ATF_NOFLAGS, 0, offsetof(struct Position3D, Long), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Longitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "long" + }, + { ATF_POINTER, 2, offsetof(struct Position3D, elevation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Elevation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "elevation" + }, + { ATF_POINTER, 1, offsetof(struct Position3D, regional), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + 0, + &asn_DEF_regional_5, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_Position3D_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_Position3D_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Position3D_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lat */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* long */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* elevation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Position3D_specs_1 = { + sizeof(struct Position3D), + offsetof(struct Position3D, _asn_ctx), + asn_MAP_Position3D_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_Position3D_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Position3D = { + "Position3D", + "Position3D", + &asn_OP_SEQUENCE, + asn_DEF_Position3D_tags_1, + sizeof(asn_DEF_Position3D_tags_1) + /sizeof(asn_DEF_Position3D_tags_1[0]), /* 1 */ + asn_DEF_Position3D_tags_1, /* Same as above */ + sizeof(asn_DEF_Position3D_tags_1) + /sizeof(asn_DEF_Position3D_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Position3D_1, + 4, /* Elements count */ + &asn_SPC_Position3D_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Position3D.h b/src/tmx/Asn_J2735/src/r2024/Position3D.h deleted file mode 100644 index 7faf617cd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Position3D.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Position3D_H_ -#define _Position3D_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_Latitude.h" -#include "Common_Longitude.h" -#include "Common_Elevation.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_Position3D; - -/* Position3D */ -typedef struct Position3D { - Common_Latitude_t lat; - Common_Longitude_t Long; - Common_Elevation_t *elevation; /* OPTIONAL */ - struct Position3D__regional { - A_SEQUENCE_OF(struct Reg_Position3D) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Position3D_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Position3D; -extern asn_SEQUENCE_specifics_t asn_SPC_Position3D_specs_1; -extern asn_TYPE_member_t asn_MBR_Position3D_1[4]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _Position3D_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PositionConfidence.c b/src/tmx/Asn_J2735/src/r2024/PositionConfidence.c new file mode 100644 index 000000000..6d30f999b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PositionConfidence.c @@ -0,0 +1,96 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PositionConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PositionConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PositionConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_PositionConfidence_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 5, "a500m" }, + { 2, 5, "a200m" }, + { 3, 5, "a100m" }, + { 4, 4, "a50m" }, + { 5, 4, "a20m" }, + { 6, 4, "a10m" }, + { 7, 3, "a5m" }, + { 8, 3, "a2m" }, + { 9, 3, "a1m" }, + { 10, 5, "a50cm" }, + { 11, 5, "a20cm" }, + { 12, 5, "a10cm" }, + { 13, 4, "a5cm" }, + { 14, 4, "a2cm" }, + { 15, 4, "a1cm" } +}; +static const unsigned int asn_MAP_PositionConfidence_enum2value_1[] = { + 3, /* a100m(3) */ + 12, /* a10cm(12) */ + 6, /* a10m(6) */ + 15, /* a1cm(15) */ + 9, /* a1m(9) */ + 2, /* a200m(2) */ + 11, /* a20cm(11) */ + 5, /* a20m(5) */ + 14, /* a2cm(14) */ + 8, /* a2m(8) */ + 1, /* a500m(1) */ + 10, /* a50cm(10) */ + 4, /* a50m(4) */ + 13, /* a5cm(13) */ + 7, /* a5m(7) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_PositionConfidence_specs_1 = { + asn_MAP_PositionConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_PositionConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 16, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_PositionConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PositionConfidence = { + "PositionConfidence", + "PositionConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_PositionConfidence_tags_1, + sizeof(asn_DEF_PositionConfidence_tags_1) + /sizeof(asn_DEF_PositionConfidence_tags_1[0]), /* 1 */ + asn_DEF_PositionConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_PositionConfidence_tags_1) + /sizeof(asn_DEF_PositionConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PositionConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PositionConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_PositionConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PositionConfidence.h b/src/tmx/Asn_J2735/src/r2024/PositionConfidence.h deleted file mode 100644 index 6c37a4735..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PositionConfidence.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PositionConfidence_H_ -#define _PositionConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PositionConfidence { - PositionConfidence_unavailable = 0, - PositionConfidence_a500m = 1, - PositionConfidence_a200m = 2, - PositionConfidence_a100m = 3, - PositionConfidence_a50m = 4, - PositionConfidence_a20m = 5, - PositionConfidence_a10m = 6, - PositionConfidence_a5m = 7, - PositionConfidence_a2m = 8, - PositionConfidence_a1m = 9, - PositionConfidence_a50cm = 10, - PositionConfidence_a20cm = 11, - PositionConfidence_a10cm = 12, - PositionConfidence_a5cm = 13, - PositionConfidence_a2cm = 14, - PositionConfidence_a1cm = 15 -} e_PositionConfidence; - -/* PositionConfidence */ -typedef long PositionConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PositionConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PositionConfidence; -extern const asn_INTEGER_specifics_t asn_SPC_PositionConfidence_specs_1; -asn_struct_free_f PositionConfidence_free; -asn_struct_print_f PositionConfidence_print; -asn_constr_check_f PositionConfidence_constraint; -ber_type_decoder_f PositionConfidence_decode_ber; -der_type_encoder_f PositionConfidence_encode_der; -xer_type_decoder_f PositionConfidence_decode_xer; -xer_type_encoder_f PositionConfidence_encode_xer; -oer_type_decoder_f PositionConfidence_decode_oer; -oer_type_encoder_f PositionConfidence_encode_oer; -per_type_decoder_f PositionConfidence_decode_uper; -per_type_encoder_f PositionConfidence_encode_uper; -per_type_decoder_f PositionConfidence_decode_aper; -per_type_encoder_f PositionConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PositionConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PositionConfidenceSet.c b/src/tmx/Asn_J2735/src/r2024/PositionConfidenceSet.c new file mode 100644 index 000000000..9a92e0d9f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PositionConfidenceSet.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PositionConfidenceSet.h" + +asn_TYPE_member_t asn_MBR_PositionConfidenceSet_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PositionConfidenceSet, pos), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pos" + }, + { ATF_NOFLAGS, 0, offsetof(struct PositionConfidenceSet, elevation), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ElevationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "elevation" + }, +}; +static const ber_tlv_tag_t asn_DEF_PositionConfidenceSet_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PositionConfidenceSet_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pos */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* elevation */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PositionConfidenceSet_specs_1 = { + sizeof(struct PositionConfidenceSet), + offsetof(struct PositionConfidenceSet, _asn_ctx), + asn_MAP_PositionConfidenceSet_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PositionConfidenceSet = { + "PositionConfidenceSet", + "PositionConfidenceSet", + &asn_OP_SEQUENCE, + asn_DEF_PositionConfidenceSet_tags_1, + sizeof(asn_DEF_PositionConfidenceSet_tags_1) + /sizeof(asn_DEF_PositionConfidenceSet_tags_1[0]), /* 1 */ + asn_DEF_PositionConfidenceSet_tags_1, /* Same as above */ + sizeof(asn_DEF_PositionConfidenceSet_tags_1) + /sizeof(asn_DEF_PositionConfidenceSet_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PositionConfidenceSet_1, + 2, /* Elements count */ + &asn_SPC_PositionConfidenceSet_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PositionConfidenceSet.h b/src/tmx/Asn_J2735/src/r2024/PositionConfidenceSet.h deleted file mode 100644 index d1c0739df..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PositionConfidenceSet.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PositionConfidenceSet_H_ -#define _PositionConfidenceSet_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "PositionConfidence.h" -#include "ElevationConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PositionConfidenceSet */ -typedef struct PositionConfidenceSet { - PositionConfidence_t pos; - ElevationConfidence_t elevation; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PositionConfidenceSet_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PositionConfidenceSet; -extern asn_SEQUENCE_specifics_t asn_SPC_PositionConfidenceSet_specs_1; -extern asn_TYPE_member_t asn_MBR_PositionConfidenceSet_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _PositionConfidenceSet_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PositionalAccuracy.c b/src/tmx/Asn_J2735/src/r2024/PositionalAccuracy.c new file mode 100644 index 000000000..2339e3d97 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PositionalAccuracy.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PositionalAccuracy.h" + +asn_TYPE_member_t asn_MBR_PositionalAccuracy_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PositionalAccuracy, semiMajor), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SemiMajorAxisAccuracy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "semiMajor" + }, + { ATF_NOFLAGS, 0, offsetof(struct PositionalAccuracy, semiMinor), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SemiMinorAxisAccuracy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "semiMinor" + }, + { ATF_NOFLAGS, 0, offsetof(struct PositionalAccuracy, orientation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SemiMajorAxisOrientation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "orientation" + }, +}; +static const ber_tlv_tag_t asn_DEF_PositionalAccuracy_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PositionalAccuracy_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* semiMajor */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* semiMinor */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* orientation */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PositionalAccuracy_specs_1 = { + sizeof(struct PositionalAccuracy), + offsetof(struct PositionalAccuracy, _asn_ctx), + asn_MAP_PositionalAccuracy_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PositionalAccuracy = { + "PositionalAccuracy", + "PositionalAccuracy", + &asn_OP_SEQUENCE, + asn_DEF_PositionalAccuracy_tags_1, + sizeof(asn_DEF_PositionalAccuracy_tags_1) + /sizeof(asn_DEF_PositionalAccuracy_tags_1[0]), /* 1 */ + asn_DEF_PositionalAccuracy_tags_1, /* Same as above */ + sizeof(asn_DEF_PositionalAccuracy_tags_1) + /sizeof(asn_DEF_PositionalAccuracy_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PositionalAccuracy_1, + 3, /* Elements count */ + &asn_SPC_PositionalAccuracy_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PositionalAccuracy.h b/src/tmx/Asn_J2735/src/r2024/PositionalAccuracy.h deleted file mode 100644 index e54194333..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PositionalAccuracy.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PositionalAccuracy_H_ -#define _PositionalAccuracy_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SemiMajorAxisAccuracy.h" -#include "SemiMinorAxisAccuracy.h" -#include "SemiMajorAxisOrientation.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PositionalAccuracy */ -typedef struct PositionalAccuracy { - SemiMajorAxisAccuracy_t semiMajor; - SemiMinorAxisAccuracy_t semiMinor; - SemiMajorAxisOrientation_t orientation; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PositionalAccuracy_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PositionalAccuracy; -extern asn_SEQUENCE_specifics_t asn_SPC_PositionalAccuracy_specs_1; -extern asn_TYPE_member_t asn_MBR_PositionalAccuracy_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _PositionalAccuracy_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Precipitation.c b/src/tmx/Asn_J2735/src/r2024/Precipitation.c new file mode 100644 index 000000000..9165d7e8b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Precipitation.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Precipitation.h" + +int +Precipitation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Precipitation_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Precipitation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Precipitation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Precipitation = { + "Precipitation", + "Precipitation", + &asn_OP_NativeInteger, + asn_DEF_Precipitation_tags_1, + sizeof(asn_DEF_Precipitation_tags_1) + /sizeof(asn_DEF_Precipitation_tags_1[0]), /* 1 */ + asn_DEF_Precipitation_tags_1, /* Same as above */ + sizeof(asn_DEF_Precipitation_tags_1) + /sizeof(asn_DEF_Precipitation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Precipitation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Precipitation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Precipitation_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Precipitation.h b/src/tmx/Asn_J2735/src/r2024/Precipitation.h deleted file mode 100644 index 20968dbda..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Precipitation.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Precipitation_H_ -#define _Precipitation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Precipitation { - Precipitation_severe_weather = 4865, - Precipitation_blizzard = 4866, - Precipitation_heavy_snow = 4867, - Precipitation_snow = 4868, - Precipitation_light_snow = 4869, - Precipitation_snow_showers = 4870, - Precipitation_winter_storm = 4871, - Precipitation_ice_glaze = 4872, - Precipitation_heavy_frost = 4873, - Precipitation_frost = 4874, - Precipitation_ice_storm = 4875, - Precipitation_sleet = 4876, - Precipitation_rain_and_snow_mixed = 4877, - Precipitation_rain_changing_to_snow = 4878, - Precipitation_damaging_hail = 4879, - Precipitation_hail = 4880, - Precipitation_thunderstorms = 4881, - Precipitation_thundershowers = 4882, - Precipitation_extremely_heavy_downpour = 4883, - Precipitation_heavy_rain = 4884, - Precipitation_rain = 4885, - Precipitation_light_rain = 4886, - Precipitation_drizzle = 4887, - Precipitation_showers = 4888, - Precipitation_dew = 4889, - Precipitation_precipitation_cleared = 4991 -} e_Precipitation; - -/* Precipitation */ -typedef long Precipitation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Precipitation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Precipitation; -asn_struct_free_f Precipitation_free; -asn_struct_print_f Precipitation_print; -asn_constr_check_f Precipitation_constraint; -ber_type_decoder_f Precipitation_decode_ber; -der_type_encoder_f Precipitation_encode_der; -xer_type_decoder_f Precipitation_decode_xer; -xer_type_encoder_f Precipitation_encode_xer; -oer_type_decoder_f Precipitation_decode_oer; -oer_type_encoder_f Precipitation_encode_oer; -per_type_decoder_f Precipitation_decode_uper; -per_type_encoder_f Precipitation_encode_uper; -per_type_decoder_f Precipitation_decode_aper; -per_type_encoder_f Precipitation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Precipitation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PreemptPriorityList.c b/src/tmx/Asn_J2735/src/r2024/PreemptPriorityList.c new file mode 100644 index 000000000..5b7e1db1f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PreemptPriorityList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PreemptPriorityList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PreemptPriorityList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PreemptPriorityList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_PreemptPriorityList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SignalControlZone, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_PreemptPriorityList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_PreemptPriorityList_specs_1 = { + sizeof(struct PreemptPriorityList), + offsetof(struct PreemptPriorityList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_PreemptPriorityList = { + "PreemptPriorityList", + "PreemptPriorityList", + &asn_OP_SEQUENCE_OF, + asn_DEF_PreemptPriorityList_tags_1, + sizeof(asn_DEF_PreemptPriorityList_tags_1) + /sizeof(asn_DEF_PreemptPriorityList_tags_1[0]), /* 1 */ + asn_DEF_PreemptPriorityList_tags_1, /* Same as above */ + sizeof(asn_DEF_PreemptPriorityList_tags_1) + /sizeof(asn_DEF_PreemptPriorityList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PreemptPriorityList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PreemptPriorityList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_PreemptPriorityList_1, + 1, /* Single element */ + &asn_SPC_PreemptPriorityList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PreemptPriorityList.h b/src/tmx/Asn_J2735/src/r2024/PreemptPriorityList.h deleted file mode 100644 index 590fb0700..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PreemptPriorityList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PreemptPriorityList_H_ -#define _PreemptPriorityList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct SignalControlZone; - -/* PreemptPriorityList */ -typedef struct PreemptPriorityList { - A_SEQUENCE_OF(struct SignalControlZone) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PreemptPriorityList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PreemptPriorityList; -extern asn_SET_OF_specifics_t asn_SPC_PreemptPriorityList_specs_1; -extern asn_TYPE_member_t asn_MBR_PreemptPriorityList_1[1]; -extern asn_per_constraints_t asn_PER_type_PreemptPriorityList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "SignalControlZone.h" - -#endif /* _PreemptPriorityList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PrimaryRegionChargingInfo.c b/src/tmx/Asn_J2735/src/r2024/PrimaryRegionChargingInfo.c new file mode 100644 index 000000000..6bef58014 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PrimaryRegionChargingInfo.c @@ -0,0 +1,151 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PrimaryRegionChargingInfo.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_chargingPrimaryRegion_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_chargingPrimaryRegion_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_chargingPrimaryRegion_3[] = { + { ATF_NOFLAGS, 0, offsetof(struct PrimaryRegionChargingInfo__chargingPrimaryRegion, choice.state), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PrimaryRegionState, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "state" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_chargingPrimaryRegion_tag2el_3[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* state */ +}; +static asn_CHOICE_specifics_t asn_SPC_chargingPrimaryRegion_specs_3 = { + sizeof(struct PrimaryRegionChargingInfo__chargingPrimaryRegion), + offsetof(struct PrimaryRegionChargingInfo__chargingPrimaryRegion, _asn_ctx), + offsetof(struct PrimaryRegionChargingInfo__chargingPrimaryRegion, present), + sizeof(((struct PrimaryRegionChargingInfo__chargingPrimaryRegion *)0)->present), + asn_MAP_chargingPrimaryRegion_tag2el_3, + 1, /* Count of tags in the map */ + 0, 0, + 1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_chargingPrimaryRegion_3 = { + "chargingPrimaryRegion", + "chargingPrimaryRegion", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_chargingPrimaryRegion_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_chargingPrimaryRegion_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_chargingPrimaryRegion_3, + 1, /* Elements count */ + &asn_SPC_chargingPrimaryRegion_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_PrimaryRegionChargingInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PrimaryRegionChargingInfo, primaryRegionCountry), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CountryCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "primaryRegionCountry" + }, + { ATF_NOFLAGS, 0, offsetof(struct PrimaryRegionChargingInfo, chargingPrimaryRegion), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_chargingPrimaryRegion_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargingPrimaryRegion" + }, +}; +static const ber_tlv_tag_t asn_DEF_PrimaryRegionChargingInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PrimaryRegionChargingInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* primaryRegionCountry */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* chargingPrimaryRegion */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PrimaryRegionChargingInfo_specs_1 = { + sizeof(struct PrimaryRegionChargingInfo), + offsetof(struct PrimaryRegionChargingInfo, _asn_ctx), + asn_MAP_PrimaryRegionChargingInfo_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PrimaryRegionChargingInfo = { + "PrimaryRegionChargingInfo", + "PrimaryRegionChargingInfo", + &asn_OP_SEQUENCE, + asn_DEF_PrimaryRegionChargingInfo_tags_1, + sizeof(asn_DEF_PrimaryRegionChargingInfo_tags_1) + /sizeof(asn_DEF_PrimaryRegionChargingInfo_tags_1[0]), /* 1 */ + asn_DEF_PrimaryRegionChargingInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_PrimaryRegionChargingInfo_tags_1) + /sizeof(asn_DEF_PrimaryRegionChargingInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PrimaryRegionChargingInfo_1, + 2, /* Elements count */ + &asn_SPC_PrimaryRegionChargingInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PrimaryRegionChargingInfo.h b/src/tmx/Asn_J2735/src/r2024/PrimaryRegionChargingInfo.h deleted file mode 100644 index 3dc54eab5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PrimaryRegionChargingInfo.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PrimaryRegionChargingInfo_H_ -#define _PrimaryRegionChargingInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "CountryCode.h" -#include "PrimaryRegionState.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PrimaryRegionChargingInfo__chargingPrimaryRegion_PR { - PrimaryRegionChargingInfo__chargingPrimaryRegion_PR_NOTHING, /* No components present */ - PrimaryRegionChargingInfo__chargingPrimaryRegion_PR_state - /* Extensions may appear below */ - -} PrimaryRegionChargingInfo__chargingPrimaryRegion_PR; - -/* PrimaryRegionChargingInfo */ -typedef struct PrimaryRegionChargingInfo { - CountryCode_t primaryRegionCountry; - struct PrimaryRegionChargingInfo__chargingPrimaryRegion { - PrimaryRegionChargingInfo__chargingPrimaryRegion_PR present; - union PrimaryRegionChargingInfo__chargingPrimaryRegion_u { - PrimaryRegionState_t state; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } chargingPrimaryRegion; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PrimaryRegionChargingInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PrimaryRegionChargingInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_PrimaryRegionChargingInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_PrimaryRegionChargingInfo_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _PrimaryRegionChargingInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PrimaryRegionState.c b/src/tmx/Asn_J2735/src/r2024/PrimaryRegionState.c new file mode 100644 index 000000000..4fffc0fea --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PrimaryRegionState.c @@ -0,0 +1,138 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PrimaryRegionState.h" + +static int check_permitted_alphabet_2(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +static int +memb_usCanMexState_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2UL) + && !check_permitted_alphabet_2(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_usCanMexState_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_usCanMexState_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 2, 2 } /* (SIZE(2..2,...)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_PrimaryRegionState_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PrimaryRegionState, usCanMexState), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_usCanMexState_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_usCanMexState_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_usCanMexState_constraint_1 + }, + 0, 0, /* No default value */ + "usCanMexState" + }, + { ATF_POINTER, 1, offsetof(struct PrimaryRegionState, chargingFees), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ChargingFees, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargingFees" + }, +}; +static const int asn_MAP_PrimaryRegionState_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_PrimaryRegionState_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PrimaryRegionState_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* usCanMexState */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* chargingFees */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PrimaryRegionState_specs_1 = { + sizeof(struct PrimaryRegionState), + offsetof(struct PrimaryRegionState, _asn_ctx), + asn_MAP_PrimaryRegionState_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_PrimaryRegionState_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PrimaryRegionState = { + "PrimaryRegionState", + "PrimaryRegionState", + &asn_OP_SEQUENCE, + asn_DEF_PrimaryRegionState_tags_1, + sizeof(asn_DEF_PrimaryRegionState_tags_1) + /sizeof(asn_DEF_PrimaryRegionState_tags_1[0]), /* 1 */ + asn_DEF_PrimaryRegionState_tags_1, /* Same as above */ + sizeof(asn_DEF_PrimaryRegionState_tags_1) + /sizeof(asn_DEF_PrimaryRegionState_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PrimaryRegionState_1, + 2, /* Elements count */ + &asn_SPC_PrimaryRegionState_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PrimaryRegionState.h b/src/tmx/Asn_J2735/src/r2024/PrimaryRegionState.h deleted file mode 100644 index 70d20504c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PrimaryRegionState.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PrimaryRegionState_H_ -#define _PrimaryRegionState_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IA5String.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct ChargingFees; - -/* PrimaryRegionState */ -typedef struct PrimaryRegionState { - IA5String_t usCanMexState; - struct ChargingFees *chargingFees; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PrimaryRegionState_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PrimaryRegionState; -extern asn_SEQUENCE_specifics_t asn_SPC_PrimaryRegionState_specs_1; -extern asn_TYPE_member_t asn_MBR_PrimaryRegionState_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "ChargingFees.h" - -#endif /* _PrimaryRegionState_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PrioritizationResponse.c b/src/tmx/Asn_J2735/src/r2024/PrioritizationResponse.c new file mode 100644 index 000000000..8c9728b13 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PrioritizationResponse.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PrioritizationResponse.h" + +asn_TYPE_member_t asn_MBR_PrioritizationResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PrioritizationResponse, stationID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_StationID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "stationID" + }, + { ATF_NOFLAGS, 0, offsetof(struct PrioritizationResponse, priorState), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PrioritizationResponseStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "priorState" + }, + { ATF_NOFLAGS, 0, offsetof(struct PrioritizationResponse, signalGroup), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SignalGroupID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "signalGroup" + }, +}; +static const ber_tlv_tag_t asn_DEF_PrioritizationResponse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PrioritizationResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* stationID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* priorState */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* signalGroup */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PrioritizationResponse_specs_1 = { + sizeof(struct PrioritizationResponse), + offsetof(struct PrioritizationResponse, _asn_ctx), + asn_MAP_PrioritizationResponse_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PrioritizationResponse = { + "PrioritizationResponse", + "PrioritizationResponse", + &asn_OP_SEQUENCE, + asn_DEF_PrioritizationResponse_tags_1, + sizeof(asn_DEF_PrioritizationResponse_tags_1) + /sizeof(asn_DEF_PrioritizationResponse_tags_1[0]), /* 1 */ + asn_DEF_PrioritizationResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_PrioritizationResponse_tags_1) + /sizeof(asn_DEF_PrioritizationResponse_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PrioritizationResponse_1, + 3, /* Elements count */ + &asn_SPC_PrioritizationResponse_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PrioritizationResponse.h b/src/tmx/Asn_J2735/src/r2024/PrioritizationResponse.h deleted file mode 100644 index bc2619ff9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PrioritizationResponse.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PrioritizationResponse_H_ -#define _PrioritizationResponse_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "StationID.h" -#include "PrioritizationResponseStatus.h" -#include "SignalGroupID.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PrioritizationResponse */ -typedef struct PrioritizationResponse { - StationID_t stationID; - PrioritizationResponseStatus_t priorState; - SignalGroupID_t signalGroup; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PrioritizationResponse_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PrioritizationResponse; -extern asn_SEQUENCE_specifics_t asn_SPC_PrioritizationResponse_specs_1; -extern asn_TYPE_member_t asn_MBR_PrioritizationResponse_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _PrioritizationResponse_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PrioritizationResponseList.c b/src/tmx/Asn_J2735/src/r2024/PrioritizationResponseList.c new file mode 100644 index 000000000..d34165ba6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PrioritizationResponseList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PrioritizationResponseList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PrioritizationResponseList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..10)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PrioritizationResponseList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 10 } /* (SIZE(1..10)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_PrioritizationResponseList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_PrioritizationResponse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_PrioritizationResponseList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_PrioritizationResponseList_specs_1 = { + sizeof(struct PrioritizationResponseList), + offsetof(struct PrioritizationResponseList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_PrioritizationResponseList = { + "PrioritizationResponseList", + "PrioritizationResponseList", + &asn_OP_SEQUENCE_OF, + asn_DEF_PrioritizationResponseList_tags_1, + sizeof(asn_DEF_PrioritizationResponseList_tags_1) + /sizeof(asn_DEF_PrioritizationResponseList_tags_1[0]), /* 1 */ + asn_DEF_PrioritizationResponseList_tags_1, /* Same as above */ + sizeof(asn_DEF_PrioritizationResponseList_tags_1) + /sizeof(asn_DEF_PrioritizationResponseList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PrioritizationResponseList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PrioritizationResponseList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_PrioritizationResponseList_1, + 1, /* Single element */ + &asn_SPC_PrioritizationResponseList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PrioritizationResponseList.h b/src/tmx/Asn_J2735/src/r2024/PrioritizationResponseList.h deleted file mode 100644 index 8088ca226..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PrioritizationResponseList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PrioritizationResponseList_H_ -#define _PrioritizationResponseList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct PrioritizationResponse; - -/* PrioritizationResponseList */ -typedef struct PrioritizationResponseList { - A_SEQUENCE_OF(struct PrioritizationResponse) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PrioritizationResponseList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PrioritizationResponseList; -extern asn_SET_OF_specifics_t asn_SPC_PrioritizationResponseList_specs_1; -extern asn_TYPE_member_t asn_MBR_PrioritizationResponseList_1[1]; -extern asn_per_constraints_t asn_PER_type_PrioritizationResponseList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "PrioritizationResponse.h" - -#endif /* _PrioritizationResponseList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PrioritizationResponseStatus.c b/src/tmx/Asn_J2735/src/r2024/PrioritizationResponseStatus.c new file mode 100644 index 000000000..57a6a77cb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PrioritizationResponseStatus.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PrioritizationResponseStatus.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PrioritizationResponseStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PrioritizationResponseStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_PrioritizationResponseStatus_value2enum_1[] = { + { 0, 7, "unknown" }, + { 1, 9, "requested" }, + { 2, 10, "processing" }, + { 3, 17, "watchOtherTraffic" }, + { 4, 7, "granted" }, + { 5, 8, "rejected" }, + { 6, 11, "maxPresence" }, + { 7, 15, "reserviceLocked" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_PrioritizationResponseStatus_enum2value_1[] = { + 4, /* granted(4) */ + 6, /* maxPresence(6) */ + 2, /* processing(2) */ + 5, /* rejected(5) */ + 1, /* requested(1) */ + 7, /* reserviceLocked(7) */ + 0, /* unknown(0) */ + 3 /* watchOtherTraffic(3) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_PrioritizationResponseStatus_specs_1 = { + asn_MAP_PrioritizationResponseStatus_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_PrioritizationResponseStatus_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 9, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_PrioritizationResponseStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PrioritizationResponseStatus = { + "PrioritizationResponseStatus", + "PrioritizationResponseStatus", + &asn_OP_NativeEnumerated, + asn_DEF_PrioritizationResponseStatus_tags_1, + sizeof(asn_DEF_PrioritizationResponseStatus_tags_1) + /sizeof(asn_DEF_PrioritizationResponseStatus_tags_1[0]), /* 1 */ + asn_DEF_PrioritizationResponseStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_PrioritizationResponseStatus_tags_1) + /sizeof(asn_DEF_PrioritizationResponseStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PrioritizationResponseStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PrioritizationResponseStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_PrioritizationResponseStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PrioritizationResponseStatus.h b/src/tmx/Asn_J2735/src/r2024/PrioritizationResponseStatus.h deleted file mode 100644 index aaefaea8e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PrioritizationResponseStatus.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PrioritizationResponseStatus_H_ -#define _PrioritizationResponseStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PrioritizationResponseStatus { - PrioritizationResponseStatus_unknown = 0, - PrioritizationResponseStatus_requested = 1, - PrioritizationResponseStatus_processing = 2, - PrioritizationResponseStatus_watchOtherTraffic = 3, - PrioritizationResponseStatus_granted = 4, - PrioritizationResponseStatus_rejected = 5, - PrioritizationResponseStatus_maxPresence = 6, - PrioritizationResponseStatus_reserviceLocked = 7 - /* - * Enumeration is extensible - */ -} e_PrioritizationResponseStatus; - -/* PrioritizationResponseStatus */ -typedef long PrioritizationResponseStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PrioritizationResponseStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PrioritizationResponseStatus; -extern const asn_INTEGER_specifics_t asn_SPC_PrioritizationResponseStatus_specs_1; -asn_struct_free_f PrioritizationResponseStatus_free; -asn_struct_print_f PrioritizationResponseStatus_print; -asn_constr_check_f PrioritizationResponseStatus_constraint; -ber_type_decoder_f PrioritizationResponseStatus_decode_ber; -der_type_encoder_f PrioritizationResponseStatus_encode_der; -xer_type_decoder_f PrioritizationResponseStatus_decode_xer; -xer_type_encoder_f PrioritizationResponseStatus_encode_xer; -oer_type_decoder_f PrioritizationResponseStatus_decode_oer; -oer_type_encoder_f PrioritizationResponseStatus_encode_oer; -per_type_decoder_f PrioritizationResponseStatus_decode_uper; -per_type_encoder_f PrioritizationResponseStatus_encode_uper; -per_type_decoder_f PrioritizationResponseStatus_decode_aper; -per_type_encoder_f PrioritizationResponseStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PrioritizationResponseStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Priority.c b/src/tmx/Asn_J2735/src/r2024/Priority.c new file mode 100644 index 000000000..98e8fa683 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Priority.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Priority.h" + +int +Priority_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 1UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Priority_constr_1 CC_NOTUSED = { + { 0, 0 }, + 1 /* (SIZE(1..1)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Priority_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 1, 1 } /* (SIZE(1..1)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Priority_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Priority = { + "Priority", + "Priority", + &asn_OP_OCTET_STRING, + asn_DEF_Priority_tags_1, + sizeof(asn_DEF_Priority_tags_1) + /sizeof(asn_DEF_Priority_tags_1[0]), /* 1 */ + asn_DEF_Priority_tags_1, /* Same as above */ + sizeof(asn_DEF_Priority_tags_1) + /sizeof(asn_DEF_Priority_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Priority_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Priority_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Priority_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Priority.h b/src/tmx/Asn_J2735/src/r2024/Priority.h deleted file mode 100644 index 37b3735c4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Priority.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Priority_H_ -#define _Priority_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Priority */ -typedef OCTET_STRING_t Priority_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Priority_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Priority; -asn_struct_free_f Priority_free; -asn_struct_print_f Priority_print; -asn_constr_check_f Priority_constraint; -ber_type_decoder_f Priority_decode_ber; -der_type_encoder_f Priority_encode_der; -xer_type_decoder_f Priority_decode_xer; -xer_type_encoder_f Priority_encode_xer; -oer_type_decoder_f Priority_decode_oer; -oer_type_encoder_f Priority_encode_oer; -per_type_decoder_f Priority_decode_uper; -per_type_encoder_f Priority_encode_uper; -per_type_decoder_f Priority_decode_aper; -per_type_encoder_f Priority_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Priority_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PriorityRequestType.c b/src/tmx/Asn_J2735/src/r2024/PriorityRequestType.c new file mode 100644 index 000000000..6915497cd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PriorityRequestType.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalRequestMessage" + * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PriorityRequestType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PriorityRequestType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PriorityRequestType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_PriorityRequestType_value2enum_1[] = { + { 0, 27, "priorityRequestTypeReserved" }, + { 1, 15, "priorityRequest" }, + { 2, 21, "priorityRequestUpdate" }, + { 3, 20, "priorityCancellation" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_PriorityRequestType_enum2value_1[] = { + 3, /* priorityCancellation(3) */ + 1, /* priorityRequest(1) */ + 0, /* priorityRequestTypeReserved(0) */ + 2 /* priorityRequestUpdate(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_PriorityRequestType_specs_1 = { + asn_MAP_PriorityRequestType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_PriorityRequestType_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_PriorityRequestType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PriorityRequestType = { + "PriorityRequestType", + "PriorityRequestType", + &asn_OP_NativeEnumerated, + asn_DEF_PriorityRequestType_tags_1, + sizeof(asn_DEF_PriorityRequestType_tags_1) + /sizeof(asn_DEF_PriorityRequestType_tags_1[0]), /* 1 */ + asn_DEF_PriorityRequestType_tags_1, /* Same as above */ + sizeof(asn_DEF_PriorityRequestType_tags_1) + /sizeof(asn_DEF_PriorityRequestType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PriorityRequestType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PriorityRequestType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_PriorityRequestType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PriorityRequestType.h b/src/tmx/Asn_J2735/src/r2024/PriorityRequestType.h deleted file mode 100644 index b80b9557c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PriorityRequestType.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalRequestMessage" - * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PriorityRequestType_H_ -#define _PriorityRequestType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PriorityRequestType { - PriorityRequestType_priorityRequestTypeReserved = 0, - PriorityRequestType_priorityRequest = 1, - PriorityRequestType_priorityRequestUpdate = 2, - PriorityRequestType_priorityCancellation = 3 - /* - * Enumeration is extensible - */ -} e_PriorityRequestType; - -/* PriorityRequestType */ -typedef long PriorityRequestType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PriorityRequestType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PriorityRequestType; -extern const asn_INTEGER_specifics_t asn_SPC_PriorityRequestType_specs_1; -asn_struct_free_f PriorityRequestType_free; -asn_struct_print_f PriorityRequestType_print; -asn_constr_check_f PriorityRequestType_constraint; -ber_type_decoder_f PriorityRequestType_decode_ber; -der_type_encoder_f PriorityRequestType_encode_der; -xer_type_decoder_f PriorityRequestType_decode_xer; -xer_type_encoder_f PriorityRequestType_encode_xer; -oer_type_decoder_f PriorityRequestType_decode_oer; -oer_type_encoder_f PriorityRequestType_encode_oer; -per_type_decoder_f PriorityRequestType_decode_uper; -per_type_encoder_f PriorityRequestType_encode_uper; -per_type_decoder_f PriorityRequestType_decode_aper; -per_type_encoder_f PriorityRequestType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PriorityRequestType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PrivilegedEventFlags.c b/src/tmx/Asn_J2735/src/r2024/PrivilegedEventFlags.c new file mode 100644 index 000000000..caff80bc7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PrivilegedEventFlags.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PrivilegedEventFlags.h" + +int +PrivilegedEventFlags_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 16UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PrivilegedEventFlags_constr_1 CC_NOTUSED = { + { 0, 0 }, + 16 /* (SIZE(16..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PrivilegedEventFlags_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 16, 16 } /* (SIZE(16..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_PrivilegedEventFlags_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PrivilegedEventFlags = { + "PrivilegedEventFlags", + "PrivilegedEventFlags", + &asn_OP_BIT_STRING, + asn_DEF_PrivilegedEventFlags_tags_1, + sizeof(asn_DEF_PrivilegedEventFlags_tags_1) + /sizeof(asn_DEF_PrivilegedEventFlags_tags_1[0]), /* 1 */ + asn_DEF_PrivilegedEventFlags_tags_1, /* Same as above */ + sizeof(asn_DEF_PrivilegedEventFlags_tags_1) + /sizeof(asn_DEF_PrivilegedEventFlags_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PrivilegedEventFlags_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PrivilegedEventFlags_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + PrivilegedEventFlags_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PrivilegedEventFlags.h b/src/tmx/Asn_J2735/src/r2024/PrivilegedEventFlags.h deleted file mode 100644 index 4e7b48a04..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PrivilegedEventFlags.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PrivilegedEventFlags_H_ -#define _PrivilegedEventFlags_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PrivilegedEventFlags { - PrivilegedEventFlags_peUnavailable = 0, - PrivilegedEventFlags_peEmergencyResponse = 1, - PrivilegedEventFlags_peEmergencyLightsActive = 2, - PrivilegedEventFlags_peEmergencySoundActive = 3, - PrivilegedEventFlags_peNonEmergencyLightsActive = 4, - PrivilegedEventFlags_peNonEmergencySoundActive = 5 -} e_PrivilegedEventFlags; - -/* PrivilegedEventFlags */ -typedef BIT_STRING_t PrivilegedEventFlags_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PrivilegedEventFlags_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PrivilegedEventFlags; -asn_struct_free_f PrivilegedEventFlags_free; -asn_struct_print_f PrivilegedEventFlags_print; -asn_constr_check_f PrivilegedEventFlags_constraint; -ber_type_decoder_f PrivilegedEventFlags_decode_ber; -der_type_encoder_f PrivilegedEventFlags_encode_der; -xer_type_decoder_f PrivilegedEventFlags_decode_xer; -xer_type_encoder_f PrivilegedEventFlags_encode_xer; -oer_type_decoder_f PrivilegedEventFlags_decode_oer; -oer_type_encoder_f PrivilegedEventFlags_encode_oer; -per_type_decoder_f PrivilegedEventFlags_decode_uper; -per_type_encoder_f PrivilegedEventFlags_encode_uper; -per_type_decoder_f PrivilegedEventFlags_decode_aper; -per_type_encoder_f PrivilegedEventFlags_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PrivilegedEventFlags_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PrivilegedEvents.c b/src/tmx/Asn_J2735/src/r2024/PrivilegedEvents.c new file mode 100644 index 000000000..3543dea68 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PrivilegedEvents.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PrivilegedEvents.h" + +asn_TYPE_member_t asn_MBR_PrivilegedEvents_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PrivilegedEvents, notUsed), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SSPindex, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "notUsed" + }, + { ATF_NOFLAGS, 0, offsetof(struct PrivilegedEvents, event), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PrivilegedEventFlags, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "event" + }, +}; +static const ber_tlv_tag_t asn_DEF_PrivilegedEvents_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PrivilegedEvents_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* notUsed */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* event */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PrivilegedEvents_specs_1 = { + sizeof(struct PrivilegedEvents), + offsetof(struct PrivilegedEvents, _asn_ctx), + asn_MAP_PrivilegedEvents_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PrivilegedEvents = { + "PrivilegedEvents", + "PrivilegedEvents", + &asn_OP_SEQUENCE, + asn_DEF_PrivilegedEvents_tags_1, + sizeof(asn_DEF_PrivilegedEvents_tags_1) + /sizeof(asn_DEF_PrivilegedEvents_tags_1[0]), /* 1 */ + asn_DEF_PrivilegedEvents_tags_1, /* Same as above */ + sizeof(asn_DEF_PrivilegedEvents_tags_1) + /sizeof(asn_DEF_PrivilegedEvents_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PrivilegedEvents_1, + 2, /* Elements count */ + &asn_SPC_PrivilegedEvents_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PrivilegedEvents.h b/src/tmx/Asn_J2735/src/r2024/PrivilegedEvents.h deleted file mode 100644 index d78dcdbad..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PrivilegedEvents.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PrivilegedEvents_H_ -#define _PrivilegedEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SSPindex.h" -#include "PrivilegedEventFlags.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PrivilegedEvents */ -typedef struct PrivilegedEvents { - SSPindex_t notUsed; - PrivilegedEventFlags_t event; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PrivilegedEvents_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PrivilegedEvents; -extern asn_SEQUENCE_specifics_t asn_SPC_PrivilegedEvents_specs_1; -extern asn_TYPE_member_t asn_MBR_PrivilegedEvents_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _PrivilegedEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ProbeDataConfig.c b/src/tmx/Asn_J2735/src/r2024/ProbeDataConfig.c new file mode 100644 index 000000000..8ae41b880 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ProbeDataConfig.c @@ -0,0 +1,159 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ProbeDataConfig.h" + +static int +memb_maxAgeOfData_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 90L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_maxAgeOfData_constr_4 CC_NOTUSED = { + { 1, 1 } /* (1..90) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_maxAgeOfData_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 1, 90 } /* (1..90) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ProbeDataConfig_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ProbeDataConfig, descriptor), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ConfigDescriptor, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "descriptor" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProbeDataConfig, triggers), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ConfigTriggers, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "triggers" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProbeDataConfig, maxAgeOfData), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_maxAgeOfData_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_maxAgeOfData_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_maxAgeOfData_constraint_1 + }, + 0, 0, /* No default value */ + "maxAgeOfData" + }, + { ATF_POINTER, 1, offsetof(struct ProbeDataConfig, boundary), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ConfigBoundary, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "boundary" + }, +}; +static const int asn_MAP_ProbeDataConfig_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_ProbeDataConfig_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ProbeDataConfig_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* descriptor */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* triggers */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* maxAgeOfData */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* boundary */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ProbeDataConfig_specs_1 = { + sizeof(struct ProbeDataConfig), + offsetof(struct ProbeDataConfig, _asn_ctx), + asn_MAP_ProbeDataConfig_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_ProbeDataConfig_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ProbeDataConfig = { + "ProbeDataConfig", + "ProbeDataConfig", + &asn_OP_SEQUENCE, + asn_DEF_ProbeDataConfig_tags_1, + sizeof(asn_DEF_ProbeDataConfig_tags_1) + /sizeof(asn_DEF_ProbeDataConfig_tags_1[0]), /* 1 */ + asn_DEF_ProbeDataConfig_tags_1, /* Same as above */ + sizeof(asn_DEF_ProbeDataConfig_tags_1) + /sizeof(asn_DEF_ProbeDataConfig_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ProbeDataConfig_1, + 4, /* Elements count */ + &asn_SPC_ProbeDataConfig_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ProbeDataConfig.h b/src/tmx/Asn_J2735/src/r2024/ProbeDataConfig.h deleted file mode 100644 index a33e5d6cb..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ProbeDataConfig.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ProbeDataConfig_H_ -#define _ProbeDataConfig_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ConfigDescriptor.h" -#include "ConfigTriggers.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct ConfigBoundary; - -/* ProbeDataConfig */ -typedef struct ProbeDataConfig { - ConfigDescriptor_t descriptor; - ConfigTriggers_t triggers; - long maxAgeOfData; - struct ConfigBoundary *boundary; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ProbeDataConfig_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ProbeDataConfig; -extern asn_SEQUENCE_specifics_t asn_SPC_ProbeDataConfig_specs_1; -extern asn_TYPE_member_t asn_MBR_ProbeDataConfig_1[4]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "ConfigBoundary.h" - -#endif /* _ProbeDataConfig_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ProbeDataConfigMessage.c b/src/tmx/Asn_J2735/src/r2024/ProbeDataConfigMessage.c new file mode 100644 index 000000000..1c1403179 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ProbeDataConfigMessage.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataConfig" + * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ProbeDataConfigMessage.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ProbeDataConfigMessage_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ProbeDataConfigMessage_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 255 } /* (SIZE(1..255,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ProbeDataConfigMessage_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ProbeDataConfig, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_ProbeDataConfigMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_ProbeDataConfigMessage_specs_1 = { + sizeof(struct ProbeDataConfigMessage), + offsetof(struct ProbeDataConfigMessage, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_ProbeDataConfigMessage = { + "ProbeDataConfigMessage", + "ProbeDataConfigMessage", + &asn_OP_SEQUENCE_OF, + asn_DEF_ProbeDataConfigMessage_tags_1, + sizeof(asn_DEF_ProbeDataConfigMessage_tags_1) + /sizeof(asn_DEF_ProbeDataConfigMessage_tags_1[0]), /* 1 */ + asn_DEF_ProbeDataConfigMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_ProbeDataConfigMessage_tags_1) + /sizeof(asn_DEF_ProbeDataConfigMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ProbeDataConfigMessage_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ProbeDataConfigMessage_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_ProbeDataConfigMessage_1, + 1, /* Single element */ + &asn_SPC_ProbeDataConfigMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ProbeDataConfigMessage.h b/src/tmx/Asn_J2735/src/r2024/ProbeDataConfigMessage.h deleted file mode 100644 index ad31f2371..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ProbeDataConfigMessage.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataConfig" - * found in "J2945-C-ProbeDataConfig-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ProbeDataConfigMessage_H_ -#define _ProbeDataConfigMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct ProbeDataConfig; - -/* ProbeDataConfigMessage */ -typedef struct ProbeDataConfigMessage { - A_SEQUENCE_OF(struct ProbeDataConfig) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ProbeDataConfigMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ProbeDataConfigMessage; -extern asn_SET_OF_specifics_t asn_SPC_ProbeDataConfigMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_ProbeDataConfigMessage_1[1]; -extern asn_per_constraints_t asn_PER_type_ProbeDataConfigMessage_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "ProbeDataConfig.h" - -#endif /* _ProbeDataConfigMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ProbeDataManagement.c b/src/tmx/Asn_J2735/src/r2024/ProbeDataManagement.c new file mode 100644 index 000000000..b096c7c90 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ProbeDataManagement.c @@ -0,0 +1,467 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataManagement" + * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ProbeDataManagement.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_term_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_term_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_snapshot_constr_8 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_snapshot_constr_8 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_13 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_13 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_13 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_13 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_term_5[] = { + { ATF_NOFLAGS, 0, offsetof(struct ProbeDataManagement__term, choice.termtime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TermTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "termtime" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProbeDataManagement__term, choice.termDistance), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TermDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "termDistance" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_term_tag2el_5[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* termtime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* termDistance */ +}; +static asn_CHOICE_specifics_t asn_SPC_term_specs_5 = { + sizeof(struct ProbeDataManagement__term), + offsetof(struct ProbeDataManagement__term, _asn_ctx), + offsetof(struct ProbeDataManagement__term, present), + sizeof(((struct ProbeDataManagement__term *)0)->present), + asn_MAP_term_tag2el_5, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_term_5 = { + "term", + "term", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_term_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_term_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_term_5, + 2, /* Elements count */ + &asn_SPC_term_specs_5 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_snapshot_8[] = { + { ATF_NOFLAGS, 0, offsetof(struct ProbeDataManagement__snapshot, choice.snapshotTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SnapshotTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "snapshotTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProbeDataManagement__snapshot, choice.snapshotDistance), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SnapshotDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "snapshotDistance" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_snapshot_tag2el_8[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* snapshotTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* snapshotDistance */ +}; +static asn_CHOICE_specifics_t asn_SPC_snapshot_specs_8 = { + sizeof(struct ProbeDataManagement__snapshot), + offsetof(struct ProbeDataManagement__snapshot, _asn_ctx), + offsetof(struct ProbeDataManagement__snapshot, present), + sizeof(((struct ProbeDataManagement__snapshot *)0)->present), + asn_MAP_snapshot_tag2el_8, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_snapshot_8 = { + "snapshot", + "snapshot", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_snapshot_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_snapshot_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_snapshot_8, + 2, /* Elements count */ + &asn_SPC_snapshot_specs_8 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regional_13[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_ProbeDataManagement, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_13[] = { + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_13 = { + sizeof(struct ProbeDataManagement__regional), + offsetof(struct ProbeDataManagement__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_13 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_13, + sizeof(asn_DEF_regional_tags_13) + /sizeof(asn_DEF_regional_tags_13[0]) - 1, /* 1 */ + asn_DEF_regional_tags_13, /* Same as above */ + sizeof(asn_DEF_regional_tags_13) + /sizeof(asn_DEF_regional_tags_13[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_13, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_13, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_13, + 1, /* Single element */ + &asn_SPC_regional_specs_13 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProbeDataManagement_1[] = { + { ATF_POINTER, 1, offsetof(struct ProbeDataManagement, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProbeDataManagement, sample), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Sample, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sample" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProbeDataManagement, directions), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HeadingSlice, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "directions" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProbeDataManagement, term), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_term_5, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "term" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProbeDataManagement, snapshot), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_snapshot_8, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "snapshot" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProbeDataManagement, txInterval), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SecondOfTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "txInterval" + }, + { ATF_POINTER, 2, offsetof(struct ProbeDataManagement, dataElements), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleStatusRequestList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dataElements" + }, + { ATF_POINTER, 1, offsetof(struct ProbeDataManagement, regional), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + 0, + &asn_DEF_regional_13, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_13, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_13, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_ProbeDataManagement_oms_1[] = { 0, 6, 7 }; +static const ber_tlv_tag_t asn_DEF_ProbeDataManagement_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ProbeDataManagement_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sample */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* directions */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* term */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* snapshot */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* txInterval */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* dataElements */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ProbeDataManagement_specs_1 = { + sizeof(struct ProbeDataManagement), + offsetof(struct ProbeDataManagement, _asn_ctx), + asn_MAP_ProbeDataManagement_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_ProbeDataManagement_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 8, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ProbeDataManagement = { + "ProbeDataManagement", + "ProbeDataManagement", + &asn_OP_SEQUENCE, + asn_DEF_ProbeDataManagement_tags_1, + sizeof(asn_DEF_ProbeDataManagement_tags_1) + /sizeof(asn_DEF_ProbeDataManagement_tags_1[0]), /* 1 */ + asn_DEF_ProbeDataManagement_tags_1, /* Same as above */ + sizeof(asn_DEF_ProbeDataManagement_tags_1) + /sizeof(asn_DEF_ProbeDataManagement_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ProbeDataManagement_1, + 8, /* Elements count */ + &asn_SPC_ProbeDataManagement_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ProbeDataManagement.h b/src/tmx/Asn_J2735/src/r2024/ProbeDataManagement.h deleted file mode 100644 index 50ca991aa..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ProbeDataManagement.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataManagement" - * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ProbeDataManagement_H_ -#define _ProbeDataManagement_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "MinuteOfTheYear.h" -#include "Sample.h" -#include "HeadingSlice.h" -#include "SecondOfTime.h" -#include "TermTime.h" -#include "TermDistance.h" -#include "constr_CHOICE.h" -#include "SnapshotTime.h" -#include "SnapshotDistance.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ProbeDataManagement__term_PR { - ProbeDataManagement__term_PR_NOTHING, /* No components present */ - ProbeDataManagement__term_PR_termtime, - ProbeDataManagement__term_PR_termDistance -} ProbeDataManagement__term_PR; -typedef enum ProbeDataManagement__snapshot_PR { - ProbeDataManagement__snapshot_PR_NOTHING, /* No components present */ - ProbeDataManagement__snapshot_PR_snapshotTime, - ProbeDataManagement__snapshot_PR_snapshotDistance -} ProbeDataManagement__snapshot_PR; - -/* Forward declarations */ -struct VehicleStatusRequestList; -struct Reg_ProbeDataManagement; - -/* ProbeDataManagement */ -typedef struct ProbeDataManagement { - MinuteOfTheYear_t *timeStamp; /* OPTIONAL */ - Sample_t sample; - HeadingSlice_t directions; - struct ProbeDataManagement__term { - ProbeDataManagement__term_PR present; - union ProbeDataManagement__term_u { - TermTime_t termtime; - TermDistance_t termDistance; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } term; - struct ProbeDataManagement__snapshot { - ProbeDataManagement__snapshot_PR present; - union ProbeDataManagement__snapshot_u { - SnapshotTime_t snapshotTime; - SnapshotDistance_t snapshotDistance; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } snapshot; - SecondOfTime_t txInterval; - struct VehicleStatusRequestList *dataElements; /* OPTIONAL */ - struct ProbeDataManagement__regional { - A_SEQUENCE_OF(struct Reg_ProbeDataManagement) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ProbeDataManagement_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ProbeDataManagement; -extern asn_SEQUENCE_specifics_t asn_SPC_ProbeDataManagement_specs_1; -extern asn_TYPE_member_t asn_MBR_ProbeDataManagement_1[8]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "VehicleStatusRequestList.h" -#include "RegionalExtension.h" - -#endif /* _ProbeDataManagement_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ProbeDataReportMessage.c b/src/tmx/Asn_J2735/src/r2024/ProbeDataReportMessage.c new file mode 100644 index 000000000..9d286f3f1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ProbeDataReportMessage.c @@ -0,0 +1,152 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ProbeDataReportMessage.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ProbeDataReportMessage_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ProbeDataReportMessage_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ProbeDataReportMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ProbeDataReportMessage, configId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ConfigId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "configId" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProbeDataReportMessage, reportChar), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ReportCharacteristics, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reportChar" + }, + { ATF_POINTER, 3, offsetof(struct ProbeDataReportMessage, roadAuthorityID), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RoadAuthorityID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadAuthorityID" + }, + { ATF_POINTER, 2, offsetof(struct ProbeDataReportMessage, instantaneousRecs), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptInstantaneousRecords, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "instantaneousRecs" + }, + { ATF_POINTER, 1, offsetof(struct ProbeDataReportMessage, avgAndSumRec), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptAveragedAndSummaryRecord, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "avgAndSumRec" + }, +}; +static const int asn_MAP_ProbeDataReportMessage_oms_1[] = { 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_ProbeDataReportMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ProbeDataReportMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* configId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* reportChar */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* roadAuthorityID */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* instantaneousRecs */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* avgAndSumRec */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ProbeDataReportMessage_specs_1 = { + sizeof(struct ProbeDataReportMessage), + offsetof(struct ProbeDataReportMessage, _asn_ctx), + asn_MAP_ProbeDataReportMessage_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_ProbeDataReportMessage_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ProbeDataReportMessage = { + "ProbeDataReportMessage", + "ProbeDataReportMessage", + &asn_OP_SEQUENCE, + asn_DEF_ProbeDataReportMessage_tags_1, + sizeof(asn_DEF_ProbeDataReportMessage_tags_1) + /sizeof(asn_DEF_ProbeDataReportMessage_tags_1[0]), /* 1 */ + asn_DEF_ProbeDataReportMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_ProbeDataReportMessage_tags_1) + /sizeof(asn_DEF_ProbeDataReportMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ProbeDataReportMessage_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ProbeDataReportMessage_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ProbeDataReportMessage_1, + 5, /* Elements count */ + &asn_SPC_ProbeDataReportMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ProbeDataReportMessage.h b/src/tmx/Asn_J2735/src/r2024/ProbeDataReportMessage.h deleted file mode 100644 index 22fa916bb..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ProbeDataReportMessage.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ProbeDataReportMessage_H_ -#define _ProbeDataReportMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ConfigId.h" -#include "ReportCharacteristics.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RoadAuthorityID; -struct RptInstantaneousRecords; -struct RptAveragedAndSummaryRecord; - -/* ProbeDataReportMessage */ -typedef struct ProbeDataReportMessage { - ConfigId_t configId; - ReportCharacteristics_t reportChar; - struct RoadAuthorityID *roadAuthorityID; /* OPTIONAL */ - struct RptInstantaneousRecords *instantaneousRecs; /* OPTIONAL */ - struct RptAveragedAndSummaryRecord *avgAndSumRec; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ProbeDataReportMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ProbeDataReportMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_ProbeDataReportMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_ProbeDataReportMessage_1[5]; -extern asn_per_constraints_t asn_PER_type_ProbeDataReportMessage_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RoadAuthorityID.h" -#include "RptInstantaneousRecords.h" -#include "RptAveragedAndSummaryRecord.h" - -#endif /* _ProbeDataReportMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ProbeDataReport_MeanVariation.c b/src/tmx/Asn_J2735/src/r2024/ProbeDataReport_MeanVariation.c new file mode 100644 index 000000000..ab15d0d65 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ProbeDataReport_MeanVariation.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ProbeDataReport_MeanVariation.h" + +int +ProbeDataReport_MeanVariation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 25000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ProbeDataReport_MeanVariation_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..25000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ProbeDataReport_MeanVariation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 25000 } /* (0..25000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ProbeDataReport_MeanVariation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProbeDataReport_MeanVariation = { + "MeanVariation", + "MeanVariation", + &asn_OP_NativeInteger, + asn_DEF_ProbeDataReport_MeanVariation_tags_1, + sizeof(asn_DEF_ProbeDataReport_MeanVariation_tags_1) + /sizeof(asn_DEF_ProbeDataReport_MeanVariation_tags_1[0]), /* 1 */ + asn_DEF_ProbeDataReport_MeanVariation_tags_1, /* Same as above */ + sizeof(asn_DEF_ProbeDataReport_MeanVariation_tags_1) + /sizeof(asn_DEF_ProbeDataReport_MeanVariation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ProbeDataReport_MeanVariation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ProbeDataReport_MeanVariation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ProbeDataReport_MeanVariation_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ProbeDataReport_MeanVariation.h b/src/tmx/Asn_J2735/src/r2024/ProbeDataReport_MeanVariation.h deleted file mode 100644 index b02991e2c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ProbeDataReport_MeanVariation.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ProbeDataReport_MeanVariation_H_ -#define _ProbeDataReport_MeanVariation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ProbeDataReport_MeanVariation */ -typedef long ProbeDataReport_MeanVariation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ProbeDataReport_MeanVariation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ProbeDataReport_MeanVariation; -asn_struct_free_f ProbeDataReport_MeanVariation_free; -asn_struct_print_f ProbeDataReport_MeanVariation_print; -asn_constr_check_f ProbeDataReport_MeanVariation_constraint; -ber_type_decoder_f ProbeDataReport_MeanVariation_decode_ber; -der_type_encoder_f ProbeDataReport_MeanVariation_encode_der; -xer_type_decoder_f ProbeDataReport_MeanVariation_decode_xer; -xer_type_encoder_f ProbeDataReport_MeanVariation_encode_xer; -oer_type_decoder_f ProbeDataReport_MeanVariation_decode_oer; -oer_type_encoder_f ProbeDataReport_MeanVariation_encode_oer; -per_type_decoder_f ProbeDataReport_MeanVariation_decode_uper; -per_type_encoder_f ProbeDataReport_MeanVariation_encode_uper; -per_type_decoder_f ProbeDataReport_MeanVariation_decode_aper; -per_type_encoder_f ProbeDataReport_MeanVariation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ProbeDataReport_MeanVariation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ProbeSegmentNumber.c b/src/tmx/Asn_J2735/src/r2024/ProbeSegmentNumber.c new file mode 100644 index 000000000..fc406898b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ProbeSegmentNumber.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ProbeSegmentNumber.h" + +int +ProbeSegmentNumber_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ProbeSegmentNumber_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ProbeSegmentNumber_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 32767 } /* (0..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ProbeSegmentNumber_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ProbeSegmentNumber = { + "ProbeSegmentNumber", + "ProbeSegmentNumber", + &asn_OP_NativeInteger, + asn_DEF_ProbeSegmentNumber_tags_1, + sizeof(asn_DEF_ProbeSegmentNumber_tags_1) + /sizeof(asn_DEF_ProbeSegmentNumber_tags_1[0]), /* 1 */ + asn_DEF_ProbeSegmentNumber_tags_1, /* Same as above */ + sizeof(asn_DEF_ProbeSegmentNumber_tags_1) + /sizeof(asn_DEF_ProbeSegmentNumber_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ProbeSegmentNumber_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ProbeSegmentNumber_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ProbeSegmentNumber_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ProbeSegmentNumber.h b/src/tmx/Asn_J2735/src/r2024/ProbeSegmentNumber.h deleted file mode 100644 index a3bd595e9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ProbeSegmentNumber.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ProbeSegmentNumber_H_ -#define _ProbeSegmentNumber_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ProbeSegmentNumber */ -typedef long ProbeSegmentNumber_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ProbeSegmentNumber_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ProbeSegmentNumber; -asn_struct_free_f ProbeSegmentNumber_free; -asn_struct_print_f ProbeSegmentNumber_print; -asn_constr_check_f ProbeSegmentNumber_constraint; -ber_type_decoder_f ProbeSegmentNumber_decode_ber; -der_type_encoder_f ProbeSegmentNumber_encode_der; -xer_type_decoder_f ProbeSegmentNumber_decode_xer; -xer_type_encoder_f ProbeSegmentNumber_encode_xer; -oer_type_decoder_f ProbeSegmentNumber_decode_oer; -oer_type_encoder_f ProbeSegmentNumber_encode_oer; -per_type_decoder_f ProbeSegmentNumber_decode_uper; -per_type_encoder_f ProbeSegmentNumber_encode_uper; -per_type_decoder_f ProbeSegmentNumber_decode_aper; -per_type_encoder_f ProbeSegmentNumber_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ProbeSegmentNumber_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ProbeVehicleData.c b/src/tmx/Asn_J2735/src/r2024/ProbeVehicleData.c new file mode 100644 index 000000000..d2e9e5f7c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ProbeVehicleData.c @@ -0,0 +1,382 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ProbeVehicleData.h" + +static int +memb_snapshots_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 32UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_snapshots_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_snapshots_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_9 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_9 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_snapshots_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_snapshots_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_9 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_9 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_snapshots_7[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Snapshot, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_snapshots_tags_7[] = { + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_snapshots_specs_7 = { + sizeof(struct ProbeVehicleData__snapshots), + offsetof(struct ProbeVehicleData__snapshots, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_snapshots_7 = { + "snapshots", + "snapshots", + &asn_OP_SEQUENCE_OF, + asn_DEF_snapshots_tags_7, + sizeof(asn_DEF_snapshots_tags_7) + /sizeof(asn_DEF_snapshots_tags_7[0]) - 1, /* 1 */ + asn_DEF_snapshots_tags_7, /* Same as above */ + sizeof(asn_DEF_snapshots_tags_7) + /sizeof(asn_DEF_snapshots_tags_7[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_snapshots_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_snapshots_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_snapshots_7, + 1, /* Single element */ + &asn_SPC_snapshots_specs_7 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regional_9[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_ProbeVehicleData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_9[] = { + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_9 = { + sizeof(struct ProbeVehicleData__regional), + offsetof(struct ProbeVehicleData__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_9 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_9, + sizeof(asn_DEF_regional_tags_9) + /sizeof(asn_DEF_regional_tags_9[0]) - 1, /* 1 */ + asn_DEF_regional_tags_9, /* Same as above */ + sizeof(asn_DEF_regional_tags_9) + /sizeof(asn_DEF_regional_tags_9[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_9, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_9, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_9, + 1, /* Single element */ + &asn_SPC_regional_specs_9 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ProbeVehicleData_1[] = { + { ATF_POINTER, 3, offsetof(struct ProbeVehicleData, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_POINTER, 2, offsetof(struct ProbeVehicleData, segNum), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProbeSegmentNumber, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "segNum" + }, + { ATF_POINTER, 1, offsetof(struct ProbeVehicleData, probeID), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleIdent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "probeID" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProbeVehicleData, startVector), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FullPositionVector, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startVector" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProbeVehicleData, vehicleType), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleClassification, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleType" + }, + { ATF_NOFLAGS, 0, offsetof(struct ProbeVehicleData, snapshots), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + 0, + &asn_DEF_snapshots_7, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_snapshots_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_snapshots_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_snapshots_constraint_1 + }, + 0, 0, /* No default value */ + "snapshots" + }, + { ATF_POINTER, 1, offsetof(struct ProbeVehicleData, regional), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + 0, + &asn_DEF_regional_9, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_9, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_9, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_ProbeVehicleData_oms_1[] = { 0, 1, 2, 6 }; +static const ber_tlv_tag_t asn_DEF_ProbeVehicleData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ProbeVehicleData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* segNum */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* probeID */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* startVector */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* vehicleType */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* snapshots */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ProbeVehicleData_specs_1 = { + sizeof(struct ProbeVehicleData), + offsetof(struct ProbeVehicleData, _asn_ctx), + asn_MAP_ProbeVehicleData_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_ProbeVehicleData_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ProbeVehicleData = { + "ProbeVehicleData", + "ProbeVehicleData", + &asn_OP_SEQUENCE, + asn_DEF_ProbeVehicleData_tags_1, + sizeof(asn_DEF_ProbeVehicleData_tags_1) + /sizeof(asn_DEF_ProbeVehicleData_tags_1[0]), /* 1 */ + asn_DEF_ProbeVehicleData_tags_1, /* Same as above */ + sizeof(asn_DEF_ProbeVehicleData_tags_1) + /sizeof(asn_DEF_ProbeVehicleData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ProbeVehicleData_1, + 7, /* Elements count */ + &asn_SPC_ProbeVehicleData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ProbeVehicleData.h b/src/tmx/Asn_J2735/src/r2024/ProbeVehicleData.h deleted file mode 100644 index a9cfc80f6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ProbeVehicleData.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ProbeVehicleData_H_ -#define _ProbeVehicleData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "MinuteOfTheYear.h" -#include "ProbeSegmentNumber.h" -#include "FullPositionVector.h" -#include "VehicleClassification.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct VehicleIdent; -struct Snapshot; -struct Reg_ProbeVehicleData; - -/* ProbeVehicleData */ -typedef struct ProbeVehicleData { - MinuteOfTheYear_t *timeStamp; /* OPTIONAL */ - ProbeSegmentNumber_t *segNum; /* OPTIONAL */ - struct VehicleIdent *probeID; /* OPTIONAL */ - FullPositionVector_t startVector; - VehicleClassification_t vehicleType; - struct ProbeVehicleData__snapshots { - A_SEQUENCE_OF(struct Snapshot) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } snapshots; - struct ProbeVehicleData__regional { - A_SEQUENCE_OF(struct Reg_ProbeVehicleData) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ProbeVehicleData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ProbeVehicleData; -extern asn_SEQUENCE_specifics_t asn_SPC_ProbeVehicleData_specs_1; -extern asn_TYPE_member_t asn_MBR_ProbeVehicleData_1[7]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "VehicleIdent.h" -#include "Snapshot.h" -#include "RegionalExtension.h" - -#endif /* _ProbeVehicleData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PropelledInformation.c b/src/tmx/Asn_J2735/src/r2024/PropelledInformation.c new file mode 100644 index 000000000..97820b216 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PropelledInformation.c @@ -0,0 +1,111 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PropelledInformation.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PropelledInformation_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PropelledInformation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_PropelledInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PropelledInformation, choice.human), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HumanPropelledType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "human" + }, + { ATF_NOFLAGS, 0, offsetof(struct PropelledInformation, choice.animal), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AnimalPropelledType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "animal" + }, + { ATF_NOFLAGS, 0, offsetof(struct PropelledInformation, choice.motor), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MotorizedPropelledType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "motor" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_PropelledInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* human */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* animal */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* motor */ +}; +asn_CHOICE_specifics_t asn_SPC_PropelledInformation_specs_1 = { + sizeof(struct PropelledInformation), + offsetof(struct PropelledInformation, _asn_ctx), + offsetof(struct PropelledInformation, present), + sizeof(((struct PropelledInformation *)0)->present), + asn_MAP_PropelledInformation_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, + 3 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_PropelledInformation = { + "PropelledInformation", + "PropelledInformation", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PropelledInformation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PropelledInformation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_PropelledInformation_1, + 3, /* Elements count */ + &asn_SPC_PropelledInformation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PropelledInformation.h b/src/tmx/Asn_J2735/src/r2024/PropelledInformation.h deleted file mode 100644 index dcfeb2e8c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PropelledInformation.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PropelledInformation_H_ -#define _PropelledInformation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "HumanPropelledType.h" -#include "AnimalPropelledType.h" -#include "MotorizedPropelledType.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PropelledInformation_PR { - PropelledInformation_PR_NOTHING, /* No components present */ - PropelledInformation_PR_human, - PropelledInformation_PR_animal, - PropelledInformation_PR_motor - /* Extensions may appear below */ - -} PropelledInformation_PR; - -/* PropelledInformation */ -typedef struct PropelledInformation { - PropelledInformation_PR present; - union PropelledInformation_u { - HumanPropelledType_t human; - AnimalPropelledType_t animal; - MotorizedPropelledType_t motor; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PropelledInformation_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PropelledInformation; -extern asn_CHOICE_specifics_t asn_SPC_PropelledInformation_specs_1; -extern asn_TYPE_member_t asn_MBR_PropelledInformation_1[3]; -extern asn_per_constraints_t asn_PER_type_PropelledInformation_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _PropelledInformation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Provider.c b/src/tmx/Asn_J2735/src/r2024/Provider.c new file mode 100644 index 000000000..fd6f95806 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Provider.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Provider.h" + +asn_TYPE_member_t asn_MBR_Provider_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Provider, countryCode), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CountryCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "countryCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct Provider, providerIdentifier), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IssuerIdentifier, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "providerIdentifier" + }, +}; +static const ber_tlv_tag_t asn_DEF_Provider_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Provider_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* countryCode */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* providerIdentifier */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Provider_specs_1 = { + sizeof(struct Provider), + offsetof(struct Provider, _asn_ctx), + asn_MAP_Provider_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Provider = { + "Provider", + "Provider", + &asn_OP_SEQUENCE, + asn_DEF_Provider_tags_1, + sizeof(asn_DEF_Provider_tags_1) + /sizeof(asn_DEF_Provider_tags_1[0]), /* 1 */ + asn_DEF_Provider_tags_1, /* Same as above */ + sizeof(asn_DEF_Provider_tags_1) + /sizeof(asn_DEF_Provider_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Provider_1, + 2, /* Elements count */ + &asn_SPC_Provider_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Provider.h b/src/tmx/Asn_J2735/src/r2024/Provider.h deleted file mode 100644 index 5805da6cf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Provider.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Provider_H_ -#define _Provider_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "CountryCode.h" -#include "IssuerIdentifier.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Provider */ -typedef struct Provider { - CountryCode_t countryCode; - IssuerIdentifier_t providerIdentifier; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Provider_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Provider; -extern asn_SEQUENCE_specifics_t asn_SPC_Provider_specs_1; -extern asn_TYPE_member_t asn_MBR_Provider_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Provider_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PublicSafetyAndRoadWorkerActivity.c b/src/tmx/Asn_J2735/src/r2024/PublicSafetyAndRoadWorkerActivity.c new file mode 100644 index 000000000..954dca8a2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PublicSafetyAndRoadWorkerActivity.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PublicSafetyAndRoadWorkerActivity.h" + +int +PublicSafetyAndRoadWorkerActivity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 6UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PublicSafetyAndRoadWorkerActivity_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PublicSafetyAndRoadWorkerActivity_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 6, 6 } /* (SIZE(6..6,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_PublicSafetyAndRoadWorkerActivity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PublicSafetyAndRoadWorkerActivity = { + "PublicSafetyAndRoadWorkerActivity", + "PublicSafetyAndRoadWorkerActivity", + &asn_OP_BIT_STRING, + asn_DEF_PublicSafetyAndRoadWorkerActivity_tags_1, + sizeof(asn_DEF_PublicSafetyAndRoadWorkerActivity_tags_1) + /sizeof(asn_DEF_PublicSafetyAndRoadWorkerActivity_tags_1[0]), /* 1 */ + asn_DEF_PublicSafetyAndRoadWorkerActivity_tags_1, /* Same as above */ + sizeof(asn_DEF_PublicSafetyAndRoadWorkerActivity_tags_1) + /sizeof(asn_DEF_PublicSafetyAndRoadWorkerActivity_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PublicSafetyAndRoadWorkerActivity_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PublicSafetyAndRoadWorkerActivity_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + PublicSafetyAndRoadWorkerActivity_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PublicSafetyAndRoadWorkerActivity.h b/src/tmx/Asn_J2735/src/r2024/PublicSafetyAndRoadWorkerActivity.h deleted file mode 100644 index dde4b1255..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PublicSafetyAndRoadWorkerActivity.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PublicSafetyAndRoadWorkerActivity_H_ -#define _PublicSafetyAndRoadWorkerActivity_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PublicSafetyAndRoadWorkerActivity { - PublicSafetyAndRoadWorkerActivity_unavailable = 0, - PublicSafetyAndRoadWorkerActivity_workingOnRoad = 1, - PublicSafetyAndRoadWorkerActivity_settingUpClosures = 2, - PublicSafetyAndRoadWorkerActivity_respondingToEvents = 3, - PublicSafetyAndRoadWorkerActivity_directingTraffic = 4, - PublicSafetyAndRoadWorkerActivity_otherActivities = 5 -} e_PublicSafetyAndRoadWorkerActivity; - -/* PublicSafetyAndRoadWorkerActivity */ -typedef BIT_STRING_t PublicSafetyAndRoadWorkerActivity_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PublicSafetyAndRoadWorkerActivity_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PublicSafetyAndRoadWorkerActivity; -asn_struct_free_f PublicSafetyAndRoadWorkerActivity_free; -asn_struct_print_f PublicSafetyAndRoadWorkerActivity_print; -asn_constr_check_f PublicSafetyAndRoadWorkerActivity_constraint; -ber_type_decoder_f PublicSafetyAndRoadWorkerActivity_decode_ber; -der_type_encoder_f PublicSafetyAndRoadWorkerActivity_encode_der; -xer_type_decoder_f PublicSafetyAndRoadWorkerActivity_decode_xer; -xer_type_encoder_f PublicSafetyAndRoadWorkerActivity_encode_xer; -oer_type_decoder_f PublicSafetyAndRoadWorkerActivity_decode_oer; -oer_type_encoder_f PublicSafetyAndRoadWorkerActivity_encode_oer; -per_type_decoder_f PublicSafetyAndRoadWorkerActivity_decode_uper; -per_type_encoder_f PublicSafetyAndRoadWorkerActivity_encode_uper; -per_type_decoder_f PublicSafetyAndRoadWorkerActivity_decode_aper; -per_type_encoder_f PublicSafetyAndRoadWorkerActivity_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PublicSafetyAndRoadWorkerActivity_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PublicSafetyDirectingTrafficSubType.c b/src/tmx/Asn_J2735/src/r2024/PublicSafetyDirectingTrafficSubType.c new file mode 100644 index 000000000..6b454666b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PublicSafetyDirectingTrafficSubType.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PublicSafetyDirectingTrafficSubType.h" + +int +PublicSafetyDirectingTrafficSubType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 7UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PublicSafetyDirectingTrafficSubType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PublicSafetyDirectingTrafficSubType_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 7, 7 } /* (SIZE(7..7,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_PublicSafetyDirectingTrafficSubType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PublicSafetyDirectingTrafficSubType = { + "PublicSafetyDirectingTrafficSubType", + "PublicSafetyDirectingTrafficSubType", + &asn_OP_BIT_STRING, + asn_DEF_PublicSafetyDirectingTrafficSubType_tags_1, + sizeof(asn_DEF_PublicSafetyDirectingTrafficSubType_tags_1) + /sizeof(asn_DEF_PublicSafetyDirectingTrafficSubType_tags_1[0]), /* 1 */ + asn_DEF_PublicSafetyDirectingTrafficSubType_tags_1, /* Same as above */ + sizeof(asn_DEF_PublicSafetyDirectingTrafficSubType_tags_1) + /sizeof(asn_DEF_PublicSafetyDirectingTrafficSubType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PublicSafetyDirectingTrafficSubType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PublicSafetyDirectingTrafficSubType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + PublicSafetyDirectingTrafficSubType_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PublicSafetyDirectingTrafficSubType.h b/src/tmx/Asn_J2735/src/r2024/PublicSafetyDirectingTrafficSubType.h deleted file mode 100644 index 61582829f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PublicSafetyDirectingTrafficSubType.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PublicSafetyDirectingTrafficSubType_H_ -#define _PublicSafetyDirectingTrafficSubType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PublicSafetyDirectingTrafficSubType { - PublicSafetyDirectingTrafficSubType_unavailable = 0, - PublicSafetyDirectingTrafficSubType_policeAndTrafficOfficers = 1, - PublicSafetyDirectingTrafficSubType_trafficControlPersons = 2, - PublicSafetyDirectingTrafficSubType_railroadCrossingGuards = 3, - PublicSafetyDirectingTrafficSubType_civilDefenseNationalGuardMilitaryPolice = 4, - PublicSafetyDirectingTrafficSubType_emergencyOrganizationPersonnel = 5, - PublicSafetyDirectingTrafficSubType_highwayServiceVehiclePersonnel = 6 -} e_PublicSafetyDirectingTrafficSubType; - -/* PublicSafetyDirectingTrafficSubType */ -typedef BIT_STRING_t PublicSafetyDirectingTrafficSubType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PublicSafetyDirectingTrafficSubType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PublicSafetyDirectingTrafficSubType; -asn_struct_free_f PublicSafetyDirectingTrafficSubType_free; -asn_struct_print_f PublicSafetyDirectingTrafficSubType_print; -asn_constr_check_f PublicSafetyDirectingTrafficSubType_constraint; -ber_type_decoder_f PublicSafetyDirectingTrafficSubType_decode_ber; -der_type_encoder_f PublicSafetyDirectingTrafficSubType_encode_der; -xer_type_decoder_f PublicSafetyDirectingTrafficSubType_decode_xer; -xer_type_encoder_f PublicSafetyDirectingTrafficSubType_encode_xer; -oer_type_decoder_f PublicSafetyDirectingTrafficSubType_decode_oer; -oer_type_encoder_f PublicSafetyDirectingTrafficSubType_encode_oer; -per_type_decoder_f PublicSafetyDirectingTrafficSubType_decode_uper; -per_type_encoder_f PublicSafetyDirectingTrafficSubType_encode_uper; -per_type_decoder_f PublicSafetyDirectingTrafficSubType_decode_aper; -per_type_encoder_f PublicSafetyDirectingTrafficSubType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PublicSafetyDirectingTrafficSubType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PublicSafetyEventResponderWorkerType.c b/src/tmx/Asn_J2735/src/r2024/PublicSafetyEventResponderWorkerType.c new file mode 100644 index 000000000..2b9b8fe1c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PublicSafetyEventResponderWorkerType.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PublicSafetyEventResponderWorkerType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_PublicSafetyEventResponderWorkerType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_PublicSafetyEventResponderWorkerType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_PublicSafetyEventResponderWorkerType_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 11, "towOperater" }, + { 2, 16, "fireAndEMSWorker" }, + { 3, 10, "aDOTWorker" }, + { 4, 14, "lawEnforcement" }, + { 5, 15, "hazmatResponder" }, + { 6, 19, "animalControlWorker" }, + { 7, 14, "otherPersonnel" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_PublicSafetyEventResponderWorkerType_enum2value_1[] = { + 3, /* aDOTWorker(3) */ + 6, /* animalControlWorker(6) */ + 2, /* fireAndEMSWorker(2) */ + 5, /* hazmatResponder(5) */ + 4, /* lawEnforcement(4) */ + 7, /* otherPersonnel(7) */ + 1, /* towOperater(1) */ + 0 /* unavailable(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_PublicSafetyEventResponderWorkerType_specs_1 = { + asn_MAP_PublicSafetyEventResponderWorkerType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_PublicSafetyEventResponderWorkerType_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 9, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_PublicSafetyEventResponderWorkerType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_PublicSafetyEventResponderWorkerType = { + "PublicSafetyEventResponderWorkerType", + "PublicSafetyEventResponderWorkerType", + &asn_OP_NativeEnumerated, + asn_DEF_PublicSafetyEventResponderWorkerType_tags_1, + sizeof(asn_DEF_PublicSafetyEventResponderWorkerType_tags_1) + /sizeof(asn_DEF_PublicSafetyEventResponderWorkerType_tags_1[0]), /* 1 */ + asn_DEF_PublicSafetyEventResponderWorkerType_tags_1, /* Same as above */ + sizeof(asn_DEF_PublicSafetyEventResponderWorkerType_tags_1) + /sizeof(asn_DEF_PublicSafetyEventResponderWorkerType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_PublicSafetyEventResponderWorkerType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_PublicSafetyEventResponderWorkerType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_PublicSafetyEventResponderWorkerType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PublicSafetyEventResponderWorkerType.h b/src/tmx/Asn_J2735/src/r2024/PublicSafetyEventResponderWorkerType.h deleted file mode 100644 index dfc55a10d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PublicSafetyEventResponderWorkerType.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PublicSafetyEventResponderWorkerType_H_ -#define _PublicSafetyEventResponderWorkerType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum PublicSafetyEventResponderWorkerType { - PublicSafetyEventResponderWorkerType_unavailable = 0, - PublicSafetyEventResponderWorkerType_towOperater = 1, - PublicSafetyEventResponderWorkerType_fireAndEMSWorker = 2, - PublicSafetyEventResponderWorkerType_aDOTWorker = 3, - PublicSafetyEventResponderWorkerType_lawEnforcement = 4, - PublicSafetyEventResponderWorkerType_hazmatResponder = 5, - PublicSafetyEventResponderWorkerType_animalControlWorker = 6, - PublicSafetyEventResponderWorkerType_otherPersonnel = 7 - /* - * Enumeration is extensible - */ -} e_PublicSafetyEventResponderWorkerType; - -/* PublicSafetyEventResponderWorkerType */ -typedef long PublicSafetyEventResponderWorkerType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_PublicSafetyEventResponderWorkerType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_PublicSafetyEventResponderWorkerType; -extern const asn_INTEGER_specifics_t asn_SPC_PublicSafetyEventResponderWorkerType_specs_1; -asn_struct_free_f PublicSafetyEventResponderWorkerType_free; -asn_struct_print_f PublicSafetyEventResponderWorkerType_print; -asn_constr_check_f PublicSafetyEventResponderWorkerType_constraint; -ber_type_decoder_f PublicSafetyEventResponderWorkerType_decode_ber; -der_type_encoder_f PublicSafetyEventResponderWorkerType_encode_der; -xer_type_decoder_f PublicSafetyEventResponderWorkerType_decode_xer; -xer_type_encoder_f PublicSafetyEventResponderWorkerType_encode_xer; -oer_type_decoder_f PublicSafetyEventResponderWorkerType_decode_oer; -oer_type_encoder_f PublicSafetyEventResponderWorkerType_encode_oer; -per_type_decoder_f PublicSafetyEventResponderWorkerType_decode_uper; -per_type_encoder_f PublicSafetyEventResponderWorkerType_encode_uper; -per_type_decoder_f PublicSafetyEventResponderWorkerType_decode_aper; -per_type_encoder_f PublicSafetyEventResponderWorkerType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _PublicSafetyEventResponderWorkerType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/PurseBalance.c b/src/tmx/Asn_J2735/src/r2024/PurseBalance.c new file mode 100644 index 000000000..b513cc36a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/PurseBalance.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "PurseBalance.h" + +asn_TYPE_member_t asn_MBR_PurseBalance_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct PurseBalance, purseValue), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_SignedValue, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "purseValue" + }, + { ATF_NOFLAGS, 0, offsetof(struct PurseBalance, purseUnit), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PayUnit, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "purseUnit" + }, +}; +static const ber_tlv_tag_t asn_DEF_PurseBalance_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_PurseBalance_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* purseValue */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* purseUnit */ +}; +asn_SEQUENCE_specifics_t asn_SPC_PurseBalance_specs_1 = { + sizeof(struct PurseBalance), + offsetof(struct PurseBalance, _asn_ctx), + asn_MAP_PurseBalance_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_PurseBalance = { + "PurseBalance", + "PurseBalance", + &asn_OP_SEQUENCE, + asn_DEF_PurseBalance_tags_1, + sizeof(asn_DEF_PurseBalance_tags_1) + /sizeof(asn_DEF_PurseBalance_tags_1[0]), /* 1 */ + asn_DEF_PurseBalance_tags_1, /* Same as above */ + sizeof(asn_DEF_PurseBalance_tags_1) + /sizeof(asn_DEF_PurseBalance_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_PurseBalance_1, + 2, /* Elements count */ + &asn_SPC_PurseBalance_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/PurseBalance.h b/src/tmx/Asn_J2735/src/r2024/PurseBalance.h deleted file mode 100644 index e71751503..000000000 --- a/src/tmx/Asn_J2735/src/r2024/PurseBalance.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _PurseBalance_H_ -#define _PurseBalance_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SignedValue.h" -#include "PayUnit.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* PurseBalance */ -typedef struct PurseBalance { - SignedValue_t purseValue; - PayUnit_t purseUnit; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} PurseBalance_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_PurseBalance; -extern asn_SEQUENCE_specifics_t asn_SPC_PurseBalance_specs_1; -extern asn_TYPE_member_t asn_MBR_PurseBalance_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _PurseBalance_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Qualifiers.c b/src/tmx/Asn_J2735/src/r2024/Qualifiers.c new file mode 100644 index 000000000..884847720 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Qualifiers.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Qualifiers.h" + +int +Qualifiers_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Qualifiers_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Qualifiers_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Qualifiers_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Qualifiers = { + "Qualifiers", + "Qualifiers", + &asn_OP_NativeInteger, + asn_DEF_Qualifiers_tags_1, + sizeof(asn_DEF_Qualifiers_tags_1) + /sizeof(asn_DEF_Qualifiers_tags_1[0]), /* 1 */ + asn_DEF_Qualifiers_tags_1, /* Same as above */ + sizeof(asn_DEF_Qualifiers_tags_1) + /sizeof(asn_DEF_Qualifiers_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Qualifiers_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Qualifiers_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Qualifiers_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Qualifiers.h b/src/tmx/Asn_J2735/src/r2024/Qualifiers.h deleted file mode 100644 index 194a47195..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Qualifiers.h +++ /dev/null @@ -1,136 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Qualifiers_H_ -#define _Qualifiers_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Qualifiers { - Qualifiers_above = 7681, - Qualifiers_below = 7682, - Qualifiers_in = 7683, - Qualifiers_around = 7684, - Qualifiers_after = 7685, - Qualifiers_before = 7686, - Qualifiers_at = 7687, - Qualifiers_on = 7688, - Qualifiers_near = 7689, - Qualifiers_from_the = 7690, - Qualifiers_terminal = 7691, - Qualifiers_falling_slowly = 7692, - Qualifiers_falling = 7693, - Qualifiers_falling_quickly = 7694, - Qualifiers_rising_slowly = 7695, - Qualifiers_rising = 7696, - Qualifiers_rising_quickly = 7697, - Qualifiers_steady = 7698, - Qualifiers_likely = 7699, - Qualifiers_changing_to = 7700, - Qualifiers_mostly = 7701, - Qualifiers_partly = 7702, - Qualifiers_minus = 7703, - Qualifiers_weather_ended = 7704, - Qualifiers_expected = 7705, - Qualifiers_low = 7706, - Qualifiers_mid = 7707, - Qualifiers_high = 7708, - Qualifiers_upper = 7709, - Qualifiers_middle = 7765, - Qualifiers_lower = 7764, - Qualifiers_unseasonably = 7710, - Qualifiers_reported = 7711, - Qualifiers_advice = 7712, - Qualifiers_due_to = 7713, - Qualifiers_proceed_to = 7714, - Qualifiers_transferred_to = 7715, - Qualifiers_use = 7716, - Qualifiers_affecting = 7717, - Qualifiers_blocking = 7718, - Qualifiers_connecting = 7719, - Qualifiers_finished = 7720, - Qualifiers_for = 7721, - Qualifiers_or = 7722, - Qualifiers_and = 7723, - Qualifiers_later = 7724, - Qualifiers_level = 7725, - Qualifiers_shortly = 7726, - Qualifiers_soon = 7727, - Qualifiers_service = 7728, - Qualifiers_graffiti = 7733, - Qualifiers_damaged = 7729, - Qualifiers_out_of_order = 7730, - Qualifiers_on_State_right_of_way = 7732, - Qualifiers_found_property = 7734, - Qualifiers_vandalism = 7731, - Qualifiers_major = 7766, - Qualifiers_minor = 7767, - Qualifiers_begin_time = 7735, - Qualifiers_added = 7736, - Qualifiers_end_time = 7737, - Qualifiers_no = 7738, - Qualifiers_do_not = 7739, - Qualifiers_block = 7740, - Qualifiers_except = 7741, - Qualifiers_day = 7742, - Qualifiers_night = 7743, - Qualifiers_any_time = 7744, - Qualifiers_has = 7745, - Qualifiers_must = 7757, - Qualifiers_may_have = 7746, - Qualifiers_may_exceed = 7759, - Qualifiers_only = 7747, - Qualifiers_lifted = 7748, - Qualifiers_empty = 7749, - Qualifiers_turning = 7750, - Qualifiers_u_turn = 7751, - Qualifiers_wait_for = 7752, - Qualifiers_when_flashing = 7753, - Qualifiers_duration = 7754, - Qualifiers_cross = 7755, - Qualifiers_when_wet = 7756, - Qualifiers_oncoming = 7758, - Qualifiers_to_request = 7760, - Qualifiers_exempt = 7761, - Qualifiers_skewed = 7762, - Qualifiers_when_children_are_present = 7763 -} e_Qualifiers; - -/* Qualifiers */ -typedef long Qualifiers_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Qualifiers; -asn_struct_free_f Qualifiers_free; -asn_struct_print_f Qualifiers_print; -asn_constr_check_f Qualifiers_constraint; -ber_type_decoder_f Qualifiers_decode_ber; -der_type_encoder_f Qualifiers_encode_der; -xer_type_decoder_f Qualifiers_decode_xer; -xer_type_encoder_f Qualifiers_encode_xer; -oer_type_decoder_f Qualifiers_decode_oer; -oer_type_encoder_f Qualifiers_encode_oer; -per_type_decoder_f Qualifiers_decode_uper; -per_type_encoder_f Qualifiers_encode_uper; -per_type_decoder_f Qualifiers_decode_aper; -per_type_encoder_f Qualifiers_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Qualifiers_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID.c b/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID.c new file mode 100644 index 000000000..d58ea0447 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID.c @@ -0,0 +1,214 @@ +/*- + * Copyright (c) 2003-2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include /* for CHAR_BIT */ +#include + +/* + * RELATIVE-OID basic type description. + */ +static const ber_tlv_tag_t asn_DEF_RELATIVE_OID_tags[] = { + (ASN_TAG_CLASS_UNIVERSAL | (13 << 2)) +}; +asn_TYPE_operation_t asn_OP_RELATIVE_OID = { + ASN__PRIMITIVE_TYPE_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + RELATIVE_OID_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + OCTET_STRING_compare, /* Implemented in terms of opaque comparison */ +#if !defined(ASN_DISABLE_BER_SUPPORT) + ber_decode_primitive, + der_encode_primitive, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + RELATIVE_OID_decode_xer, + RELATIVE_OID_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + RELATIVE_OID_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + RELATIVE_OID_decode_oer, + RELATIVE_OID_encode_oer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + OCTET_STRING_decode_uper, + OCTET_STRING_encode_uper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + OCTET_STRING_decode_aper, + OCTET_STRING_encode_aper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + RELATIVE_OID_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; +asn_TYPE_descriptor_t asn_DEF_RELATIVE_OID = { + "RELATIVE-OID", + "RELATIVE_OID", + &asn_OP_RELATIVE_OID, + asn_DEF_RELATIVE_OID_tags, + sizeof(asn_DEF_RELATIVE_OID_tags) + / sizeof(asn_DEF_RELATIVE_OID_tags[0]), + asn_DEF_RELATIVE_OID_tags, /* Same as above */ + sizeof(asn_DEF_RELATIVE_OID_tags) + / sizeof(asn_DEF_RELATIVE_OID_tags[0]), + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + asn_generic_no_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + +ssize_t +RELATIVE_OID__dump_body(const RELATIVE_OID_t *st, asn_app_consume_bytes_f *cb, void *app_key) { + char scratch[32]; + size_t produced = 0; + size_t off = 0; + + for(;;) { + asn_oid_arc_t arc; + ssize_t rd = OBJECT_IDENTIFIER_get_single_arc(st->buf + off, + st->size - off, &arc); + if(rd < 0) { + return -1; + } else if(rd == 0) { + /* No more arcs. */ + break; + } else { + int ret = snprintf(scratch, sizeof(scratch), "%s%" PRIu32, + off ? "." : "", arc); + if(ret >= (ssize_t)sizeof(scratch)) { + return -1; + } + produced += ret; + off += rd; + assert(off <= st->size); + if(cb(scratch, ret, app_key) < 0) return -1; + } + } + + if(off != st->size) { + ASN_DEBUG("Could not scan to the end of Object Identifier"); + return -1; + } + + return produced; +} + +ssize_t +RELATIVE_OID_get_arcs(const RELATIVE_OID_t *st, asn_oid_arc_t *arcs, + size_t arcs_count) { + size_t num_arcs = 0; + size_t off; + + if(!st || !st->buf) { + errno = EINVAL; + return -1; + } + + for(off = 0;;) { + asn_oid_arc_t arc; + ssize_t rd = OBJECT_IDENTIFIER_get_single_arc(st->buf + off, + st->size - off, &arc); + if(rd < 0) { + return -1; + } else if(rd == 0) { + /* No more arcs. */ + break; + } else { + off += rd; + if(num_arcs < arcs_count) { + arcs[num_arcs] = arc; + } + num_arcs++; + } + } + + if(off != st->size) { + return -1; + } + + return num_arcs; +} + +int +RELATIVE_OID_set_arcs(RELATIVE_OID_t *st, const asn_oid_arc_t *arcs, + size_t arcs_count) { + uint8_t *buf; + uint8_t *bp; + size_t size; + size_t i; + + if(!st || !arcs) { + errno = EINVAL; + return -1; + } + + /* + * Roughly estimate the maximum size necessary to encode these arcs. + */ + size = ((sizeof(asn_oid_arc_t) * CHAR_BIT + 6) / 7) * arcs_count; + bp = buf = (uint8_t *)MALLOC(size + 1); + if(!buf) { + /* ENOMEM */ + return -1; + } + + /* + * Encode the arcs. + */ + for(i = 0; i < arcs_count; i++) { + ssize_t wrote = OBJECT_IDENTIFIER_set_single_arc(bp, size, arcs[i]); + if(wrote <= 0) { + FREEMEM(buf); + return -1; + } + assert((size_t)wrote <= size); + bp += wrote; + size -= wrote; + } + + /* + * Replace buffer. + */ + st->size = bp - buf; + bp = st->buf; + st->buf = buf; + st->buf[st->size] = '\0'; + if(bp) FREEMEM(bp); + + return 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID.h b/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID.h deleted file mode 100644 index 67deba429..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID.h +++ /dev/null @@ -1,85 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _RELATIVE_OID_H_ -#define _RELATIVE_OID_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Implemented via OBJECT IDENTIFIER */ -typedef OBJECT_IDENTIFIER_t RELATIVE_OID_t; - -extern asn_TYPE_descriptor_t asn_DEF_RELATIVE_OID; -extern asn_TYPE_operation_t asn_OP_RELATIVE_OID; - -ssize_t RELATIVE_OID__dump_body(const RELATIVE_OID_t *st, - asn_app_consume_bytes_f *cb, - void *app_key); - -#define RELATIVE_OID_free ASN__PRIMITIVE_TYPE_free - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -asn_struct_print_f RELATIVE_OID_print; -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -#define RELATIVE_OID_compare OCTET_STRING_compare - -#define RELATIVE_OID_constraint asn_generic_no_constraint - -#if !defined(ASN_DISABLE_BER_SUPPORT) -#define RELATIVE_OID_decode_ber ber_decode_primitive -#define RELATIVE_OID_encode_der der_encode_primitive -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -xer_type_decoder_f RELATIVE_OID_decode_xer; -xer_type_encoder_f RELATIVE_OID_encode_xer; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f RELATIVE_OID_encode_jer; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -#define RELATIVE_OID_decode_oer oer_decode_primitive -#define RELATIVE_OID_encode_oer oer_encode_primitive -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -#define RELATIVE_OID_decode_uper OCTET_STRING_decode_uper -#define RELATIVE_OID_encode_uper OCTET_STRING_encode_uper -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -#define RELATIVE_OID_decode_aper OCTET_STRING_decode_aper -#define RELATIVE_OID_encode_aper OCTET_STRING_encode_aper -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -asn_random_fill_result_t -RELATIVE_OID_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, - const asn_encoding_constraints_t *constraints, - size_t max_length); -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -/********************************** - * Some handy conversion routines * - **********************************/ - -/* See OBJECT_IDENTIFIER_get_arcs() function in OBJECT_IDENTIFIER.h */ -ssize_t RELATIVE_OID_get_arcs(const RELATIVE_OID_t *, asn_oid_arc_t *arcs, - size_t arcs_count); - -/* See OBJECT_IDENTIFIER_set_arcs() function in OBJECT_IDENTIFIER.h */ -int RELATIVE_OID_set_arcs(RELATIVE_OID_t *, const asn_oid_arc_t *arcs, - size_t arcs_count); - -#ifdef __cplusplus -} -#endif - -#endif /* _RELATIVE_OID_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID_print.c b/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID_print.c new file mode 100644 index 000000000..b570d695a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID_print.c @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +int +RELATIVE_OID_print(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, asn_app_consume_bytes_f *cb, void *app_key) { + const RELATIVE_OID_t *st = (const RELATIVE_OID_t *)sptr; + + (void)td; /* Unused argument */ + (void)ilevel; /* Unused argument */ + + if(!st || !st->buf) + return (cb("", 8, app_key) < 0) ? -1 : 0; + + /* Dump preamble */ + if(cb("{ ", 2, app_key) < 0) + return -1; + + if(RELATIVE_OID__dump_body(st, cb, app_key) < 0) + return -1; + + return (cb(" }", 2, app_key) < 0) ? -1 : 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID_rfill.c b/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID_rfill.c new file mode 100644 index 000000000..ddf6793b4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID_rfill.c @@ -0,0 +1,67 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * Generate values from the list of interesting values, or just a random value. + */ +static asn_oid_arc_t +RELATIVE_OID__biased_random_arc() { + static const uint16_t values[] = {0, 1, 127, 128, 129, 254, 255, 256}; + + switch(asn_random_between(0, 2)) { + case 0: + return values[asn_random_between( + 0, sizeof(values) / sizeof(values[0]) - 1)]; + case 1: + return asn_random_between(0, UINT_MAX); + case 2: + default: + return UINT_MAX; + } +} + +asn_random_fill_result_t +RELATIVE_OID_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + asn_random_fill_result_t result_ok = {ARFILL_OK, 1}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + RELATIVE_OID_t *st; + const int min_arcs = 1; /* A minimum of 1 arc is required */ + asn_oid_arc_t arcs[3]; + size_t arcs_len = + asn_random_between(min_arcs, sizeof(arcs) / sizeof(arcs[0])); + size_t i; + + (void)constraints; + + if(max_length < arcs_len) return result_skipped; + + if(*sptr) { + st = *sptr; + } else { + st = CALLOC(1, sizeof(*st)); + } + + for(i = 0; i < arcs_len; i++) { + arcs[i] = RELATIVE_OID__biased_random_arc(); + } + + if(RELATIVE_OID_set_arcs(st, arcs, arcs_len)) { + if(st != *sptr) { + ASN_STRUCT_FREE(*td, st); + } + return result_failed; + } + + *sptr = st; + + result_ok.length = st->size; + return result_ok; +} diff --git a/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID_xer.c b/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID_xer.c new file mode 100644 index 000000000..6d8388951 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RELATIVE-OID_xer.c @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +static enum xer_pbd_rval +RELATIVE_OID__xer_body_decode(const asn_TYPE_descriptor_t *td, void *sptr, + const void *chunk_buf, size_t chunk_size) { + RELATIVE_OID_t *st = (RELATIVE_OID_t *)sptr; + const char *chunk_end = (const char *)chunk_buf + chunk_size; + const char *endptr; + asn_oid_arc_t s_arcs[6]; + asn_oid_arc_t *arcs = s_arcs; + ssize_t num_arcs; + int ret; + + (void)td; + + num_arcs = OBJECT_IDENTIFIER_parse_arcs( + (const char *)chunk_buf, chunk_size, arcs, + sizeof(s_arcs) / sizeof(s_arcs[0]), &endptr); + if(num_arcs < 0) { + /* Expecting at least one arc arcs */ + return XPBD_BROKEN_ENCODING; + } else if(num_arcs == 0) { + return XPBD_NOT_BODY_IGNORE; + } + assert(endptr == chunk_end); + + if((size_t)num_arcs > sizeof(s_arcs) / sizeof(s_arcs[0])) { + arcs = (asn_oid_arc_t *)MALLOC(num_arcs * sizeof(arcs[0])); + if(!arcs) return XPBD_SYSTEM_FAILURE; + ret = OBJECT_IDENTIFIER_parse_arcs((const char *)chunk_buf, chunk_size, + arcs, num_arcs, &endptr); + if(ret != num_arcs) { + return XPBD_SYSTEM_FAILURE; /* assert?.. */ + } + } + + /* + * Convert arcs into BER representation. + */ + ret = RELATIVE_OID_set_arcs(st, arcs, num_arcs); + if(arcs != s_arcs) FREEMEM(arcs); + + return ret ? XPBD_SYSTEM_FAILURE : XPBD_BODY_CONSUMED; +} + +asn_dec_rval_t +RELATIVE_OID_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const char *opt_mname, const void *buf_ptr, + size_t size) { + return xer_decode_primitive(opt_codec_ctx, td, + sptr, sizeof(RELATIVE_OID_t), opt_mname, + buf_ptr, size, RELATIVE_OID__xer_body_decode); +} + +asn_enc_rval_t +RELATIVE_OID_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + const RELATIVE_OID_t *st = (const RELATIVE_OID_t *)sptr; + asn_enc_rval_t er = {0,0,0}; + + (void)ilevel; /* Unused argument */ + (void)flags; /* Unused argument */ + + if(!st || !st->buf) + ASN__ENCODE_FAILED; + + er.encoded = RELATIVE_OID__dump_body(st, cb, app_key); + if(er.encoded < 0) ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/RSMLanePosition.c b/src/tmx/Asn_J2735/src/r2024/RSMLanePosition.c new file mode 100644 index 000000000..d6b995f8a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RSMLanePosition.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RSMLanePosition.h" + +int +RSMLanePosition_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 32L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RSMLanePosition_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..32) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RSMLanePosition_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (1..32) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RSMLanePosition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RSMLanePosition = { + "RSMLanePosition", + "RSMLanePosition", + &asn_OP_NativeInteger, + asn_DEF_RSMLanePosition_tags_1, + sizeof(asn_DEF_RSMLanePosition_tags_1) + /sizeof(asn_DEF_RSMLanePosition_tags_1[0]), /* 1 */ + asn_DEF_RSMLanePosition_tags_1, /* Same as above */ + sizeof(asn_DEF_RSMLanePosition_tags_1) + /sizeof(asn_DEF_RSMLanePosition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RSMLanePosition_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RSMLanePosition_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RSMLanePosition_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RSMLanePosition.h b/src/tmx/Asn_J2735/src/r2024/RSMLanePosition.h deleted file mode 100644 index 77756ee4d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RSMLanePosition.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RSMLanePosition_H_ -#define _RSMLanePosition_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RSMLanePosition */ -typedef long RSMLanePosition_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RSMLanePosition_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RSMLanePosition; -asn_struct_free_f RSMLanePosition_free; -asn_struct_print_f RSMLanePosition_print; -asn_constr_check_f RSMLanePosition_constraint; -ber_type_decoder_f RSMLanePosition_decode_ber; -der_type_encoder_f RSMLanePosition_encode_der; -xer_type_decoder_f RSMLanePosition_decode_xer; -xer_type_encoder_f RSMLanePosition_encode_xer; -oer_type_decoder_f RSMLanePosition_decode_oer; -oer_type_encoder_f RSMLanePosition_encode_oer; -per_type_decoder_f RSMLanePosition_decode_uper; -per_type_encoder_f RSMLanePosition_encode_uper; -per_type_decoder_f RSMLanePosition_decode_aper; -per_type_encoder_f RSMLanePosition_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RSMLanePosition_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RSMPolygon.c b/src/tmx/Asn_J2735/src/r2024/RSMPolygon.c new file mode 100644 index 000000000..315ed2c00 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RSMPolygon.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RSMPolygon.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RSMPolygon_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(3..63)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RSMPolygon_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 3, 63 } /* (SIZE(3..63)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RSMPolygon_1[] = { + { ATF_POINTER, 0, 0, + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_NodePointLLE, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RSMPolygon_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_RSMPolygon_specs_1 = { + sizeof(struct RSMPolygon), + offsetof(struct RSMPolygon, _asn_ctx), + 2, /* XER encoding is XMLValueList */ +}; +asn_TYPE_descriptor_t asn_DEF_RSMPolygon = { + "RSMPolygon", + "RSMPolygon", + &asn_OP_SEQUENCE_OF, + asn_DEF_RSMPolygon_tags_1, + sizeof(asn_DEF_RSMPolygon_tags_1) + /sizeof(asn_DEF_RSMPolygon_tags_1[0]), /* 1 */ + asn_DEF_RSMPolygon_tags_1, /* Same as above */ + sizeof(asn_DEF_RSMPolygon_tags_1) + /sizeof(asn_DEF_RSMPolygon_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RSMPolygon_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RSMPolygon_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_RSMPolygon_1, + 1, /* Single element */ + &asn_SPC_RSMPolygon_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RSMPolygon.h b/src/tmx/Asn_J2735/src/r2024/RSMPolygon.h deleted file mode 100644 index 9360ddff7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RSMPolygon.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RSMPolygon_H_ -#define _RSMPolygon_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct NodePointLLE; - -/* RSMPolygon */ -typedef struct RSMPolygon { - A_SEQUENCE_OF(struct NodePointLLE) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RSMPolygon_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RSMPolygon; -extern asn_SET_OF_specifics_t asn_SPC_RSMPolygon_specs_1; -extern asn_TYPE_member_t asn_MBR_RSMPolygon_1[1]; -extern asn_per_constraints_t asn_PER_type_RSMPolygon_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "NodePointLLE.h" - -#endif /* _RSMPolygon_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RTCM-Revision.c b/src/tmx/Asn_J2735/src/r2024/RTCM-Revision.c new file mode 100644 index 000000000..ab8bc99f1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RTCM-Revision.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RTCMcorrections" + * found in "J2735-RTCMcorrections-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RTCM-Revision.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RTCM_Revision_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RTCM_Revision_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_RTCM_Revision_value2enum_1[] = { + { 0, 7, "unknown" }, + { 1, 8, "rtcmRev2" }, + { 2, 8, "rtcmRev3" }, + { 3, 8, "reserved" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RTCM_Revision_enum2value_1[] = { + 3, /* reserved(3) */ + 1, /* rtcmRev2(1) */ + 2, /* rtcmRev3(2) */ + 0 /* unknown(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_RTCM_Revision_specs_1 = { + asn_MAP_RTCM_Revision_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RTCM_Revision_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RTCM_Revision_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RTCM_Revision = { + "RTCM-Revision", + "RTCM-Revision", + &asn_OP_NativeEnumerated, + asn_DEF_RTCM_Revision_tags_1, + sizeof(asn_DEF_RTCM_Revision_tags_1) + /sizeof(asn_DEF_RTCM_Revision_tags_1[0]), /* 1 */ + asn_DEF_RTCM_Revision_tags_1, /* Same as above */ + sizeof(asn_DEF_RTCM_Revision_tags_1) + /sizeof(asn_DEF_RTCM_Revision_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RTCM_Revision_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RTCM_Revision_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RTCM_Revision_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RTCM-Revision.h b/src/tmx/Asn_J2735/src/r2024/RTCM-Revision.h deleted file mode 100644 index 48b6f130c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RTCM-Revision.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RTCMcorrections" - * found in "J2735-RTCMcorrections-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RTCM_Revision_H_ -#define _RTCM_Revision_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RTCM_Revision { - RTCM_Revision_unknown = 0, - RTCM_Revision_rtcmRev2 = 1, - RTCM_Revision_rtcmRev3 = 2, - RTCM_Revision_reserved = 3 - /* - * Enumeration is extensible - */ -} e_RTCM_Revision; - -/* RTCM-Revision */ -typedef long RTCM_Revision_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RTCM_Revision_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RTCM_Revision; -extern const asn_INTEGER_specifics_t asn_SPC_RTCM_Revision_specs_1; -asn_struct_free_f RTCM_Revision_free; -asn_struct_print_f RTCM_Revision_print; -asn_constr_check_f RTCM_Revision_constraint; -ber_type_decoder_f RTCM_Revision_decode_ber; -der_type_encoder_f RTCM_Revision_encode_der; -xer_type_decoder_f RTCM_Revision_decode_xer; -xer_type_encoder_f RTCM_Revision_encode_xer; -oer_type_decoder_f RTCM_Revision_decode_oer; -oer_type_encoder_f RTCM_Revision_encode_oer; -per_type_decoder_f RTCM_Revision_decode_uper; -per_type_encoder_f RTCM_Revision_encode_uper; -per_type_decoder_f RTCM_Revision_decode_aper; -per_type_encoder_f RTCM_Revision_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RTCM_Revision_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RTCMPackage.c b/src/tmx/Asn_J2735/src/r2024/RTCMPackage.c new file mode 100644 index 000000000..bae1f5da9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RTCMPackage.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RTCMPackage.h" + +asn_TYPE_member_t asn_MBR_RTCMPackage_1[] = { + { ATF_POINTER, 1, offsetof(struct RTCMPackage, rtcmHeader), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RTCMheader, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rtcmHeader" + }, + { ATF_NOFLAGS, 0, offsetof(struct RTCMPackage, msgs), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RTCMmessageList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msgs" + }, +}; +static const int asn_MAP_RTCMPackage_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_RTCMPackage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RTCMPackage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* rtcmHeader */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* msgs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RTCMPackage_specs_1 = { + sizeof(struct RTCMPackage), + offsetof(struct RTCMPackage, _asn_ctx), + asn_MAP_RTCMPackage_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_RTCMPackage_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RTCMPackage = { + "RTCMPackage", + "RTCMPackage", + &asn_OP_SEQUENCE, + asn_DEF_RTCMPackage_tags_1, + sizeof(asn_DEF_RTCMPackage_tags_1) + /sizeof(asn_DEF_RTCMPackage_tags_1[0]), /* 1 */ + asn_DEF_RTCMPackage_tags_1, /* Same as above */ + sizeof(asn_DEF_RTCMPackage_tags_1) + /sizeof(asn_DEF_RTCMPackage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RTCMPackage_1, + 2, /* Elements count */ + &asn_SPC_RTCMPackage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RTCMPackage.h b/src/tmx/Asn_J2735/src/r2024/RTCMPackage.h deleted file mode 100644 index 203704ca8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RTCMPackage.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RTCMPackage_H_ -#define _RTCMPackage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RTCMmessageList.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RTCMheader; - -/* RTCMPackage */ -typedef struct RTCMPackage { - struct RTCMheader *rtcmHeader; /* OPTIONAL */ - RTCMmessageList_t msgs; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RTCMPackage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RTCMPackage; -extern asn_SEQUENCE_specifics_t asn_SPC_RTCMPackage_specs_1; -extern asn_TYPE_member_t asn_MBR_RTCMPackage_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RTCMheader.h" - -#endif /* _RTCMPackage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RTCMcorrections.c b/src/tmx/Asn_J2735/src/r2024/RTCMcorrections.c new file mode 100644 index 000000000..79d79a22a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RTCMcorrections.c @@ -0,0 +1,279 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RTCMcorrections" + * found in "J2735-RTCMcorrections-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RTCMcorrections.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_8 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_8 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_8[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_RTCMcorrections, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_8[] = { + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_8 = { + sizeof(struct RTCMcorrections__regional), + offsetof(struct RTCMcorrections__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_8 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_8, + sizeof(asn_DEF_regional_tags_8) + /sizeof(asn_DEF_regional_tags_8[0]) - 1, /* 1 */ + asn_DEF_regional_tags_8, /* Same as above */ + sizeof(asn_DEF_regional_tags_8) + /sizeof(asn_DEF_regional_tags_8[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_8, + 1, /* Single element */ + &asn_SPC_regional_specs_8 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RTCMcorrections_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RTCMcorrections, msgCnt), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msgCnt" + }, + { ATF_NOFLAGS, 0, offsetof(struct RTCMcorrections, rev), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RTCM_Revision, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rev" + }, + { ATF_POINTER, 3, offsetof(struct RTCMcorrections, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_POINTER, 2, offsetof(struct RTCMcorrections, anchorPoint), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FullPositionVector, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "anchorPoint" + }, + { ATF_POINTER, 1, offsetof(struct RTCMcorrections, rtcmHeader), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RTCMheader, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rtcmHeader" + }, + { ATF_NOFLAGS, 0, offsetof(struct RTCMcorrections, msgs), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RTCMmessageList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msgs" + }, + { ATF_POINTER, 1, offsetof(struct RTCMcorrections, regional), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + 0, + &asn_DEF_regional_8, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_RTCMcorrections_oms_1[] = { 2, 3, 4, 6 }; +static const ber_tlv_tag_t asn_DEF_RTCMcorrections_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RTCMcorrections_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* msgCnt */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rev */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* anchorPoint */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* rtcmHeader */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* msgs */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RTCMcorrections_specs_1 = { + sizeof(struct RTCMcorrections), + offsetof(struct RTCMcorrections, _asn_ctx), + asn_MAP_RTCMcorrections_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_RTCMcorrections_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RTCMcorrections = { + "RTCMcorrections", + "RTCMcorrections", + &asn_OP_SEQUENCE, + asn_DEF_RTCMcorrections_tags_1, + sizeof(asn_DEF_RTCMcorrections_tags_1) + /sizeof(asn_DEF_RTCMcorrections_tags_1[0]), /* 1 */ + asn_DEF_RTCMcorrections_tags_1, /* Same as above */ + sizeof(asn_DEF_RTCMcorrections_tags_1) + /sizeof(asn_DEF_RTCMcorrections_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RTCMcorrections_1, + 7, /* Elements count */ + &asn_SPC_RTCMcorrections_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RTCMcorrections.h b/src/tmx/Asn_J2735/src/r2024/RTCMcorrections.h deleted file mode 100644 index a348520a3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RTCMcorrections.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RTCMcorrections" - * found in "J2735-RTCMcorrections-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RTCMcorrections_H_ -#define _RTCMcorrections_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_MsgCount.h" -#include "RTCM-Revision.h" -#include "MinuteOfTheYear.h" -#include "RTCMmessageList.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct FullPositionVector; -struct RTCMheader; -struct Reg_RTCMcorrections; - -/* RTCMcorrections */ -typedef struct RTCMcorrections { - Common_MsgCount_t msgCnt; - RTCM_Revision_t rev; - MinuteOfTheYear_t *timeStamp; /* OPTIONAL */ - struct FullPositionVector *anchorPoint; /* OPTIONAL */ - struct RTCMheader *rtcmHeader; /* OPTIONAL */ - RTCMmessageList_t msgs; - struct RTCMcorrections__regional { - A_SEQUENCE_OF(struct Reg_RTCMcorrections) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RTCMcorrections_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RTCMcorrections; -extern asn_SEQUENCE_specifics_t asn_SPC_RTCMcorrections_specs_1; -extern asn_TYPE_member_t asn_MBR_RTCMcorrections_1[7]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "FullPositionVector.h" -#include "RTCMheader.h" -#include "RegionalExtension.h" - -#endif /* _RTCMcorrections_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RTCMheader.c b/src/tmx/Asn_J2735/src/r2024/RTCMheader.c new file mode 100644 index 000000000..205897adf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RTCMheader.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RTCMheader.h" + +asn_TYPE_member_t asn_MBR_RTCMheader_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RTCMheader, status), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GNSSstatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "status" + }, + { ATF_NOFLAGS, 0, offsetof(struct RTCMheader, offsetSet), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AntennaOffsetSet, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offsetSet" + }, +}; +static const ber_tlv_tag_t asn_DEF_RTCMheader_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RTCMheader_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* status */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* offsetSet */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RTCMheader_specs_1 = { + sizeof(struct RTCMheader), + offsetof(struct RTCMheader, _asn_ctx), + asn_MAP_RTCMheader_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RTCMheader = { + "RTCMheader", + "RTCMheader", + &asn_OP_SEQUENCE, + asn_DEF_RTCMheader_tags_1, + sizeof(asn_DEF_RTCMheader_tags_1) + /sizeof(asn_DEF_RTCMheader_tags_1[0]), /* 1 */ + asn_DEF_RTCMheader_tags_1, /* Same as above */ + sizeof(asn_DEF_RTCMheader_tags_1) + /sizeof(asn_DEF_RTCMheader_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RTCMheader_1, + 2, /* Elements count */ + &asn_SPC_RTCMheader_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RTCMheader.h b/src/tmx/Asn_J2735/src/r2024/RTCMheader.h deleted file mode 100644 index a501ba36d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RTCMheader.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RTCMheader_H_ -#define _RTCMheader_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "GNSSstatus.h" -#include "AntennaOffsetSet.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RTCMheader */ -typedef struct RTCMheader { - GNSSstatus_t status; - AntennaOffsetSet_t offsetSet; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RTCMheader_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RTCMheader; -extern asn_SEQUENCE_specifics_t asn_SPC_RTCMheader_specs_1; -extern asn_TYPE_member_t asn_MBR_RTCMheader_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RTCMheader_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RTCMmessage.c b/src/tmx/Asn_J2735/src/r2024/RTCMmessage.c new file mode 100644 index 000000000..0b9eb1da4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RTCMmessage.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RTCMmessage.h" + +int +RTCMmessage_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 1023UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RTCMmessage_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..1023)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RTCMmessage_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 10, 10, 1, 1023 } /* (SIZE(1..1023)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RTCMmessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RTCMmessage = { + "RTCMmessage", + "RTCMmessage", + &asn_OP_OCTET_STRING, + asn_DEF_RTCMmessage_tags_1, + sizeof(asn_DEF_RTCMmessage_tags_1) + /sizeof(asn_DEF_RTCMmessage_tags_1[0]), /* 1 */ + asn_DEF_RTCMmessage_tags_1, /* Same as above */ + sizeof(asn_DEF_RTCMmessage_tags_1) + /sizeof(asn_DEF_RTCMmessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RTCMmessage_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RTCMmessage_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RTCMmessage_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RTCMmessage.h b/src/tmx/Asn_J2735/src/r2024/RTCMmessage.h deleted file mode 100644 index ac8956de2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RTCMmessage.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RTCMmessage_H_ -#define _RTCMmessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RTCMmessage */ -typedef OCTET_STRING_t RTCMmessage_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RTCMmessage_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RTCMmessage; -asn_struct_free_f RTCMmessage_free; -asn_struct_print_f RTCMmessage_print; -asn_constr_check_f RTCMmessage_constraint; -ber_type_decoder_f RTCMmessage_decode_ber; -der_type_encoder_f RTCMmessage_encode_der; -xer_type_decoder_f RTCMmessage_decode_xer; -xer_type_encoder_f RTCMmessage_encode_xer; -oer_type_decoder_f RTCMmessage_decode_oer; -oer_type_encoder_f RTCMmessage_encode_oer; -per_type_decoder_f RTCMmessage_decode_uper; -per_type_encoder_f RTCMmessage_encode_uper; -per_type_decoder_f RTCMmessage_decode_aper; -per_type_encoder_f RTCMmessage_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RTCMmessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RTCMmessageList.c b/src/tmx/Asn_J2735/src/r2024/RTCMmessageList.c new file mode 100644 index 000000000..feb1b26a1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RTCMmessageList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RTCMmessageList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RTCMmessageList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..5)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RTCMmessageList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 5 } /* (SIZE(1..5)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RTCMmessageList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_RTCMmessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RTCMmessageList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_RTCMmessageList_specs_1 = { + sizeof(struct RTCMmessageList), + offsetof(struct RTCMmessageList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_RTCMmessageList = { + "RTCMmessageList", + "RTCMmessageList", + &asn_OP_SEQUENCE_OF, + asn_DEF_RTCMmessageList_tags_1, + sizeof(asn_DEF_RTCMmessageList_tags_1) + /sizeof(asn_DEF_RTCMmessageList_tags_1[0]), /* 1 */ + asn_DEF_RTCMmessageList_tags_1, /* Same as above */ + sizeof(asn_DEF_RTCMmessageList_tags_1) + /sizeof(asn_DEF_RTCMmessageList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RTCMmessageList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RTCMmessageList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_RTCMmessageList_1, + 1, /* Single element */ + &asn_SPC_RTCMmessageList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RTCMmessageList.h b/src/tmx/Asn_J2735/src/r2024/RTCMmessageList.h deleted file mode 100644 index 99d9e6580..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RTCMmessageList.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RTCMmessageList_H_ -#define _RTCMmessageList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RTCMmessage.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RTCMmessageList */ -typedef struct RTCMmessageList { - A_SEQUENCE_OF(RTCMmessage_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RTCMmessageList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RTCMmessageList; -extern asn_SET_OF_specifics_t asn_SPC_RTCMmessageList_specs_1; -extern asn_TYPE_member_t asn_MBR_RTCMmessageList_1[1]; -extern asn_per_constraints_t asn_PER_type_RTCMmessageList_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _RTCMmessageList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Radius-B12.c b/src/tmx/Asn_J2735/src/r2024/Radius-B12.c new file mode 100644 index 000000000..162180c50 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Radius-B12.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Radius-B12.h" + +int +Radius_B12_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 4095L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Radius_B12_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..4095) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Radius_B12_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 4095 } /* (0..4095) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Radius_B12_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Radius_B12 = { + "Radius-B12", + "Radius-B12", + &asn_OP_NativeInteger, + asn_DEF_Radius_B12_tags_1, + sizeof(asn_DEF_Radius_B12_tags_1) + /sizeof(asn_DEF_Radius_B12_tags_1[0]), /* 1 */ + asn_DEF_Radius_B12_tags_1, /* Same as above */ + sizeof(asn_DEF_Radius_B12_tags_1) + /sizeof(asn_DEF_Radius_B12_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Radius_B12_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Radius_B12_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Radius_B12_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Radius-B12.h b/src/tmx/Asn_J2735/src/r2024/Radius-B12.h deleted file mode 100644 index 669143698..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Radius-B12.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Radius_B12_H_ -#define _Radius_B12_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Radius-B12 */ -typedef long Radius_B12_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Radius_B12_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Radius_B12; -asn_struct_free_f Radius_B12_free; -asn_struct_print_f Radius_B12_print; -asn_constr_check_f Radius_B12_constraint; -ber_type_decoder_f Radius_B12_decode_ber; -der_type_encoder_f Radius_B12_encode_der; -xer_type_decoder_f Radius_B12_decode_xer; -xer_type_encoder_f Radius_B12_encode_xer; -oer_type_decoder_f Radius_B12_decode_oer; -oer_type_encoder_f Radius_B12_encode_oer; -per_type_decoder_f Radius_B12_decode_uper; -per_type_encoder_f Radius_B12_encode_uper; -per_type_decoder_f Radius_B12_decode_aper; -per_type_encoder_f Radius_B12_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Radius_B12_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Radius.c b/src/tmx/Asn_J2735/src/r2024/Radius.c new file mode 100644 index 000000000..70b798de5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Radius.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Radius.h" + +int +Radius_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Radius_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Radius_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Radius_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Radius = { + "Radius", + "Radius", + &asn_OP_NativeInteger, + asn_DEF_Radius_tags_1, + sizeof(asn_DEF_Radius_tags_1) + /sizeof(asn_DEF_Radius_tags_1[0]), /* 1 */ + asn_DEF_Radius_tags_1, /* Same as above */ + sizeof(asn_DEF_Radius_tags_1) + /sizeof(asn_DEF_Radius_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Radius_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Radius_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Radius_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Radius.h b/src/tmx/Asn_J2735/src/r2024/Radius.h deleted file mode 100644 index 76727c554..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Radius.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Radius_H_ -#define _Radius_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Radius */ -typedef long Radius_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Radius_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Radius; -asn_struct_free_f Radius_free; -asn_struct_print_f Radius_print; -asn_constr_check_f Radius_constraint; -ber_type_decoder_f Radius_decode_ber; -der_type_encoder_f Radius_encode_der; -xer_type_decoder_f Radius_decode_xer; -xer_type_encoder_f Radius_encode_xer; -oer_type_decoder_f Radius_decode_oer; -oer_type_encoder_f Radius_encode_oer; -per_type_decoder_f Radius_decode_uper; -per_type_encoder_f Radius_encode_uper; -per_type_decoder_f Radius_decode_aper; -per_type_encoder_f Radius_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Radius_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RadiusOfCurvature.c b/src/tmx/Asn_J2735/src/r2024/RadiusOfCurvature.c new file mode 100644 index 000000000..9f9143229 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RadiusOfCurvature.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RadiusOfCurvature.h" + +int +RadiusOfCurvature_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32767L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RadiusOfCurvature_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32767..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RadiusOfCurvature_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32767, 32767 } /* (-32767..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RadiusOfCurvature_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RadiusOfCurvature = { + "RadiusOfCurvature", + "RadiusOfCurvature", + &asn_OP_NativeInteger, + asn_DEF_RadiusOfCurvature_tags_1, + sizeof(asn_DEF_RadiusOfCurvature_tags_1) + /sizeof(asn_DEF_RadiusOfCurvature_tags_1[0]), /* 1 */ + asn_DEF_RadiusOfCurvature_tags_1, /* Same as above */ + sizeof(asn_DEF_RadiusOfCurvature_tags_1) + /sizeof(asn_DEF_RadiusOfCurvature_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RadiusOfCurvature_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RadiusOfCurvature_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RadiusOfCurvature_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RadiusOfCurvature.h b/src/tmx/Asn_J2735/src/r2024/RadiusOfCurvature.h deleted file mode 100644 index 8d886e099..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RadiusOfCurvature.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RadiusOfCurvature_H_ -#define _RadiusOfCurvature_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RadiusOfCurvature */ -typedef long RadiusOfCurvature_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RadiusOfCurvature_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RadiusOfCurvature; -asn_struct_free_f RadiusOfCurvature_free; -asn_struct_print_f RadiusOfCurvature_print; -asn_constr_check_f RadiusOfCurvature_constraint; -ber_type_decoder_f RadiusOfCurvature_decode_ber; -der_type_encoder_f RadiusOfCurvature_encode_der; -xer_type_decoder_f RadiusOfCurvature_decode_xer; -xer_type_encoder_f RadiusOfCurvature_encode_xer; -oer_type_decoder_f RadiusOfCurvature_decode_oer; -oer_type_encoder_f RadiusOfCurvature_encode_oer; -per_type_decoder_f RadiusOfCurvature_decode_uper; -per_type_encoder_f RadiusOfCurvature_encode_uper; -per_type_decoder_f RadiusOfCurvature_decode_aper; -per_type_encoder_f RadiusOfCurvature_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RadiusOfCurvature_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RainSensor.c b/src/tmx/Asn_J2735/src/r2024/RainSensor.c new file mode 100644 index 000000000..9437a9a58 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RainSensor.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RainSensor.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RainSensor_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RainSensor_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_RainSensor_value2enum_1[] = { + { 0, 4, "none" }, + { 1, 9, "lightMist" }, + { 2, 9, "heavyMist" }, + { 3, 18, "lightRainOrDrizzle" }, + { 4, 4, "rain" }, + { 5, 12, "moderateRain" }, + { 6, 9, "heavyRain" }, + { 7, 13, "heavyDownpour" } +}; +static const unsigned int asn_MAP_RainSensor_enum2value_1[] = { + 7, /* heavyDownpour(7) */ + 2, /* heavyMist(2) */ + 6, /* heavyRain(6) */ + 1, /* lightMist(1) */ + 3, /* lightRainOrDrizzle(3) */ + 5, /* moderateRain(5) */ + 0, /* none(0) */ + 4 /* rain(4) */ +}; +const asn_INTEGER_specifics_t asn_SPC_RainSensor_specs_1 = { + asn_MAP_RainSensor_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RainSensor_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RainSensor_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RainSensor = { + "RainSensor", + "RainSensor", + &asn_OP_NativeEnumerated, + asn_DEF_RainSensor_tags_1, + sizeof(asn_DEF_RainSensor_tags_1) + /sizeof(asn_DEF_RainSensor_tags_1[0]), /* 1 */ + asn_DEF_RainSensor_tags_1, /* Same as above */ + sizeof(asn_DEF_RainSensor_tags_1) + /sizeof(asn_DEF_RainSensor_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RainSensor_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RainSensor_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RainSensor_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RainSensor.h b/src/tmx/Asn_J2735/src/r2024/RainSensor.h deleted file mode 100644 index d9e72994b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RainSensor.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RainSensor_H_ -#define _RainSensor_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RainSensor { - RainSensor_none = 0, - RainSensor_lightMist = 1, - RainSensor_heavyMist = 2, - RainSensor_lightRainOrDrizzle = 3, - RainSensor_rain = 4, - RainSensor_moderateRain = 5, - RainSensor_heavyRain = 6, - RainSensor_heavyDownpour = 7 -} e_RainSensor; - -/* RainSensor */ -typedef long RainSensor_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RainSensor_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RainSensor; -extern const asn_INTEGER_specifics_t asn_SPC_RainSensor_specs_1; -asn_struct_free_f RainSensor_free; -asn_struct_print_f RainSensor_print; -asn_constr_check_f RainSensor_constraint; -ber_type_decoder_f RainSensor_decode_ber; -der_type_encoder_f RainSensor_encode_der; -xer_type_decoder_f RainSensor_decode_xer; -xer_type_encoder_f RainSensor_encode_xer; -oer_type_decoder_f RainSensor_decode_oer; -oer_type_encoder_f RainSensor_encode_oer; -per_type_decoder_f RainSensor_decode_uper; -per_type_encoder_f RainSensor_encode_uper; -per_type_decoder_f RainSensor_decode_aper; -per_type_encoder_f RainSensor_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RainSensor_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReasonCode.c b/src/tmx/Asn_J2735/src/r2024/ReasonCode.c new file mode 100644 index 000000000..b8272f526 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReasonCode.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReasonCode.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ReasonCode_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ReasonCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_ReasonCode_value2enum_1[] = { + { 0, 7, "unknown" }, + { 1, 15, "unableToConform" }, + { 2, 8, "unwanted" }, + { 3, 18, "unableToUnderstand" }, + { 4, 25, "erroneousBehaviorDetected" }, + { 5, 25, "misbehaviorAttackDetected" }, + { 6, 35, "rVManeuverCancellationRequestIssued" }, + { 7, 19, "sessionIDConflicted" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ReasonCode_enum2value_1[] = { + 4, /* erroneousBehaviorDetected(4) */ + 5, /* misbehaviorAttackDetected(5) */ + 6, /* rVManeuverCancellationRequestIssued(6) */ + 7, /* sessionIDConflicted(7) */ + 1, /* unableToConform(1) */ + 3, /* unableToUnderstand(3) */ + 0, /* unknown(0) */ + 2 /* unwanted(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_ReasonCode_specs_1 = { + asn_MAP_ReasonCode_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ReasonCode_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 9, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ReasonCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReasonCode = { + "ReasonCode", + "ReasonCode", + &asn_OP_NativeEnumerated, + asn_DEF_ReasonCode_tags_1, + sizeof(asn_DEF_ReasonCode_tags_1) + /sizeof(asn_DEF_ReasonCode_tags_1[0]), /* 1 */ + asn_DEF_ReasonCode_tags_1, /* Same as above */ + sizeof(asn_DEF_ReasonCode_tags_1) + /sizeof(asn_DEF_ReasonCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ReasonCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ReasonCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ReasonCode_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReasonCode.h b/src/tmx/Asn_J2735/src/r2024/ReasonCode.h deleted file mode 100644 index 7e65227c2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReasonCode.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReasonCode_H_ -#define _ReasonCode_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ReasonCode { - ReasonCode_unknown = 0, - ReasonCode_unableToConform = 1, - ReasonCode_unwanted = 2, - ReasonCode_unableToUnderstand = 3, - ReasonCode_erroneousBehaviorDetected = 4, - ReasonCode_misbehaviorAttackDetected = 5, - ReasonCode_rVManeuverCancellationRequestIssued = 6, - ReasonCode_sessionIDConflicted = 7 - /* - * Enumeration is extensible - */ -} e_ReasonCode; - -/* ReasonCode */ -typedef long ReasonCode_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ReasonCode_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ReasonCode; -extern const asn_INTEGER_specifics_t asn_SPC_ReasonCode_specs_1; -asn_struct_free_f ReasonCode_free; -asn_struct_print_f ReasonCode_print; -asn_constr_check_f ReasonCode_constraint; -ber_type_decoder_f ReasonCode_decode_ber; -der_type_encoder_f ReasonCode_encode_der; -xer_type_decoder_f ReasonCode_decode_xer; -xer_type_encoder_f ReasonCode_encode_xer; -oer_type_decoder_f ReasonCode_decode_oer; -oer_type_encoder_f ReasonCode_encode_oer; -per_type_decoder_f ReasonCode_decode_uper; -per_type_encoder_f ReasonCode_encode_uper; -per_type_decoder_f ReasonCode_decode_aper; -per_type_encoder_f ReasonCode_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ReasonCode_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptAuthenticator.c b/src/tmx/Asn_J2735/src/r2024/ReceiptAuthenticator.c new file mode 100644 index 000000000..d6ae47284 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReceiptAuthenticator.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReceiptAuthenticator.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_ReceiptAuthenticator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReceiptAuthenticator = { + "ReceiptAuthenticator", + "ReceiptAuthenticator", + &asn_OP_OCTET_STRING, + asn_DEF_ReceiptAuthenticator_tags_1, + sizeof(asn_DEF_ReceiptAuthenticator_tags_1) + /sizeof(asn_DEF_ReceiptAuthenticator_tags_1[0]), /* 1 */ + asn_DEF_ReceiptAuthenticator_tags_1, /* Same as above */ + sizeof(asn_DEF_ReceiptAuthenticator_tags_1) + /sizeof(asn_DEF_ReceiptAuthenticator_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OCTET_STRING_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptAuthenticator.h b/src/tmx/Asn_J2735/src/r2024/ReceiptAuthenticator.h deleted file mode 100644 index 516c79e93..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReceiptAuthenticator.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReceiptAuthenticator_H_ -#define _ReceiptAuthenticator_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ReceiptAuthenticator */ -typedef OCTET_STRING_t ReceiptAuthenticator_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ReceiptAuthenticator; -asn_struct_free_f ReceiptAuthenticator_free; -asn_struct_print_f ReceiptAuthenticator_print; -asn_constr_check_f ReceiptAuthenticator_constraint; -ber_type_decoder_f ReceiptAuthenticator_decode_ber; -der_type_encoder_f ReceiptAuthenticator_encode_der; -xer_type_decoder_f ReceiptAuthenticator_decode_xer; -xer_type_encoder_f ReceiptAuthenticator_encode_xer; -oer_type_decoder_f ReceiptAuthenticator_decode_oer; -oer_type_encoder_f ReceiptAuthenticator_encode_oer; -per_type_decoder_f ReceiptAuthenticator_decode_uper; -per_type_encoder_f ReceiptAuthenticator_encode_uper; -per_type_decoder_f ReceiptAuthenticator_decode_aper; -per_type_encoder_f ReceiptAuthenticator_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ReceiptAuthenticator_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptContract.c b/src/tmx/Asn_J2735/src/r2024/ReceiptContract.c new file mode 100644 index 000000000..7a638f423 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReceiptContract.c @@ -0,0 +1,140 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReceiptContract.h" + +static int +memb_sessionTypeOfContract_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_sessionTypeOfContract_constr_3 CC_NOTUSED = { + { 0, 0 }, + 2 /* (SIZE(2..2)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_sessionTypeOfContract_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_ReceiptContract_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ReceiptContract, sessionContractProvider), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Provider, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionContractProvider" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptContract, sessionTypeOfContract), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_sessionTypeOfContract_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_sessionTypeOfContract_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_sessionTypeOfContract_constraint_1 + }, + 0, 0, /* No default value */ + "sessionTypeOfContract" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptContract, sessionContractSerialNumber), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int4Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionContractSerialNumber" + }, +}; +static const ber_tlv_tag_t asn_DEF_ReceiptContract_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ReceiptContract_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sessionContractProvider */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sessionTypeOfContract */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* sessionContractSerialNumber */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ReceiptContract_specs_1 = { + sizeof(struct ReceiptContract), + offsetof(struct ReceiptContract, _asn_ctx), + asn_MAP_ReceiptContract_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ReceiptContract = { + "ReceiptContract", + "ReceiptContract", + &asn_OP_SEQUENCE, + asn_DEF_ReceiptContract_tags_1, + sizeof(asn_DEF_ReceiptContract_tags_1) + /sizeof(asn_DEF_ReceiptContract_tags_1[0]), /* 1 */ + asn_DEF_ReceiptContract_tags_1, /* Same as above */ + sizeof(asn_DEF_ReceiptContract_tags_1) + /sizeof(asn_DEF_ReceiptContract_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ReceiptContract_1, + 3, /* Elements count */ + &asn_SPC_ReceiptContract_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptContract.h b/src/tmx/Asn_J2735/src/r2024/ReceiptContract.h deleted file mode 100644 index 788c42da9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReceiptContract.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReceiptContract_H_ -#define _ReceiptContract_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Provider.h" -#include "OCTET_STRING.h" -#include "Int4Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ReceiptContract */ -typedef struct ReceiptContract { - Provider_t sessionContractProvider; - OCTET_STRING_t sessionTypeOfContract; - Int4Unsigned_t sessionContractSerialNumber; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ReceiptContract_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ReceiptContract; - -#ifdef __cplusplus -} -#endif - -#endif /* _ReceiptContract_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptData.c b/src/tmx/Asn_J2735/src/r2024/ReceiptData.c new file mode 100644 index 000000000..83798d306 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReceiptData.c @@ -0,0 +1,395 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReceiptData.h" + +static int +memb_sessionTypeOfContract_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_sessionContextVersion_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_receiptDataAuthenticator_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 4UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_sessionTypeOfContract_constr_12 CC_NOTUSED = { + { 0, 0 }, + 2 /* (SIZE(2..2)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_sessionTypeOfContract_constr_12 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_sessionContextVersion_constr_13 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_sessionContextVersion_constr_13 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 7, 7, 0, 127 } /* (0..127,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_receiptDataAuthenticator_constr_14 CC_NOTUSED = { + { 0, 0 }, + 4 /* (SIZE(4..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_receiptDataAuthenticator_constr_14 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_ReceiptData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ReceiptData, sessionTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DateAndTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptData, sessionServiceProvider), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Provider, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionServiceProvider" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptData, locationOfStation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "locationOfStation" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptData, sessionLocation), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SessionLocation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionLocation" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptData, sessionType), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionType" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptData, sessionResult), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ResultOp, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionResult" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptData, sessionTariffClass), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionTariffClass" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptData, sessionClaimedClass), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionClaimedClass" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptData, sessionFee), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionFee" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptData, sessionContractProvider), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Provider, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionContractProvider" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptData, sessionTypeOfContract), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_sessionTypeOfContract_constr_12, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_sessionTypeOfContract_constr_12, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_sessionTypeOfContract_constraint_1 + }, + 0, 0, /* No default value */ + "sessionTypeOfContract" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptData, sessionContextVersion), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_sessionContextVersion_constr_13, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_sessionContextVersion_constr_13, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_sessionContextVersion_constraint_1 + }, + 0, 0, /* No default value */ + "sessionContextVersion" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptData, receiptDataAuthenticator), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_receiptDataAuthenticator_constr_14, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_receiptDataAuthenticator_constr_14, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_receiptDataAuthenticator_constraint_1 + }, + 0, 0, /* No default value */ + "receiptDataAuthenticator" + }, +}; +static const ber_tlv_tag_t asn_DEF_ReceiptData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ReceiptData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sessionTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sessionServiceProvider */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* locationOfStation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* sessionLocation */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* sessionType */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* sessionResult */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* sessionTariffClass */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* sessionClaimedClass */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* sessionFee */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* sessionContractProvider */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* sessionTypeOfContract */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* sessionContextVersion */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 } /* receiptDataAuthenticator */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ReceiptData_specs_1 = { + sizeof(struct ReceiptData), + offsetof(struct ReceiptData, _asn_ctx), + asn_MAP_ReceiptData_tag2el_1, + 13, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ReceiptData = { + "ReceiptData", + "ReceiptData", + &asn_OP_SEQUENCE, + asn_DEF_ReceiptData_tags_1, + sizeof(asn_DEF_ReceiptData_tags_1) + /sizeof(asn_DEF_ReceiptData_tags_1[0]), /* 1 */ + asn_DEF_ReceiptData_tags_1, /* Same as above */ + sizeof(asn_DEF_ReceiptData_tags_1) + /sizeof(asn_DEF_ReceiptData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ReceiptData_1, + 13, /* Elements count */ + &asn_SPC_ReceiptData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptData.h b/src/tmx/Asn_J2735/src/r2024/ReceiptData.h deleted file mode 100644 index 0db598ec5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReceiptData.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReceiptData_H_ -#define _ReceiptData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DateAndTime.h" -#include "Provider.h" -#include "Int2Unsigned.h" -#include "SessionLocation.h" -#include "Int1Unsigned.h" -#include "ResultOp.h" -#include "PaymentFee.h" -#include "OCTET_STRING.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ReceiptData */ -typedef struct ReceiptData { - DateAndTime_t sessionTime; - Provider_t sessionServiceProvider; - Int2Unsigned_t locationOfStation; - SessionLocation_t sessionLocation; - Int1Unsigned_t sessionType; - ResultOp_t sessionResult; - Int1Unsigned_t sessionTariffClass; - Int1Unsigned_t sessionClaimedClass; - PaymentFee_t sessionFee; - Provider_t sessionContractProvider; - OCTET_STRING_t sessionTypeOfContract; - long sessionContextVersion; - OCTET_STRING_t receiptDataAuthenticator; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ReceiptData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ReceiptData; - -#ifdef __cplusplus -} -#endif - -#endif /* _ReceiptData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptDistance.c b/src/tmx/Asn_J2735/src/r2024/ReceiptDistance.c new file mode 100644 index 000000000..84861a3d3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReceiptDistance.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReceiptDistance.h" + +int +ReceiptDistance_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 16777215L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Int3Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ReceiptDistance_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..16777215) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_ReceiptDistance_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 24, -1, 0, 16777215 } /* (0..16777215) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ReceiptDistance_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReceiptDistance = { + "ReceiptDistance", + "ReceiptDistance", + &asn_OP_NativeInteger, + asn_DEF_ReceiptDistance_tags_1, + sizeof(asn_DEF_ReceiptDistance_tags_1) + /sizeof(asn_DEF_ReceiptDistance_tags_1[0]), /* 1 */ + asn_DEF_ReceiptDistance_tags_1, /* Same as above */ + sizeof(asn_DEF_ReceiptDistance_tags_1) + /sizeof(asn_DEF_ReceiptDistance_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ReceiptDistance_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ReceiptDistance_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ReceiptDistance_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptDistance.h b/src/tmx/Asn_J2735/src/r2024/ReceiptDistance.h deleted file mode 100644 index f527d51b4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReceiptDistance.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReceiptDistance_H_ -#define _ReceiptDistance_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int3Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ReceiptDistance */ -typedef Int3Unsigned_t ReceiptDistance_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ReceiptDistance; -asn_struct_free_f ReceiptDistance_free; -asn_struct_print_f ReceiptDistance_print; -asn_constr_check_f ReceiptDistance_constraint; -ber_type_decoder_f ReceiptDistance_decode_ber; -der_type_encoder_f ReceiptDistance_encode_der; -xer_type_decoder_f ReceiptDistance_decode_xer; -xer_type_encoder_f ReceiptDistance_encode_xer; -oer_type_decoder_f ReceiptDistance_decode_oer; -oer_type_encoder_f ReceiptDistance_encode_oer; -per_type_decoder_f ReceiptDistance_decode_uper; -per_type_encoder_f ReceiptDistance_encode_uper; -per_type_decoder_f ReceiptDistance_decode_aper; -per_type_encoder_f ReceiptDistance_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ReceiptDistance_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptFinancialPart.c b/src/tmx/Asn_J2735/src/r2024/ReceiptFinancialPart.c new file mode 100644 index 000000000..d6295efbd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReceiptFinancialPart.c @@ -0,0 +1,120 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReceiptFinancialPart.h" + +static asn_TYPE_member_t asn_MBR_ReceiptFinancialPart_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ReceiptFinancialPart, personalAccountNumber), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PersonalAccountNumber, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "personalAccountNumber" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptFinancialPart, sessionPaymentFee), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionPaymentFee" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptFinancialPart, sessionCurrentBalance), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PurseBalance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionCurrentBalance" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptFinancialPart, receiptFinancialSerialNumber), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int4Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "receiptFinancialSerialNumber" + }, +}; +static const ber_tlv_tag_t asn_DEF_ReceiptFinancialPart_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ReceiptFinancialPart_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* personalAccountNumber */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sessionPaymentFee */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sessionCurrentBalance */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* receiptFinancialSerialNumber */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ReceiptFinancialPart_specs_1 = { + sizeof(struct ReceiptFinancialPart), + offsetof(struct ReceiptFinancialPart, _asn_ctx), + asn_MAP_ReceiptFinancialPart_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ReceiptFinancialPart = { + "ReceiptFinancialPart", + "ReceiptFinancialPart", + &asn_OP_SEQUENCE, + asn_DEF_ReceiptFinancialPart_tags_1, + sizeof(asn_DEF_ReceiptFinancialPart_tags_1) + /sizeof(asn_DEF_ReceiptFinancialPart_tags_1[0]), /* 1 */ + asn_DEF_ReceiptFinancialPart_tags_1, /* Same as above */ + sizeof(asn_DEF_ReceiptFinancialPart_tags_1) + /sizeof(asn_DEF_ReceiptFinancialPart_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ReceiptFinancialPart_1, + 4, /* Elements count */ + &asn_SPC_ReceiptFinancialPart_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptFinancialPart.h b/src/tmx/Asn_J2735/src/r2024/ReceiptFinancialPart.h deleted file mode 100644 index 89d3e77d2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReceiptFinancialPart.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReceiptFinancialPart_H_ -#define _ReceiptFinancialPart_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "PersonalAccountNumber.h" -#include "PaymentFee.h" -#include "PurseBalance.h" -#include "Int4Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ReceiptFinancialPart */ -typedef struct ReceiptFinancialPart { - PersonalAccountNumber_t personalAccountNumber; - PaymentFee_t sessionPaymentFee; - PurseBalance_t sessionCurrentBalance; - Int4Unsigned_t receiptFinancialSerialNumber; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ReceiptFinancialPart_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ReceiptFinancialPart; - -#ifdef __cplusplus -} -#endif - -#endif /* _ReceiptFinancialPart_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptIccId.c b/src/tmx/Asn_J2735/src/r2024/ReceiptIccId.c new file mode 100644 index 000000000..acfe5f0dd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReceiptIccId.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReceiptIccId.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_ReceiptIccId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReceiptIccId = { + "ReceiptIccId", + "ReceiptIccId", + &asn_OP_OCTET_STRING, + asn_DEF_ReceiptIccId_tags_1, + sizeof(asn_DEF_ReceiptIccId_tags_1) + /sizeof(asn_DEF_ReceiptIccId_tags_1[0]), /* 1 */ + asn_DEF_ReceiptIccId_tags_1, /* Same as above */ + sizeof(asn_DEF_ReceiptIccId_tags_1) + /sizeof(asn_DEF_ReceiptIccId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OCTET_STRING_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptIccId.h b/src/tmx/Asn_J2735/src/r2024/ReceiptIccId.h deleted file mode 100644 index 8a605021f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReceiptIccId.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReceiptIccId_H_ -#define _ReceiptIccId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ReceiptIccId */ -typedef OCTET_STRING_t ReceiptIccId_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ReceiptIccId; -asn_struct_free_f ReceiptIccId_free; -asn_struct_print_f ReceiptIccId_print; -asn_constr_check_f ReceiptIccId_constraint; -ber_type_decoder_f ReceiptIccId_decode_ber; -der_type_encoder_f ReceiptIccId_encode_der; -xer_type_decoder_f ReceiptIccId_decode_xer; -xer_type_encoder_f ReceiptIccId_encode_xer; -oer_type_decoder_f ReceiptIccId_decode_oer; -oer_type_encoder_f ReceiptIccId_encode_oer; -per_type_decoder_f ReceiptIccId_decode_uper; -per_type_encoder_f ReceiptIccId_encode_uper; -per_type_decoder_f ReceiptIccId_decode_aper; -per_type_encoder_f ReceiptIccId_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ReceiptIccId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptObuId.c b/src/tmx/Asn_J2735/src/r2024/ReceiptObuId.c new file mode 100644 index 000000000..3b1071070 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReceiptObuId.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReceiptObuId.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_ReceiptObuId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReceiptObuId = { + "ReceiptObuId", + "ReceiptObuId", + &asn_OP_OCTET_STRING, + asn_DEF_ReceiptObuId_tags_1, + sizeof(asn_DEF_ReceiptObuId_tags_1) + /sizeof(asn_DEF_ReceiptObuId_tags_1[0]), /* 1 */ + asn_DEF_ReceiptObuId_tags_1, /* Same as above */ + sizeof(asn_DEF_ReceiptObuId_tags_1) + /sizeof(asn_DEF_ReceiptObuId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OCTET_STRING_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptObuId.h b/src/tmx/Asn_J2735/src/r2024/ReceiptObuId.h deleted file mode 100644 index caf946fd8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReceiptObuId.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReceiptObuId_H_ -#define _ReceiptObuId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ReceiptObuId */ -typedef OCTET_STRING_t ReceiptObuId_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ReceiptObuId; -asn_struct_free_f ReceiptObuId_free; -asn_struct_print_f ReceiptObuId_print; -asn_constr_check_f ReceiptObuId_constraint; -ber_type_decoder_f ReceiptObuId_decode_ber; -der_type_encoder_f ReceiptObuId_encode_der; -xer_type_decoder_f ReceiptObuId_decode_xer; -xer_type_encoder_f ReceiptObuId_encode_xer; -oer_type_decoder_f ReceiptObuId_decode_oer; -oer_type_encoder_f ReceiptObuId_encode_oer; -per_type_decoder_f ReceiptObuId_decode_uper; -per_type_encoder_f ReceiptObuId_encode_uper; -per_type_decoder_f ReceiptObuId_decode_aper; -per_type_encoder_f ReceiptObuId_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ReceiptObuId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptServicePart.c b/src/tmx/Asn_J2735/src/r2024/ReceiptServicePart.c new file mode 100644 index 000000000..849717001 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReceiptServicePart.c @@ -0,0 +1,254 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReceiptServicePart.h" + +static int +memb_stationLocation_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 1048575L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_sessionLocation_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_stationLocation_constr_4 CC_NOTUSED = { + { 4, 1 } /* (0..1048575) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_stationLocation_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 20, -1, 0, 1048575 } /* (0..1048575) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_sessionLocation_constr_5 CC_NOTUSED = { + { 0, 0 }, + 8 /* (SIZE(8..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_sessionLocation_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_ReceiptServicePart_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ReceiptServicePart, sessionTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DateAndTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptServicePart, sessionServiceProvider), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Provider, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionServiceProvider" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptServicePart, stationLocation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_stationLocation_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_stationLocation_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_stationLocation_constraint_1 + }, + 0, 0, /* No default value */ + "stationLocation" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptServicePart, sessionLocation), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_sessionLocation_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_sessionLocation_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_sessionLocation_constraint_1 + }, + 0, 0, /* No default value */ + "sessionLocation" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptServicePart, typeOfSession), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_StationType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "typeOfSession" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptServicePart, sessionResultOperational), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ResultOp, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionResultOperational" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReceiptServicePart, sessionResultFinancial), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ResultFin, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionResultFinancial" + }, +}; +static const ber_tlv_tag_t asn_DEF_ReceiptServicePart_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ReceiptServicePart_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sessionTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sessionServiceProvider */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* stationLocation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* sessionLocation */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* typeOfSession */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* sessionResultOperational */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* sessionResultFinancial */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ReceiptServicePart_specs_1 = { + sizeof(struct ReceiptServicePart), + offsetof(struct ReceiptServicePart, _asn_ctx), + asn_MAP_ReceiptServicePart_tag2el_1, + 7, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ReceiptServicePart = { + "ReceiptServicePart", + "ReceiptServicePart", + &asn_OP_SEQUENCE, + asn_DEF_ReceiptServicePart_tags_1, + sizeof(asn_DEF_ReceiptServicePart_tags_1) + /sizeof(asn_DEF_ReceiptServicePart_tags_1[0]), /* 1 */ + asn_DEF_ReceiptServicePart_tags_1, /* Same as above */ + sizeof(asn_DEF_ReceiptServicePart_tags_1) + /sizeof(asn_DEF_ReceiptServicePart_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ReceiptServicePart_1, + 7, /* Elements count */ + &asn_SPC_ReceiptServicePart_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptServicePart.h b/src/tmx/Asn_J2735/src/r2024/ReceiptServicePart.h deleted file mode 100644 index 77b48a465..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReceiptServicePart.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReceiptServicePart_H_ -#define _ReceiptServicePart_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DateAndTime.h" -#include "Provider.h" -#include "NativeInteger.h" -#include "BIT_STRING.h" -#include "StationType.h" -#include "ResultOp.h" -#include "ResultFin.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ReceiptServicePart */ -typedef struct ReceiptServicePart { - DateAndTime_t sessionTime; - Provider_t sessionServiceProvider; - long stationLocation; - BIT_STRING_t sessionLocation; - StationType_t typeOfSession; - ResultOp_t sessionResultOperational; - ResultFin_t sessionResultFinancial; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ReceiptServicePart_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ReceiptServicePart; - -#ifdef __cplusplus -} -#endif - -#endif /* _ReceiptServicePart_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptServiceSerialNumber.c b/src/tmx/Asn_J2735/src/r2024/ReceiptServiceSerialNumber.c new file mode 100644 index 000000000..b59925811 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReceiptServiceSerialNumber.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReceiptServiceSerialNumber.h" + +int +ReceiptServiceSerialNumber_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 16777215L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Int3Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ReceiptServiceSerialNumber_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..16777215) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_ReceiptServiceSerialNumber_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 24, -1, 0, 16777215 } /* (0..16777215) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ReceiptServiceSerialNumber_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReceiptServiceSerialNumber = { + "ReceiptServiceSerialNumber", + "ReceiptServiceSerialNumber", + &asn_OP_NativeInteger, + asn_DEF_ReceiptServiceSerialNumber_tags_1, + sizeof(asn_DEF_ReceiptServiceSerialNumber_tags_1) + /sizeof(asn_DEF_ReceiptServiceSerialNumber_tags_1[0]), /* 1 */ + asn_DEF_ReceiptServiceSerialNumber_tags_1, /* Same as above */ + sizeof(asn_DEF_ReceiptServiceSerialNumber_tags_1) + /sizeof(asn_DEF_ReceiptServiceSerialNumber_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ReceiptServiceSerialNumber_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ReceiptServiceSerialNumber_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ReceiptServiceSerialNumber_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptServiceSerialNumber.h b/src/tmx/Asn_J2735/src/r2024/ReceiptServiceSerialNumber.h deleted file mode 100644 index ab943093d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReceiptServiceSerialNumber.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReceiptServiceSerialNumber_H_ -#define _ReceiptServiceSerialNumber_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int3Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ReceiptServiceSerialNumber */ -typedef Int3Unsigned_t ReceiptServiceSerialNumber_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ReceiptServiceSerialNumber; -asn_struct_free_f ReceiptServiceSerialNumber_free; -asn_struct_print_f ReceiptServiceSerialNumber_print; -asn_constr_check_f ReceiptServiceSerialNumber_constraint; -ber_type_decoder_f ReceiptServiceSerialNumber_decode_ber; -der_type_encoder_f ReceiptServiceSerialNumber_encode_der; -xer_type_decoder_f ReceiptServiceSerialNumber_decode_xer; -xer_type_encoder_f ReceiptServiceSerialNumber_encode_xer; -oer_type_decoder_f ReceiptServiceSerialNumber_decode_oer; -oer_type_encoder_f ReceiptServiceSerialNumber_encode_oer; -per_type_decoder_f ReceiptServiceSerialNumber_decode_uper; -per_type_encoder_f ReceiptServiceSerialNumber_encode_uper; -per_type_decoder_f ReceiptServiceSerialNumber_decode_aper; -per_type_encoder_f ReceiptServiceSerialNumber_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ReceiptServiceSerialNumber_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptText.c b/src/tmx/Asn_J2735/src/r2024/ReceiptText.c new file mode 100644 index 000000000..7d4c47cba --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReceiptText.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReceiptText.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_ReceiptText_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReceiptText = { + "ReceiptText", + "ReceiptText", + &asn_OP_OCTET_STRING, + asn_DEF_ReceiptText_tags_1, + sizeof(asn_DEF_ReceiptText_tags_1) + /sizeof(asn_DEF_ReceiptText_tags_1[0]), /* 1 */ + asn_DEF_ReceiptText_tags_1, /* Same as above */ + sizeof(asn_DEF_ReceiptText_tags_1) + /sizeof(asn_DEF_ReceiptText_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OCTET_STRING_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReceiptText.h b/src/tmx/Asn_J2735/src/r2024/ReceiptText.h deleted file mode 100644 index fd49bb735..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReceiptText.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReceiptText_H_ -#define _ReceiptText_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ReceiptText */ -typedef OCTET_STRING_t ReceiptText_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ReceiptText; -asn_struct_free_f ReceiptText_free; -asn_struct_print_f ReceiptText_print; -asn_constr_check_f ReceiptText_constraint; -ber_type_decoder_f ReceiptText_decode_ber; -der_type_encoder_f ReceiptText_encode_der; -xer_type_decoder_f ReceiptText_decode_xer; -xer_type_encoder_f ReceiptText_encode_xer; -oer_type_decoder_f ReceiptText_decode_oer; -oer_type_encoder_f ReceiptText_encode_oer; -per_type_decoder_f ReceiptText_decode_uper; -per_type_encoder_f ReceiptText_encode_uper; -per_type_decoder_f ReceiptText_decode_aper; -per_type_encoder_f ReceiptText_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ReceiptText_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RecreationalObjectsAndActivities.c b/src/tmx/Asn_J2735/src/r2024/RecreationalObjectsAndActivities.c new file mode 100644 index 000000000..f1eb158cd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RecreationalObjectsAndActivities.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RecreationalObjectsAndActivities.h" + +int +RecreationalObjectsAndActivities_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RecreationalObjectsAndActivities_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_RecreationalObjectsAndActivities_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RecreationalObjectsAndActivities_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RecreationalObjectsAndActivities = { + "RecreationalObjectsAndActivities", + "RecreationalObjectsAndActivities", + &asn_OP_NativeInteger, + asn_DEF_RecreationalObjectsAndActivities_tags_1, + sizeof(asn_DEF_RecreationalObjectsAndActivities_tags_1) + /sizeof(asn_DEF_RecreationalObjectsAndActivities_tags_1[0]), /* 1 */ + asn_DEF_RecreationalObjectsAndActivities_tags_1, /* Same as above */ + sizeof(asn_DEF_RecreationalObjectsAndActivities_tags_1) + /sizeof(asn_DEF_RecreationalObjectsAndActivities_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RecreationalObjectsAndActivities_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RecreationalObjectsAndActivities_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RecreationalObjectsAndActivities_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RecreationalObjectsAndActivities.h b/src/tmx/Asn_J2735/src/r2024/RecreationalObjectsAndActivities.h deleted file mode 100644 index fcc798e2c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RecreationalObjectsAndActivities.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RecreationalObjectsAndActivities_H_ -#define _RecreationalObjectsAndActivities_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RecreationalObjectsAndActivities { - RecreationalObjectsAndActivities_bear_viewing_area = 12033, - RecreationalObjectsAndActivities_deer_viewing_area = 12034, - RecreationalObjectsAndActivities_drinking_water = 12035, - RecreationalObjectsAndActivities_environmental_study_area = 12036, - RecreationalObjectsAndActivities_falling_rocks = 12037, - RecreationalObjectsAndActivities_firearms = 12038, - RecreationalObjectsAndActivities_leashed_pets = 12039, - RecreationalObjectsAndActivities_point_of_interest = 12040, - RecreationalObjectsAndActivities_smoking = 12041, - RecreationalObjectsAndActivities_dog = 12042, - RecreationalObjectsAndActivities_tent_camping = 12043, - RecreationalObjectsAndActivities_trailer_camping = 12044, - RecreationalObjectsAndActivities_first_aid = 12045, - RecreationalObjectsAndActivities_handicapped = 12046, - RecreationalObjectsAndActivities_mechanic = 12047, - RecreationalObjectsAndActivities_trailer_sanitary_station = 12048, - RecreationalObjectsAndActivities_viewing_area = 12049, - RecreationalObjectsAndActivities_scenic_overlook = 12095, - RecreationalObjectsAndActivities_campfire = 12050, - RecreationalObjectsAndActivities_locker = 12051, - RecreationalObjectsAndActivities_sleeping = 12052, - RecreationalObjectsAndActivities_trail = 12053, - RecreationalObjectsAndActivities_climbing = 12054, - RecreationalObjectsAndActivities_rock_climbing = 12055, - RecreationalObjectsAndActivities_hunting = 12056, - RecreationalObjectsAndActivities_playground = 12057, - RecreationalObjectsAndActivities_rock_collecting = 12058, - RecreationalObjectsAndActivities_spelunking = 12059, - RecreationalObjectsAndActivities_bicycle_trail = 12060, - RecreationalObjectsAndActivities_hiking_trail = 12061, - RecreationalObjectsAndActivities_horse_trail = 12062, - RecreationalObjectsAndActivities_trail_interpretive_auto = 12063, - RecreationalObjectsAndActivities_trail_interpretive_pedestrian = 12064, - RecreationalObjectsAndActivities_trail_road_for_4WD_vehicles = 12065, - RecreationalObjectsAndActivities_trail_for_trail_bikes = 12066, - RecreationalObjectsAndActivities_archer = 12067, - RecreationalObjectsAndActivities_hang_glider = 12068, - RecreationalObjectsAndActivities_boat_tours = 12069, - RecreationalObjectsAndActivities_canoeing = 12070, - RecreationalObjectsAndActivities_diving = 12071, - RecreationalObjectsAndActivities_scuba_diving = 12072, - RecreationalObjectsAndActivities_fishing = 12073, - RecreationalObjectsAndActivities_marine_recreation_area = 12074, - RecreationalObjectsAndActivities_motorboating = 12075, - RecreationalObjectsAndActivities_boat_ramp = 12076, - RecreationalObjectsAndActivities_rowboating = 12077, - RecreationalObjectsAndActivities_sailboating = 12078, - RecreationalObjectsAndActivities_water_skiing = 12079, - RecreationalObjectsAndActivities_surfing = 12080, - RecreationalObjectsAndActivities_swimming = 12081, - RecreationalObjectsAndActivities_wading = 12082, - RecreationalObjectsAndActivities_hand_launch = 12083, - RecreationalObjectsAndActivities_kayak = 12084, - RecreationalObjectsAndActivities_wind_surf = 12085, - RecreationalObjectsAndActivities_ice_skating = 12086, - RecreationalObjectsAndActivities_ski_jumping = 12087, - RecreationalObjectsAndActivities_bobbing = 12088, - RecreationalObjectsAndActivities_cross_country_skiing = 12089, - RecreationalObjectsAndActivities_downhill_skiing = 12090, - RecreationalObjectsAndActivities_sledding = 12091, - RecreationalObjectsAndActivities_snowmobiling = 12092, - RecreationalObjectsAndActivities_snowshoeing = 12093, - RecreationalObjectsAndActivities_winter_recreation_area = 12094 -} e_RecreationalObjectsAndActivities; - -/* RecreationalObjectsAndActivities */ -typedef long RecreationalObjectsAndActivities_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RecreationalObjectsAndActivities; -asn_struct_free_f RecreationalObjectsAndActivities_free; -asn_struct_print_f RecreationalObjectsAndActivities_print; -asn_constr_check_f RecreationalObjectsAndActivities_constraint; -ber_type_decoder_f RecreationalObjectsAndActivities_decode_ber; -der_type_encoder_f RecreationalObjectsAndActivities_encode_der; -xer_type_decoder_f RecreationalObjectsAndActivities_decode_xer; -xer_type_encoder_f RecreationalObjectsAndActivities_encode_xer; -oer_type_decoder_f RecreationalObjectsAndActivities_decode_oer; -oer_type_encoder_f RecreationalObjectsAndActivities_encode_oer; -per_type_decoder_f RecreationalObjectsAndActivities_decode_uper; -per_type_encoder_f RecreationalObjectsAndActivities_encode_uper; -per_type_decoder_f RecreationalObjectsAndActivities_decode_aper; -per_type_encoder_f RecreationalObjectsAndActivities_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RecreationalObjectsAndActivities_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReducedSpeedZoneContainer.c b/src/tmx/Asn_J2735/src/r2024/ReducedSpeedZoneContainer.c new file mode 100644 index 000000000..4cd7ad84e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReducedSpeedZoneContainer.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReducedSpeedZoneContainer.h" + +asn_TYPE_member_t asn_MBR_ReducedSpeedZoneContainer_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ReducedSpeedZoneContainer, speedLimit), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegulatorySpeedLimit, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedLimit" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReducedSpeedZoneContainer, rszRegion), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rszRegion" + }, +}; +static const ber_tlv_tag_t asn_DEF_ReducedSpeedZoneContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ReducedSpeedZoneContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* speedLimit */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* rszRegion */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ReducedSpeedZoneContainer_specs_1 = { + sizeof(struct ReducedSpeedZoneContainer), + offsetof(struct ReducedSpeedZoneContainer, _asn_ctx), + asn_MAP_ReducedSpeedZoneContainer_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ReducedSpeedZoneContainer = { + "ReducedSpeedZoneContainer", + "ReducedSpeedZoneContainer", + &asn_OP_SEQUENCE, + asn_DEF_ReducedSpeedZoneContainer_tags_1, + sizeof(asn_DEF_ReducedSpeedZoneContainer_tags_1) + /sizeof(asn_DEF_ReducedSpeedZoneContainer_tags_1[0]), /* 1 */ + asn_DEF_ReducedSpeedZoneContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_ReducedSpeedZoneContainer_tags_1) + /sizeof(asn_DEF_ReducedSpeedZoneContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ReducedSpeedZoneContainer_1, + 2, /* Elements count */ + &asn_SPC_ReducedSpeedZoneContainer_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReducedSpeedZoneContainer.h b/src/tmx/Asn_J2735/src/r2024/ReducedSpeedZoneContainer.h deleted file mode 100644 index 87dfdb3c2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReducedSpeedZoneContainer.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReducedSpeedZoneContainer_H_ -#define _ReducedSpeedZoneContainer_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RegulatorySpeedLimit.h" -#include "RegionInfo.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ReducedSpeedZoneContainer */ -typedef struct ReducedSpeedZoneContainer { - RegulatorySpeedLimit_t speedLimit; - RegionInfo_t rszRegion; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ReducedSpeedZoneContainer_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ReducedSpeedZoneContainer; -extern asn_SEQUENCE_specifics_t asn_SPC_ReducedSpeedZoneContainer_specs_1; -extern asn_TYPE_member_t asn_MBR_ReducedSpeedZoneContainer_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _ReducedSpeedZoneContainer_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReferencePointType.c b/src/tmx/Asn_J2735/src/r2024/ReferencePointType.c new file mode 100644 index 000000000..a2ca46ea4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReferencePointType.c @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReferencePointType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ReferencePointType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ReferencePointType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_ReferencePointType_value2enum_1[] = { + { 0, 12, "startOfEvent" }, + { 1, 9, "arbitrary" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ReferencePointType_enum2value_1[] = { + 1, /* arbitrary(1) */ + 0 /* startOfEvent(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_ReferencePointType_specs_1 = { + asn_MAP_ReferencePointType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ReferencePointType_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ReferencePointType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReferencePointType = { + "ReferencePointType", + "ReferencePointType", + &asn_OP_NativeEnumerated, + asn_DEF_ReferencePointType_tags_1, + sizeof(asn_DEF_ReferencePointType_tags_1) + /sizeof(asn_DEF_ReferencePointType_tags_1[0]), /* 1 */ + asn_DEF_ReferencePointType_tags_1, /* Same as above */ + sizeof(asn_DEF_ReferencePointType_tags_1) + /sizeof(asn_DEF_ReferencePointType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ReferencePointType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ReferencePointType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ReferencePointType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReferencePointType.h b/src/tmx/Asn_J2735/src/r2024/ReferencePointType.h deleted file mode 100644 index e5e6e624f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReferencePointType.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReferencePointType_H_ -#define _ReferencePointType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ReferencePointType { - ReferencePointType_startOfEvent = 0, - ReferencePointType_arbitrary = 1 - /* - * Enumeration is extensible - */ -} e_ReferencePointType; - -/* ReferencePointType */ -typedef long ReferencePointType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ReferencePointType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ReferencePointType; -extern const asn_INTEGER_specifics_t asn_SPC_ReferencePointType_specs_1; -asn_struct_free_f ReferencePointType_free; -asn_struct_print_f ReferencePointType_print; -asn_constr_check_f ReferencePointType_constraint; -ber_type_decoder_f ReferencePointType_decode_ber; -der_type_encoder_f ReferencePointType_encode_der; -xer_type_decoder_f ReferencePointType_decode_xer; -xer_type_encoder_f ReferencePointType_encode_xer; -oer_type_decoder_f ReferencePointType_decode_oer; -oer_type_encoder_f ReferencePointType_encode_oer; -per_type_decoder_f ReferencePointType_decode_uper; -per_type_encoder_f ReferencePointType_encode_uper; -per_type_decoder_f ReferencePointType_decode_aper; -per_type_encoder_f ReferencePointType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ReferencePointType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RegionId.c b/src/tmx/Asn_J2735/src/r2024/RegionId.c new file mode 100644 index 000000000..988f15fcd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RegionId.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RegionId.h" + +int +RegionId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RegionId_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RegionId_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RegionId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RegionId = { + "RegionId", + "RegionId", + &asn_OP_NativeInteger, + asn_DEF_RegionId_tags_1, + sizeof(asn_DEF_RegionId_tags_1) + /sizeof(asn_DEF_RegionId_tags_1[0]), /* 1 */ + asn_DEF_RegionId_tags_1, /* Same as above */ + sizeof(asn_DEF_RegionId_tags_1) + /sizeof(asn_DEF_RegionId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RegionId_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RegionId_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RegionId_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RegionId.h b/src/tmx/Asn_J2735/src/r2024/RegionId.h deleted file mode 100644 index 92820b296..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RegionId.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RegionId_H_ -#define _RegionId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RegionId */ -typedef long RegionId_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RegionId_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RegionId; -asn_struct_free_f RegionId_free; -asn_struct_print_f RegionId_print; -asn_constr_check_f RegionId_constraint; -ber_type_decoder_f RegionId_decode_ber; -der_type_encoder_f RegionId_encode_der; -xer_type_decoder_f RegionId_decode_xer; -xer_type_encoder_f RegionId_encode_xer; -oer_type_decoder_f RegionId_decode_oer; -oer_type_encoder_f RegionId_encode_oer; -per_type_decoder_f RegionId_decode_uper; -per_type_encoder_f RegionId_encode_uper; -per_type_decoder_f RegionId_decode_aper; -per_type_encoder_f RegionId_encode_aper; -#define RegionId_noRegion ((RegionId_t)0) -#define RegionId_addGrpA ((RegionId_t)1) -#define RegionId_addGrpB ((RegionId_t)2) -#define RegionId_addGrpC ((RegionId_t)3) - -#ifdef __cplusplus -} -#endif - -#endif /* _RegionId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RegionInfo.c b/src/tmx/Asn_J2735/src/r2024/RegionInfo.c new file mode 100644 index 000000000..586937a26 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RegionInfo.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RegionInfo.h" + +asn_TYPE_member_t asn_MBR_RegionInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RegionInfo, referencePoint), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "referencePoint" + }, + { ATF_POINTER, 5, offsetof(struct RegionInfo, locationUncertainty), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RegionUncertainty, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "locationUncertainty" + }, + { ATF_POINTER, 4, offsetof(struct RegionInfo, referencePointType), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ReferencePointType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "referencePointType" + }, + { ATF_POINTER, 3, offsetof(struct RegionInfo, descriptiveName), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveName, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "descriptiveName" + }, + { ATF_POINTER, 2, offsetof(struct RegionInfo, scale), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Zoom, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "scale" + }, + { ATF_POINTER, 1, offsetof(struct RegionInfo, approachRegion), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_AreaType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "approachRegion" + }, +}; +static const int asn_MAP_RegionInfo_oms_1[] = { 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_RegionInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RegionInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* referencePoint */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* locationUncertainty */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* referencePointType */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* descriptiveName */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* scale */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* approachRegion */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RegionInfo_specs_1 = { + sizeof(struct RegionInfo), + offsetof(struct RegionInfo, _asn_ctx), + asn_MAP_RegionInfo_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_RegionInfo_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RegionInfo = { + "RegionInfo", + "RegionInfo", + &asn_OP_SEQUENCE, + asn_DEF_RegionInfo_tags_1, + sizeof(asn_DEF_RegionInfo_tags_1) + /sizeof(asn_DEF_RegionInfo_tags_1[0]), /* 1 */ + asn_DEF_RegionInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_RegionInfo_tags_1) + /sizeof(asn_DEF_RegionInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RegionInfo_1, + 6, /* Elements count */ + &asn_SPC_RegionInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RegionInfo.h b/src/tmx/Asn_J2735/src/r2024/RegionInfo.h deleted file mode 100644 index b9da01fef..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RegionInfo.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RegionInfo_H_ -#define _RegionInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Position3D.h" -#include "ReferencePointType.h" -#include "DescriptiveName.h" -#include "Zoom.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RegionUncertainty; -struct AreaType; - -/* RegionInfo */ -typedef struct RegionInfo { - Position3D_t referencePoint; - struct RegionUncertainty *locationUncertainty; /* OPTIONAL */ - ReferencePointType_t *referencePointType; /* OPTIONAL */ - DescriptiveName_t *descriptiveName; /* OPTIONAL */ - Zoom_t *scale; /* OPTIONAL */ - struct AreaType *approachRegion; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RegionInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RegionInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_RegionInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_RegionInfo_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionUncertainty.h" -#include "AreaType.h" - -#endif /* _RegionInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RegionList.c b/src/tmx/Asn_J2735/src/r2024/RegionList.c new file mode 100644 index 000000000..b9a584a07 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RegionList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RegionList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RegionList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..64)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RegionList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 6, 6, 1, 64 } /* (SIZE(1..64)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RegionList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RegionOffsets, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RegionList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_RegionList_specs_1 = { + sizeof(struct RegionList), + offsetof(struct RegionList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_RegionList = { + "RegionList", + "RegionList", + &asn_OP_SEQUENCE_OF, + asn_DEF_RegionList_tags_1, + sizeof(asn_DEF_RegionList_tags_1) + /sizeof(asn_DEF_RegionList_tags_1[0]), /* 1 */ + asn_DEF_RegionList_tags_1, /* Same as above */ + sizeof(asn_DEF_RegionList_tags_1) + /sizeof(asn_DEF_RegionList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RegionList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RegionList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_RegionList_1, + 1, /* Single element */ + &asn_SPC_RegionList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RegionList.h b/src/tmx/Asn_J2735/src/r2024/RegionList.h deleted file mode 100644 index 4317f943a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RegionList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RegionList_H_ -#define _RegionList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RegionOffsets; - -/* RegionList */ -typedef struct RegionList { - A_SEQUENCE_OF(struct RegionOffsets) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RegionList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RegionList; -extern asn_SET_OF_specifics_t asn_SPC_RegionList_specs_1; -extern asn_TYPE_member_t asn_MBR_RegionList_1[1]; -extern asn_per_constraints_t asn_PER_type_RegionList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionOffsets.h" - -#endif /* _RegionList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RegionOffsets.c b/src/tmx/Asn_J2735/src/r2024/RegionOffsets.c new file mode 100644 index 000000000..df7eb8719 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RegionOffsets.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RegionOffsets.h" + +asn_TYPE_member_t asn_MBR_RegionOffsets_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RegionOffsets, xOffset), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B16, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "xOffset" + }, + { ATF_NOFLAGS, 0, offsetof(struct RegionOffsets, yOffset), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B16, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yOffset" + }, + { ATF_POINTER, 1, offsetof(struct RegionOffsets, zOffset), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OffsetLL_B16, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "zOffset" + }, +}; +static const int asn_MAP_RegionOffsets_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_RegionOffsets_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RegionOffsets_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* xOffset */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* yOffset */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* zOffset */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RegionOffsets_specs_1 = { + sizeof(struct RegionOffsets), + offsetof(struct RegionOffsets, _asn_ctx), + asn_MAP_RegionOffsets_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_RegionOffsets_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RegionOffsets = { + "RegionOffsets", + "RegionOffsets", + &asn_OP_SEQUENCE, + asn_DEF_RegionOffsets_tags_1, + sizeof(asn_DEF_RegionOffsets_tags_1) + /sizeof(asn_DEF_RegionOffsets_tags_1[0]), /* 1 */ + asn_DEF_RegionOffsets_tags_1, /* Same as above */ + sizeof(asn_DEF_RegionOffsets_tags_1) + /sizeof(asn_DEF_RegionOffsets_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RegionOffsets_1, + 3, /* Elements count */ + &asn_SPC_RegionOffsets_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RegionOffsets.h b/src/tmx/Asn_J2735/src/r2024/RegionOffsets.h deleted file mode 100644 index e015f5827..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RegionOffsets.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RegionOffsets_H_ -#define _RegionOffsets_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OffsetLL-B16.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RegionOffsets */ -typedef struct RegionOffsets { - OffsetLL_B16_t xOffset; - OffsetLL_B16_t yOffset; - OffsetLL_B16_t *zOffset; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RegionOffsets_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RegionOffsets; -extern asn_SEQUENCE_specifics_t asn_SPC_RegionOffsets_specs_1; -extern asn_TYPE_member_t asn_MBR_RegionOffsets_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RegionOffsets_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RegionPointSet.c b/src/tmx/Asn_J2735/src/r2024/RegionPointSet.c new file mode 100644 index 000000000..ef81e6584 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RegionPointSet.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RegionPointSet.h" + +asn_TYPE_member_t asn_MBR_RegionPointSet_1[] = { + { ATF_POINTER, 2, offsetof(struct RegionPointSet, anchor), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "anchor" + }, + { ATF_POINTER, 1, offsetof(struct RegionPointSet, scale), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Zoom, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "scale" + }, + { ATF_NOFLAGS, 0, offsetof(struct RegionPointSet, nodeList), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "nodeList" + }, +}; +static const int asn_MAP_RegionPointSet_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_RegionPointSet_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RegionPointSet_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* anchor */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* scale */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* nodeList */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RegionPointSet_specs_1 = { + sizeof(struct RegionPointSet), + offsetof(struct RegionPointSet, _asn_ctx), + asn_MAP_RegionPointSet_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_RegionPointSet_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RegionPointSet = { + "RegionPointSet", + "RegionPointSet", + &asn_OP_SEQUENCE, + asn_DEF_RegionPointSet_tags_1, + sizeof(asn_DEF_RegionPointSet_tags_1) + /sizeof(asn_DEF_RegionPointSet_tags_1[0]), /* 1 */ + asn_DEF_RegionPointSet_tags_1, /* Same as above */ + sizeof(asn_DEF_RegionPointSet_tags_1) + /sizeof(asn_DEF_RegionPointSet_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RegionPointSet_1, + 3, /* Elements count */ + &asn_SPC_RegionPointSet_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RegionPointSet.h b/src/tmx/Asn_J2735/src/r2024/RegionPointSet.h deleted file mode 100644 index eb1f9fddf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RegionPointSet.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RegionPointSet_H_ -#define _RegionPointSet_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Zoom.h" -#include "RegionList.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Position3D; - -/* RegionPointSet */ -typedef struct RegionPointSet { - struct Position3D *anchor; /* OPTIONAL */ - Zoom_t *scale; /* OPTIONAL */ - RegionList_t nodeList; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RegionPointSet_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RegionPointSet; -extern asn_SEQUENCE_specifics_t asn_SPC_RegionPointSet_specs_1; -extern asn_TYPE_member_t asn_MBR_RegionPointSet_1[3]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Position3D.h" - -#endif /* _RegionPointSet_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RegionUncertainty.c b/src/tmx/Asn_J2735/src/r2024/RegionUncertainty.c new file mode 100644 index 000000000..8d8887146 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RegionUncertainty.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RegionUncertainty.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RegionUncertainty_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RegionUncertainty_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RegionUncertainty_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RegionUncertainty, choice.alongPath), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "alongPath" + }, + { ATF_NOFLAGS, 0, offsetof(struct RegionUncertainty, choice.inCoordinateFrame), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "inCoordinateFrame" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RegionUncertainty_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* alongPath */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* inCoordinateFrame */ +}; +asn_CHOICE_specifics_t asn_SPC_RegionUncertainty_specs_1 = { + sizeof(struct RegionUncertainty), + offsetof(struct RegionUncertainty, _asn_ctx), + offsetof(struct RegionUncertainty, present), + sizeof(((struct RegionUncertainty *)0)->present), + asn_MAP_RegionUncertainty_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RegionUncertainty = { + "RegionUncertainty", + "RegionUncertainty", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RegionUncertainty_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RegionUncertainty_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_RegionUncertainty_1, + 2, /* Elements count */ + &asn_SPC_RegionUncertainty_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RegionUncertainty.h b/src/tmx/Asn_J2735/src/r2024/RegionUncertainty.h deleted file mode 100644 index 7d0e6525c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RegionUncertainty.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RegionUncertainty_H_ -#define _RegionUncertainty_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Offset3D.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RegionUncertainty_PR { - RegionUncertainty_PR_NOTHING, /* No components present */ - RegionUncertainty_PR_alongPath, - RegionUncertainty_PR_inCoordinateFrame - /* Extensions may appear below */ - -} RegionUncertainty_PR; - -/* RegionUncertainty */ -typedef struct RegionUncertainty { - RegionUncertainty_PR present; - union RegionUncertainty_u { - Offset3D_t alongPath; - Offset3D_t inCoordinateFrame; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RegionUncertainty_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RegionUncertainty; -extern asn_CHOICE_specifics_t asn_SPC_RegionUncertainty_specs_1; -extern asn_TYPE_member_t asn_MBR_RegionUncertainty_1[2]; -extern asn_per_constraints_t asn_PER_type_RegionUncertainty_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _RegionUncertainty_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RegionalExtension.c b/src/tmx/Asn_J2735/src/r2024/RegionalExtension.c new file mode 100644 index 000000000..17b9e3208 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RegionalExtension.c @@ -0,0 +1,11120 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RegionalExtension.h" + +static const long asn_VAL_3_addGrpB = 2; +static const asn_ioc_cell_t asn_IOS_Reg_LaneDataAttribute_1_rows[] = { + { "&id", aioc__value, &asn_DEF_RegionId, &asn_VAL_3_addGrpB }, + { "&Type", aioc__type, &asn_DEF_LaneDataAttribute_addGrpB } +}; +static const asn_ioc_set_t asn_IOS_Reg_LaneDataAttribute_1[] = { + { 1, 2, asn_IOS_Reg_LaneDataAttribute_1_rows } +}; +static const long asn_VAL_5_addGrpB = 2; +static const asn_ioc_cell_t asn_IOS_Reg_NodeOffsetPointXY_1_rows[] = { + { "&id", aioc__value, &asn_DEF_RegionId, &asn_VAL_5_addGrpB }, + { "&Type", aioc__type, &asn_DEF_NodeOffsetPointXY_addGrpB } +}; +static const asn_ioc_set_t asn_IOS_Reg_NodeOffsetPointXY_1[] = { + { 1, 2, asn_IOS_Reg_NodeOffsetPointXY_1_rows } +}; +static const long asn_VAL_6_addGrpB = 2; +static const long asn_VAL_7_addGrpC = 3; +static const asn_ioc_cell_t asn_IOS_Reg_Position3D_1_rows[] = { + { "&id", aioc__value, &asn_DEF_RegionId, &asn_VAL_6_addGrpB }, + { "&Type", aioc__type, &asn_DEF_Position3D_addGrpB }, + { "&id", aioc__value, &asn_DEF_RegionId, &asn_VAL_7_addGrpC }, + { "&Type", aioc__type, &asn_DEF_Position3D_addGrpC } +}; +static const asn_ioc_set_t asn_IOS_Reg_Position3D_1[] = { + { 2, 2, asn_IOS_Reg_Position3D_1_rows } +}; +static const long asn_VAL_9_addGrpC = 3; +static const asn_ioc_cell_t asn_IOS_Reg_MapData_1_rows[] = { + { "&id", aioc__value, &asn_DEF_RegionId, &asn_VAL_9_addGrpC }, + { "&Type", aioc__type, &asn_DEF_MapData_addGrpC } +}; +static const asn_ioc_set_t asn_IOS_Reg_MapData_1[] = { + { 1, 2, asn_IOS_Reg_MapData_1_rows } +}; +static const long asn_VAL_8_addGrpC = 3; +static const asn_ioc_cell_t asn_IOS_Reg_RestrictionUserType_1_rows[] = { + { "&id", aioc__value, &asn_DEF_RegionId, &asn_VAL_8_addGrpC }, + { "&Type", aioc__type, &asn_DEF_RestrictionUserType_addGrpC } +}; +static const asn_ioc_set_t asn_IOS_Reg_RestrictionUserType_1[] = { + { 1, 2, asn_IOS_Reg_RestrictionUserType_1_rows } +}; +static const long asn_VAL_1_addGrpC = 3; +static const asn_ioc_cell_t asn_IOS_Reg_ConnectionManeuverAssist_1_rows[] = { + { "&id", aioc__value, &asn_DEF_RegionId, &asn_VAL_1_addGrpC }, + { "&Type", aioc__type, &asn_DEF_ConnectionManeuverAssist_addGrpC } +}; +static const asn_ioc_set_t asn_IOS_Reg_ConnectionManeuverAssist_1[] = { + { 1, 2, asn_IOS_Reg_ConnectionManeuverAssist_1_rows } +}; +static const long asn_VAL_2_addGrpC = 3; +static const asn_ioc_cell_t asn_IOS_Reg_IntersectionState_1_rows[] = { + { "&id", aioc__value, &asn_DEF_RegionId, &asn_VAL_2_addGrpC }, + { "&Type", aioc__type, &asn_DEF_IntersectionState_addGrpC } +}; +static const asn_ioc_set_t asn_IOS_Reg_IntersectionState_1[] = { + { 1, 2, asn_IOS_Reg_IntersectionState_1_rows } +}; +static const long asn_VAL_4_addGrpB = 2; +static const asn_ioc_cell_t asn_IOS_Reg_MovementEvent_1_rows[] = { + { "&id", aioc__value, &asn_DEF_RegionId, &asn_VAL_4_addGrpB }, + { "&Type", aioc__type, &asn_DEF_MovementEvent_addGrpB } +}; +static const asn_ioc_set_t asn_IOS_Reg_MovementEvent_1[] = { + { 1, 2, asn_IOS_Reg_MovementEvent_1_rows } +}; +static int +memb_regionId_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_4(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_4(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_7(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_7(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_10(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_10(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_13(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_Reg_LaneDataAttribute_regExtValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_Reg_LaneDataAttribute_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &Type */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Reg_LaneDataAttribute, regionId)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_regExtValue_constraint_13(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_16(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_16(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_19(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_Reg_NodeOffsetPointXY_regExtValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_Reg_NodeOffsetPointXY_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &Type */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Reg_NodeOffsetPointXY, regionId)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_regExtValue_constraint_19(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_22(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_Reg_Position3D_regExtValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_Reg_Position3D_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &Type */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Reg_Position3D, regionId)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_regExtValue_constraint_22(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_25(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_25(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_28(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_28(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_31(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_31(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_34(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_34(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_37(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_37(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_40(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_40(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_43(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_Reg_MapData_regExtValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_Reg_MapData_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &Type */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Reg_MapData, regionId)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_regExtValue_constraint_43(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_46(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_46(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_49(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_49(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_52(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_52(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_55(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_55(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_58(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_Reg_RestrictionUserType_regExtValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_Reg_RestrictionUserType_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &Type */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Reg_RestrictionUserType, regionId)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_regExtValue_constraint_58(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_61(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_61(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_64(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_64(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_67(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_67(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_70(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_70(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_73(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_73(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_76(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_76(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_79(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_79(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_82(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_82(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_85(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_88(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_88(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_91(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_91(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_94(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_94(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_97(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_97(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_100(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_100(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_103(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_103(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_106(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_106(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_109(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_Reg_ConnectionManeuverAssist_regExtValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_Reg_ConnectionManeuverAssist_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &Type */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Reg_ConnectionManeuverAssist, regionId)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_regExtValue_constraint_109(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_112(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_Reg_IntersectionState_regExtValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_Reg_IntersectionState_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &Type */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Reg_IntersectionState, regionId)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_regExtValue_constraint_112(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_115(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static asn_type_selector_result_t +select_Reg_MovementEvent_regExtValue_type(const asn_TYPE_descriptor_t *parent_type, const void *parent_sptr) { + asn_type_selector_result_t result = {0, 0}; + const asn_ioc_set_t *itable = asn_IOS_Reg_MovementEvent_1; + size_t constraining_column = 0; /* &id */ + size_t for_column = 1; /* &Type */ + size_t row, presence_index = 0; + const long *constraining_value = (const long *)((const char *)parent_sptr + offsetof(struct Reg_MovementEvent, regionId)); + + for(row=0; row < itable->rows_count; row++) { + const asn_ioc_cell_t *constraining_cell = &itable->rows[row * itable->columns_count + constraining_column]; + const asn_ioc_cell_t *type_cell = &itable->rows[row * itable->columns_count + for_column]; + + if(type_cell->cell_kind == aioc__undefined) + continue; + + presence_index++; + if(constraining_cell->type_descriptor->op->compare_struct(constraining_cell->type_descriptor, constraining_value, constraining_cell->value_sptr) == 0) { + result.type_descriptor = type_cell->type_descriptor; + result.presence_index = presence_index; + break; + } + } + + return result; +} + +static int +memb_regExtValue_constraint_115(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_118(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_118(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_121(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_121(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_124(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_124(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_127(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_127(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_130(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_130(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_133(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_133(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_136(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_136(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_139(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_139(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_142(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_142(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_145(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_145(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_148(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_148(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_151(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_151(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_154(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_154(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_157(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_157(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_160(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_160(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_163(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_163(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_166(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_166(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_169(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_169(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_172(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_172(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_175(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_175(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_178(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_178(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_regionId_constraint_181(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regExtValue_constraint_181(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_2 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_5 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_8 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_8 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_9 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_9 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_11 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_11 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_12 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_12 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_14 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_14 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_15 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_15 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_17 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_17 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_18 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_18 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_20 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_20 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_21 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_21 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_23 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_23 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_24 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_24 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_26 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_26 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_27 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_27 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_29 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_29 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_30 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_30 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_32 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_32 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_33 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_33 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_35 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_35 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_36 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_36 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_38 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_38 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_39 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_39 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_41 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_41 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_42 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_42 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_44 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_44 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_45 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_45 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_47 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_47 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_48 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_48 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_50 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_50 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_51 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_51 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_53 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_53 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_54 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_54 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_56 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_56 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_57 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_57 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_59 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_59 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_60 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_60 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_62 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_62 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_63 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_63 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_65 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_65 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_66 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_66 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_68 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_68 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_69 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_69 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_71 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_71 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_72 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_72 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_74 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_74 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_75 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_75 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_77 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_77 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_78 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_78 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_80 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_80 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_81 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_81 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_83 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_83 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_84 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_84 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_86 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_86 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_87 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_87 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_89 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_89 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_90 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_90 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_92 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_92 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_93 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_93 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_95 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_95 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_96 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_96 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_98 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_98 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_99 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_99 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_101 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_101 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_102 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_102 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_104 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_104 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_105 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_105 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_107 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_107 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_108 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_108 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_110 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_110 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_111 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_111 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_113 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_113 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_114 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_114 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_116 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_116 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_117 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_117 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_119 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_119 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_120 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_120 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_122 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_122 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_123 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_123 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_125 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_125 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_126 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_126 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_128 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_128 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_129 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_129 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_131 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_131 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_132 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_132 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_134 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_134 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_135 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_135 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_137 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_137 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_138 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_138 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_140 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_140 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_141 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_141 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_143 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_143 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_144 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_144 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_146 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_146 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_147 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_147 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_149 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_149 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_150 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_150 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_152 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_152 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_153 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_153 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_155 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_155 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_156 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_156 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_158 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_158 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_159 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_159 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_161 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_161 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_162 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_162 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_164 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_164 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_165 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_165 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_167 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_167 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_168 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_168 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_170 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_170 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_171 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_171 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_173 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_173 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_174 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_174 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_176 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_176 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_177 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_177 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_179 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_179 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_180 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_180 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regionId_constr_182 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regionId_constr_182 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regExtValue_constr_183 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regExtValue_constr_183 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_3 = { + sizeof(struct Reg_BasicSafetyMessage__regExtValue), + offsetof(struct Reg_BasicSafetyMessage__regExtValue, _asn_ctx), + offsetof(struct Reg_BasicSafetyMessage__regExtValue, present), + sizeof(((struct Reg_BasicSafetyMessage__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_3 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_BasicSafetyMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_BasicSafetyMessage, regionId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_1 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_BasicSafetyMessage, regExtValue), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_regExtValue_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_1 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_BasicSafetyMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_BasicSafetyMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* regionId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regExtValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_BasicSafetyMessage_specs_1 = { + sizeof(struct Reg_BasicSafetyMessage), + offsetof(struct Reg_BasicSafetyMessage, _asn_ctx), + asn_MAP_Reg_BasicSafetyMessage_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_BasicSafetyMessage = { + "Reg-BasicSafetyMessage", + "Reg-BasicSafetyMessage", + &asn_OP_SEQUENCE, + asn_DEF_Reg_BasicSafetyMessage_tags_1, + sizeof(asn_DEF_Reg_BasicSafetyMessage_tags_1) + /sizeof(asn_DEF_Reg_BasicSafetyMessage_tags_1[0]), /* 1 */ + asn_DEF_Reg_BasicSafetyMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_Reg_BasicSafetyMessage_tags_1) + /sizeof(asn_DEF_Reg_BasicSafetyMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_BasicSafetyMessage_1, + 2, /* Elements count */ + &asn_SPC_Reg_BasicSafetyMessage_specs_1 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_6 = { + sizeof(struct Reg_EventDescription__regExtValue), + offsetof(struct Reg_EventDescription__regExtValue, _asn_ctx), + offsetof(struct Reg_EventDescription__regExtValue, present), + sizeof(((struct Reg_EventDescription__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_6 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_6 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_EventDescription_4[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_EventDescription, regionId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_4 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_EventDescription, regExtValue), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_regExtValue_6, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_4 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_EventDescription_tags_4[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_EventDescription_tag2el_4[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* regionId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regExtValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_EventDescription_specs_4 = { + sizeof(struct Reg_EventDescription), + offsetof(struct Reg_EventDescription, _asn_ctx), + asn_MAP_Reg_EventDescription_tag2el_4, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_EventDescription = { + "Reg-EventDescription", + "Reg-EventDescription", + &asn_OP_SEQUENCE, + asn_DEF_Reg_EventDescription_tags_4, + sizeof(asn_DEF_Reg_EventDescription_tags_4) + /sizeof(asn_DEF_Reg_EventDescription_tags_4[0]), /* 1 */ + asn_DEF_Reg_EventDescription_tags_4, /* Same as above */ + sizeof(asn_DEF_Reg_EventDescription_tags_4) + /sizeof(asn_DEF_Reg_EventDescription_tags_4[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_EventDescription_4, + 2, /* Elements count */ + &asn_SPC_Reg_EventDescription_specs_4 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_9 = { + sizeof(struct Reg_SupplementalVehicleExtensions__regExtValue), + offsetof(struct Reg_SupplementalVehicleExtensions__regExtValue, _asn_ctx), + offsetof(struct Reg_SupplementalVehicleExtensions__regExtValue, present), + sizeof(((struct Reg_SupplementalVehicleExtensions__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_9 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_9 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_SupplementalVehicleExtensions_7[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_SupplementalVehicleExtensions, regionId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_7 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_SupplementalVehicleExtensions, regExtValue), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_regExtValue_9, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_9, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_9, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_7 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_SupplementalVehicleExtensions_tags_7[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_SupplementalVehicleExtensions_tag2el_7[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* regionId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regExtValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_SupplementalVehicleExtensions_specs_7 = { + sizeof(struct Reg_SupplementalVehicleExtensions), + offsetof(struct Reg_SupplementalVehicleExtensions, _asn_ctx), + asn_MAP_Reg_SupplementalVehicleExtensions_tag2el_7, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_SupplementalVehicleExtensions = { + "Reg-SupplementalVehicleExtensions", + "Reg-SupplementalVehicleExtensions", + &asn_OP_SEQUENCE, + asn_DEF_Reg_SupplementalVehicleExtensions_tags_7, + sizeof(asn_DEF_Reg_SupplementalVehicleExtensions_tags_7) + /sizeof(asn_DEF_Reg_SupplementalVehicleExtensions_tags_7[0]), /* 1 */ + asn_DEF_Reg_SupplementalVehicleExtensions_tags_7, /* Same as above */ + sizeof(asn_DEF_Reg_SupplementalVehicleExtensions_tags_7) + /sizeof(asn_DEF_Reg_SupplementalVehicleExtensions_tags_7[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_SupplementalVehicleExtensions_7, + 2, /* Elements count */ + &asn_SPC_Reg_SupplementalVehicleExtensions_specs_7 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_12 = { + sizeof(struct Reg_ComputedLane__regExtValue), + offsetof(struct Reg_ComputedLane__regExtValue, _asn_ctx), + offsetof(struct Reg_ComputedLane__regExtValue, present), + sizeof(((struct Reg_ComputedLane__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_12 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_12 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_ComputedLane_10[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_ComputedLane, regionId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_11, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_11, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_10 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_ComputedLane, regExtValue), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_regExtValue_12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_12, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_12, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_10 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_ComputedLane_tags_10[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_ComputedLane_tag2el_10[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* regionId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regExtValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_ComputedLane_specs_10 = { + sizeof(struct Reg_ComputedLane), + offsetof(struct Reg_ComputedLane, _asn_ctx), + asn_MAP_Reg_ComputedLane_tag2el_10, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_ComputedLane = { + "Reg-ComputedLane", + "Reg-ComputedLane", + &asn_OP_SEQUENCE, + asn_DEF_Reg_ComputedLane_tags_10, + sizeof(asn_DEF_Reg_ComputedLane_tags_10) + /sizeof(asn_DEF_Reg_ComputedLane_tags_10[0]), /* 1 */ + asn_DEF_Reg_ComputedLane_tags_10, /* Same as above */ + sizeof(asn_DEF_Reg_ComputedLane_tags_10) + /sizeof(asn_DEF_Reg_ComputedLane_tags_10[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_ComputedLane_10, + 2, /* Elements count */ + &asn_SPC_Reg_ComputedLane_specs_10 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regExtValue_15[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_LaneDataAttribute__regExtValue, choice.LaneDataAttribute_addGrpB), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_LaneDataAttribute_addGrpB, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "LaneDataAttribute-addGrpB" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_regExtValue_tag2el_15[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* LaneDataAttribute-addGrpB */ +}; +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_15 = { + sizeof(struct Reg_LaneDataAttribute__regExtValue), + offsetof(struct Reg_LaneDataAttribute__regExtValue, _asn_ctx), + offsetof(struct Reg_LaneDataAttribute__regExtValue, present), + sizeof(((struct Reg_LaneDataAttribute__regExtValue *)0)->present), + asn_MAP_regExtValue_tag2el_15, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_15 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + asn_MBR_regExtValue_15, + 1, /* Elements count */ + &asn_SPC_regExtValue_specs_15 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_LaneDataAttribute_13[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_LaneDataAttribute, regionId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_14, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_14, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_13 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_LaneDataAttribute, regExtValue), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_regExtValue_15, + select_Reg_LaneDataAttribute_regExtValue_type, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_15, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_15, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_13 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_LaneDataAttribute_tags_13[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_LaneDataAttribute_tag2el_13[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* regionId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regExtValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_LaneDataAttribute_specs_13 = { + sizeof(struct Reg_LaneDataAttribute), + offsetof(struct Reg_LaneDataAttribute, _asn_ctx), + asn_MAP_Reg_LaneDataAttribute_tag2el_13, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_LaneDataAttribute = { + "Reg-LaneDataAttribute", + "Reg-LaneDataAttribute", + &asn_OP_SEQUENCE, + asn_DEF_Reg_LaneDataAttribute_tags_13, + sizeof(asn_DEF_Reg_LaneDataAttribute_tags_13) + /sizeof(asn_DEF_Reg_LaneDataAttribute_tags_13[0]), /* 1 */ + asn_DEF_Reg_LaneDataAttribute_tags_13, /* Same as above */ + sizeof(asn_DEF_Reg_LaneDataAttribute_tags_13) + /sizeof(asn_DEF_Reg_LaneDataAttribute_tags_13[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_LaneDataAttribute_13, + 2, /* Elements count */ + &asn_SPC_Reg_LaneDataAttribute_specs_13 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_18 = { + sizeof(struct Reg_NodeAttributeSetXY__regExtValue), + offsetof(struct Reg_NodeAttributeSetXY__regExtValue, _asn_ctx), + offsetof(struct Reg_NodeAttributeSetXY__regExtValue, present), + sizeof(((struct Reg_NodeAttributeSetXY__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_18 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_18 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_NodeAttributeSetXY_16[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_NodeAttributeSetXY, regionId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_17, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_17, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_16 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_NodeAttributeSetXY, regExtValue), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_regExtValue_18, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_18, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_18, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_16 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_NodeAttributeSetXY_tags_16[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_NodeAttributeSetXY_tag2el_16[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* regionId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regExtValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_NodeAttributeSetXY_specs_16 = { + sizeof(struct Reg_NodeAttributeSetXY), + offsetof(struct Reg_NodeAttributeSetXY, _asn_ctx), + asn_MAP_Reg_NodeAttributeSetXY_tag2el_16, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_NodeAttributeSetXY = { + "Reg-NodeAttributeSetXY", + "Reg-NodeAttributeSetXY", + &asn_OP_SEQUENCE, + asn_DEF_Reg_NodeAttributeSetXY_tags_16, + sizeof(asn_DEF_Reg_NodeAttributeSetXY_tags_16) + /sizeof(asn_DEF_Reg_NodeAttributeSetXY_tags_16[0]), /* 1 */ + asn_DEF_Reg_NodeAttributeSetXY_tags_16, /* Same as above */ + sizeof(asn_DEF_Reg_NodeAttributeSetXY_tags_16) + /sizeof(asn_DEF_Reg_NodeAttributeSetXY_tags_16[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_NodeAttributeSetXY_16, + 2, /* Elements count */ + &asn_SPC_Reg_NodeAttributeSetXY_specs_16 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regExtValue_21[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_NodeOffsetPointXY__regExtValue, choice.NodeOffsetPointXY_addGrpB), + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_NodeOffsetPointXY_addGrpB, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "NodeOffsetPointXY-addGrpB" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_regExtValue_tag2el_21[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* posA */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 0, 0, 0 } /* posB */ +}; +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_21 = { + sizeof(struct Reg_NodeOffsetPointXY__regExtValue), + offsetof(struct Reg_NodeOffsetPointXY__regExtValue, _asn_ctx), + offsetof(struct Reg_NodeOffsetPointXY__regExtValue, present), + sizeof(((struct Reg_NodeOffsetPointXY__regExtValue *)0)->present), + asn_MAP_regExtValue_tag2el_21, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_21 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + asn_MBR_regExtValue_21, + 1, /* Elements count */ + &asn_SPC_regExtValue_specs_21 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_NodeOffsetPointXY_19[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_NodeOffsetPointXY, regionId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_20, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_20, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_19 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_NodeOffsetPointXY, regExtValue), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_regExtValue_21, + select_Reg_NodeOffsetPointXY_regExtValue_type, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_21, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_21, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_19 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_NodeOffsetPointXY_tags_19[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_NodeOffsetPointXY_tag2el_19[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* regionId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regExtValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_NodeOffsetPointXY_specs_19 = { + sizeof(struct Reg_NodeOffsetPointXY), + offsetof(struct Reg_NodeOffsetPointXY, _asn_ctx), + asn_MAP_Reg_NodeOffsetPointXY_tag2el_19, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_NodeOffsetPointXY = { + "Reg-NodeOffsetPointXY", + "Reg-NodeOffsetPointXY", + &asn_OP_SEQUENCE, + asn_DEF_Reg_NodeOffsetPointXY_tags_19, + sizeof(asn_DEF_Reg_NodeOffsetPointXY_tags_19) + /sizeof(asn_DEF_Reg_NodeOffsetPointXY_tags_19[0]), /* 1 */ + asn_DEF_Reg_NodeOffsetPointXY_tags_19, /* Same as above */ + sizeof(asn_DEF_Reg_NodeOffsetPointXY_tags_19) + /sizeof(asn_DEF_Reg_NodeOffsetPointXY_tags_19[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_NodeOffsetPointXY_19, + 2, /* Elements count */ + &asn_SPC_Reg_NodeOffsetPointXY_specs_19 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regExtValue_24[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_Position3D__regExtValue, choice.Position3D_addGrpB), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Position3D_addGrpB, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "Position3D-addGrpB" + }, + { ATF_NOFLAGS, 0, offsetof(struct Reg_Position3D__regExtValue, choice.Position3D_addGrpC), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Position3D_addGrpC, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "Position3D-addGrpC" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_regExtValue_tag2el_24[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* Position3D-addGrpB */ + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 } /* Position3D-addGrpC */ +}; +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_24 = { + sizeof(struct Reg_Position3D__regExtValue), + offsetof(struct Reg_Position3D__regExtValue, _asn_ctx), + offsetof(struct Reg_Position3D__regExtValue, present), + sizeof(((struct Reg_Position3D__regExtValue *)0)->present), + asn_MAP_regExtValue_tag2el_24, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_24 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + asn_MBR_regExtValue_24, + 2, /* Elements count */ + &asn_SPC_regExtValue_specs_24 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_Position3D_22[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_Position3D, regionId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_23, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_23, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_22 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_Position3D, regExtValue), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_regExtValue_24, + select_Reg_Position3D_regExtValue_type, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_24, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_24, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_22 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_Position3D_tags_22[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_Position3D_tag2el_22[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* regionId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regExtValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_Position3D_specs_22 = { + sizeof(struct Reg_Position3D), + offsetof(struct Reg_Position3D, _asn_ctx), + asn_MAP_Reg_Position3D_tag2el_22, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_Position3D = { + "Reg-Position3D", + "Reg-Position3D", + &asn_OP_SEQUENCE, + asn_DEF_Reg_Position3D_tags_22, + sizeof(asn_DEF_Reg_Position3D_tags_22) + /sizeof(asn_DEF_Reg_Position3D_tags_22[0]), /* 1 */ + asn_DEF_Reg_Position3D_tags_22, /* Same as above */ + sizeof(asn_DEF_Reg_Position3D_tags_22) + /sizeof(asn_DEF_Reg_Position3D_tags_22[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_Position3D_22, + 2, /* Elements count */ + &asn_SPC_Reg_Position3D_specs_22 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_27 = { + sizeof(struct Reg_RequestorType__regExtValue), + offsetof(struct Reg_RequestorType__regExtValue, _asn_ctx), + offsetof(struct Reg_RequestorType__regExtValue, present), + sizeof(((struct Reg_RequestorType__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_27 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_27 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_RequestorType_25[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_RequestorType, regionId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_26, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_26, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_25 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_RequestorType, regExtValue), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_regExtValue_27, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_27, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_27, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_25 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_RequestorType_tags_25[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_RequestorType_tag2el_25[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* regionId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regExtValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_RequestorType_specs_25 = { + sizeof(struct Reg_RequestorType), + offsetof(struct Reg_RequestorType, _asn_ctx), + asn_MAP_Reg_RequestorType_tag2el_25, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_RequestorType = { + "Reg-RequestorType", + "Reg-RequestorType", + &asn_OP_SEQUENCE, + asn_DEF_Reg_RequestorType_tags_25, + sizeof(asn_DEF_Reg_RequestorType_tags_25) + /sizeof(asn_DEF_Reg_RequestorType_tags_25[0]), /* 1 */ + asn_DEF_Reg_RequestorType_tags_25, /* Same as above */ + sizeof(asn_DEF_Reg_RequestorType_tags_25) + /sizeof(asn_DEF_Reg_RequestorType_tags_25[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_RequestorType_25, + 2, /* Elements count */ + &asn_SPC_Reg_RequestorType_specs_25 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_30 = { + sizeof(struct Reg_VehicleClassification__regExtValue), + offsetof(struct Reg_VehicleClassification__regExtValue, _asn_ctx), + offsetof(struct Reg_VehicleClassification__regExtValue, present), + sizeof(((struct Reg_VehicleClassification__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_30 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_30 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_VehicleClassification_28[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_VehicleClassification, regionId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_29, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_29, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_28 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_VehicleClassification, regExtValue), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_regExtValue_30, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_30, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_30, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_28 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_VehicleClassification_tags_28[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_VehicleClassification_tag2el_28[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* regionId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regExtValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_VehicleClassification_specs_28 = { + sizeof(struct Reg_VehicleClassification), + offsetof(struct Reg_VehicleClassification, _asn_ctx), + asn_MAP_Reg_VehicleClassification_tag2el_28, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_VehicleClassification = { + "Reg-VehicleClassification", + "Reg-VehicleClassification", + &asn_OP_SEQUENCE, + asn_DEF_Reg_VehicleClassification_tags_28, + sizeof(asn_DEF_Reg_VehicleClassification_tags_28) + /sizeof(asn_DEF_Reg_VehicleClassification_tags_28[0]), /* 1 */ + asn_DEF_Reg_VehicleClassification_tags_28, /* Same as above */ + sizeof(asn_DEF_Reg_VehicleClassification_tags_28) + /sizeof(asn_DEF_Reg_VehicleClassification_tags_28[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_VehicleClassification_28, + 2, /* Elements count */ + &asn_SPC_Reg_VehicleClassification_specs_28 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_33 = { + sizeof(struct Reg_VerticalOffset__regExtValue), + offsetof(struct Reg_VerticalOffset__regExtValue, _asn_ctx), + offsetof(struct Reg_VerticalOffset__regExtValue, present), + sizeof(((struct Reg_VerticalOffset__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_33 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_33 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_VerticalOffset_31[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_VerticalOffset, regionId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_32, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_32, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_31 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_VerticalOffset, regExtValue), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_regExtValue_33, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_33, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_33, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_31 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_VerticalOffset_tags_31[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_VerticalOffset_tag2el_31[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* regionId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regExtValue */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_VerticalOffset_specs_31 = { + sizeof(struct Reg_VerticalOffset), + offsetof(struct Reg_VerticalOffset, _asn_ctx), + asn_MAP_Reg_VerticalOffset_tag2el_31, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_VerticalOffset = { + "Reg-VerticalOffset", + "Reg-VerticalOffset", + &asn_OP_SEQUENCE, + asn_DEF_Reg_VerticalOffset_tags_31, + sizeof(asn_DEF_Reg_VerticalOffset_tags_31) + /sizeof(asn_DEF_Reg_VerticalOffset_tags_31[0]), /* 1 */ + asn_DEF_Reg_VerticalOffset_tags_31, /* Same as above */ + sizeof(asn_DEF_Reg_VerticalOffset_tags_31) + /sizeof(asn_DEF_Reg_VerticalOffset_tags_31[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_VerticalOffset_31, + 2, /* Elements count */ + &asn_SPC_Reg_VerticalOffset_specs_31 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_36 = { + sizeof(struct Reg_CommonSafetyRequest__regExtValue), + offsetof(struct Reg_CommonSafetyRequest__regExtValue, _asn_ctx), + offsetof(struct Reg_CommonSafetyRequest__regExtValue, present), + sizeof(((struct Reg_CommonSafetyRequest__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_36 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_36 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_CommonSafetyRequest_34[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_CommonSafetyRequest, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_35, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_35, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_34 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_CommonSafetyRequest, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_36, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_36, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_36, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_34 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_CommonSafetyRequest_tags_34[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_CommonSafetyRequest_tag2el_34[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_CommonSafetyRequest_specs_34 = { + sizeof(struct Reg_CommonSafetyRequest), + offsetof(struct Reg_CommonSafetyRequest, _asn_ctx), + asn_MAP_Reg_CommonSafetyRequest_tag2el_34, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_CommonSafetyRequest = { + "Reg-CommonSafetyRequest", + "Reg-CommonSafetyRequest", + &asn_OP_SEQUENCE, + asn_DEF_Reg_CommonSafetyRequest_tags_34, + sizeof(asn_DEF_Reg_CommonSafetyRequest_tags_34) + /sizeof(asn_DEF_Reg_CommonSafetyRequest_tags_34[0]), /* 1 */ + asn_DEF_Reg_CommonSafetyRequest_tags_34, /* Same as above */ + sizeof(asn_DEF_Reg_CommonSafetyRequest_tags_34) + /sizeof(asn_DEF_Reg_CommonSafetyRequest_tags_34[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_CommonSafetyRequest_34, + 2, /* Elements count */ + &asn_SPC_Reg_CommonSafetyRequest_specs_34 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_39 = { + sizeof(struct Reg_EmergencyVehicleAlert__regExtValue), + offsetof(struct Reg_EmergencyVehicleAlert__regExtValue, _asn_ctx), + offsetof(struct Reg_EmergencyVehicleAlert__regExtValue, present), + sizeof(((struct Reg_EmergencyVehicleAlert__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_39 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_39 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_EmergencyVehicleAlert_37[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_EmergencyVehicleAlert, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_38, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_38, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_37 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_EmergencyVehicleAlert, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_39, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_39, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_39, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_37 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_EmergencyVehicleAlert_tags_37[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_EmergencyVehicleAlert_tag2el_37[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_EmergencyVehicleAlert_specs_37 = { + sizeof(struct Reg_EmergencyVehicleAlert), + offsetof(struct Reg_EmergencyVehicleAlert, _asn_ctx), + asn_MAP_Reg_EmergencyVehicleAlert_tag2el_37, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_EmergencyVehicleAlert = { + "Reg-EmergencyVehicleAlert", + "Reg-EmergencyVehicleAlert", + &asn_OP_SEQUENCE, + asn_DEF_Reg_EmergencyVehicleAlert_tags_37, + sizeof(asn_DEF_Reg_EmergencyVehicleAlert_tags_37) + /sizeof(asn_DEF_Reg_EmergencyVehicleAlert_tags_37[0]), /* 1 */ + asn_DEF_Reg_EmergencyVehicleAlert_tags_37, /* Same as above */ + sizeof(asn_DEF_Reg_EmergencyVehicleAlert_tags_37) + /sizeof(asn_DEF_Reg_EmergencyVehicleAlert_tags_37[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_EmergencyVehicleAlert_37, + 2, /* Elements count */ + &asn_SPC_Reg_EmergencyVehicleAlert_specs_37 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_42 = { + sizeof(struct Reg_IntersectionCollision__regExtValue), + offsetof(struct Reg_IntersectionCollision__regExtValue, _asn_ctx), + offsetof(struct Reg_IntersectionCollision__regExtValue, present), + sizeof(((struct Reg_IntersectionCollision__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_42 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_42 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_IntersectionCollision_40[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_IntersectionCollision, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_41, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_41, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_40 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_IntersectionCollision, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_42, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_42, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_42, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_40 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_IntersectionCollision_tags_40[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_IntersectionCollision_tag2el_40[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_IntersectionCollision_specs_40 = { + sizeof(struct Reg_IntersectionCollision), + offsetof(struct Reg_IntersectionCollision, _asn_ctx), + asn_MAP_Reg_IntersectionCollision_tag2el_40, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_IntersectionCollision = { + "Reg-IntersectionCollision", + "Reg-IntersectionCollision", + &asn_OP_SEQUENCE, + asn_DEF_Reg_IntersectionCollision_tags_40, + sizeof(asn_DEF_Reg_IntersectionCollision_tags_40) + /sizeof(asn_DEF_Reg_IntersectionCollision_tags_40[0]), /* 1 */ + asn_DEF_Reg_IntersectionCollision_tags_40, /* Same as above */ + sizeof(asn_DEF_Reg_IntersectionCollision_tags_40) + /sizeof(asn_DEF_Reg_IntersectionCollision_tags_40[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_IntersectionCollision_40, + 2, /* Elements count */ + &asn_SPC_Reg_IntersectionCollision_specs_40 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regExtValue_45[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_MapData__regExtValue, choice.MapData_addGrpC), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MapData_addGrpC, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "MapData-addGrpC" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_regExtValue_tag2el_45[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* MapData-addGrpC */ +}; +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_45 = { + sizeof(struct Reg_MapData__regExtValue), + offsetof(struct Reg_MapData__regExtValue, _asn_ctx), + offsetof(struct Reg_MapData__regExtValue, present), + sizeof(((struct Reg_MapData__regExtValue *)0)->present), + asn_MAP_regExtValue_tag2el_45, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_45 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + asn_MBR_regExtValue_45, + 1, /* Elements count */ + &asn_SPC_regExtValue_specs_45 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_MapData_43[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_MapData, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_44, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_44, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_43 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_MapData, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_45, + select_Reg_MapData_regExtValue_type, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_45, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_45, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_43 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_MapData_tags_43[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_MapData_tag2el_43[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_MapData_specs_43 = { + sizeof(struct Reg_MapData), + offsetof(struct Reg_MapData, _asn_ctx), + asn_MAP_Reg_MapData_tag2el_43, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_MapData = { + "Reg-MapData", + "Reg-MapData", + &asn_OP_SEQUENCE, + asn_DEF_Reg_MapData_tags_43, + sizeof(asn_DEF_Reg_MapData_tags_43) + /sizeof(asn_DEF_Reg_MapData_tags_43[0]), /* 1 */ + asn_DEF_Reg_MapData_tags_43, /* Same as above */ + sizeof(asn_DEF_Reg_MapData_tags_43) + /sizeof(asn_DEF_Reg_MapData_tags_43[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_MapData_43, + 2, /* Elements count */ + &asn_SPC_Reg_MapData_specs_43 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_48 = { + sizeof(struct Reg_GenericLane__regExtValue), + offsetof(struct Reg_GenericLane__regExtValue, _asn_ctx), + offsetof(struct Reg_GenericLane__regExtValue, present), + sizeof(((struct Reg_GenericLane__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_48 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_48 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_GenericLane_46[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_GenericLane, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_47, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_47, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_46 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_GenericLane, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_48, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_48, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_48, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_46 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_GenericLane_tags_46[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_GenericLane_tag2el_46[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_GenericLane_specs_46 = { + sizeof(struct Reg_GenericLane), + offsetof(struct Reg_GenericLane, _asn_ctx), + asn_MAP_Reg_GenericLane_tag2el_46, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_GenericLane = { + "Reg-GenericLane", + "Reg-GenericLane", + &asn_OP_SEQUENCE, + asn_DEF_Reg_GenericLane_tags_46, + sizeof(asn_DEF_Reg_GenericLane_tags_46) + /sizeof(asn_DEF_Reg_GenericLane_tags_46[0]), /* 1 */ + asn_DEF_Reg_GenericLane_tags_46, /* Same as above */ + sizeof(asn_DEF_Reg_GenericLane_tags_46) + /sizeof(asn_DEF_Reg_GenericLane_tags_46[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_GenericLane_46, + 2, /* Elements count */ + &asn_SPC_Reg_GenericLane_specs_46 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_51 = { + sizeof(struct Reg_IntersectionGeometry__regExtValue), + offsetof(struct Reg_IntersectionGeometry__regExtValue, _asn_ctx), + offsetof(struct Reg_IntersectionGeometry__regExtValue, present), + sizeof(((struct Reg_IntersectionGeometry__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_51 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_51 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_IntersectionGeometry_49[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_IntersectionGeometry, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_50, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_50, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_49 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_IntersectionGeometry, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_51, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_51, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_51, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_49 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_IntersectionGeometry_tags_49[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_IntersectionGeometry_tag2el_49[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_IntersectionGeometry_specs_49 = { + sizeof(struct Reg_IntersectionGeometry), + offsetof(struct Reg_IntersectionGeometry, _asn_ctx), + asn_MAP_Reg_IntersectionGeometry_tag2el_49, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_IntersectionGeometry = { + "Reg-IntersectionGeometry", + "Reg-IntersectionGeometry", + &asn_OP_SEQUENCE, + asn_DEF_Reg_IntersectionGeometry_tags_49, + sizeof(asn_DEF_Reg_IntersectionGeometry_tags_49) + /sizeof(asn_DEF_Reg_IntersectionGeometry_tags_49[0]), /* 1 */ + asn_DEF_Reg_IntersectionGeometry_tags_49, /* Same as above */ + sizeof(asn_DEF_Reg_IntersectionGeometry_tags_49) + /sizeof(asn_DEF_Reg_IntersectionGeometry_tags_49[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_IntersectionGeometry_49, + 2, /* Elements count */ + &asn_SPC_Reg_IntersectionGeometry_specs_49 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_54 = { + sizeof(struct Reg_LaneAttributes__regExtValue), + offsetof(struct Reg_LaneAttributes__regExtValue, _asn_ctx), + offsetof(struct Reg_LaneAttributes__regExtValue, present), + sizeof(((struct Reg_LaneAttributes__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_54 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_54 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_LaneAttributes_52[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_LaneAttributes, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_53, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_53, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_52 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_LaneAttributes, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_54, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_54, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_54, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_52 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_LaneAttributes_tags_52[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_LaneAttributes_tag2el_52[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_LaneAttributes_specs_52 = { + sizeof(struct Reg_LaneAttributes), + offsetof(struct Reg_LaneAttributes, _asn_ctx), + asn_MAP_Reg_LaneAttributes_tag2el_52, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_LaneAttributes = { + "Reg-LaneAttributes", + "Reg-LaneAttributes", + &asn_OP_SEQUENCE, + asn_DEF_Reg_LaneAttributes_tags_52, + sizeof(asn_DEF_Reg_LaneAttributes_tags_52) + /sizeof(asn_DEF_Reg_LaneAttributes_tags_52[0]), /* 1 */ + asn_DEF_Reg_LaneAttributes_tags_52, /* Same as above */ + sizeof(asn_DEF_Reg_LaneAttributes_tags_52) + /sizeof(asn_DEF_Reg_LaneAttributes_tags_52[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_LaneAttributes_52, + 2, /* Elements count */ + &asn_SPC_Reg_LaneAttributes_specs_52 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_57 = { + sizeof(struct Reg_SignalControlZone__regExtValue), + offsetof(struct Reg_SignalControlZone__regExtValue, _asn_ctx), + offsetof(struct Reg_SignalControlZone__regExtValue, present), + sizeof(((struct Reg_SignalControlZone__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_57 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_57 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_SignalControlZone_55[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_SignalControlZone, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_56, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_56, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_55 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_SignalControlZone, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_57, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_57, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_57, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_55 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_SignalControlZone_tags_55[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_SignalControlZone_tag2el_55[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_SignalControlZone_specs_55 = { + sizeof(struct Reg_SignalControlZone), + offsetof(struct Reg_SignalControlZone, _asn_ctx), + asn_MAP_Reg_SignalControlZone_tag2el_55, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_SignalControlZone = { + "Reg-SignalControlZone", + "Reg-SignalControlZone", + &asn_OP_SEQUENCE, + asn_DEF_Reg_SignalControlZone_tags_55, + sizeof(asn_DEF_Reg_SignalControlZone_tags_55) + /sizeof(asn_DEF_Reg_SignalControlZone_tags_55[0]), /* 1 */ + asn_DEF_Reg_SignalControlZone_tags_55, /* Same as above */ + sizeof(asn_DEF_Reg_SignalControlZone_tags_55) + /sizeof(asn_DEF_Reg_SignalControlZone_tags_55[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_SignalControlZone_55, + 2, /* Elements count */ + &asn_SPC_Reg_SignalControlZone_specs_55 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regExtValue_60[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_RestrictionUserType__regExtValue, choice.RestrictionUserType_addGrpC), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RestrictionUserType_addGrpC, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "RestrictionUserType-addGrpC" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_regExtValue_tag2el_60[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* RestrictionUserType-addGrpC */ +}; +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_60 = { + sizeof(struct Reg_RestrictionUserType__regExtValue), + offsetof(struct Reg_RestrictionUserType__regExtValue, _asn_ctx), + offsetof(struct Reg_RestrictionUserType__regExtValue, present), + sizeof(((struct Reg_RestrictionUserType__regExtValue *)0)->present), + asn_MAP_regExtValue_tag2el_60, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_60 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + asn_MBR_regExtValue_60, + 1, /* Elements count */ + &asn_SPC_regExtValue_specs_60 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_RestrictionUserType_58[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_RestrictionUserType, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_59, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_59, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_58 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_RestrictionUserType, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_60, + select_Reg_RestrictionUserType_regExtValue_type, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_60, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_60, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_58 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_RestrictionUserType_tags_58[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_RestrictionUserType_tag2el_58[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_RestrictionUserType_specs_58 = { + sizeof(struct Reg_RestrictionUserType), + offsetof(struct Reg_RestrictionUserType, _asn_ctx), + asn_MAP_Reg_RestrictionUserType_tag2el_58, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_RestrictionUserType = { + "Reg-RestrictionUserType", + "Reg-RestrictionUserType", + &asn_OP_SEQUENCE, + asn_DEF_Reg_RestrictionUserType_tags_58, + sizeof(asn_DEF_Reg_RestrictionUserType_tags_58) + /sizeof(asn_DEF_Reg_RestrictionUserType_tags_58[0]), /* 1 */ + asn_DEF_Reg_RestrictionUserType_tags_58, /* Same as above */ + sizeof(asn_DEF_Reg_RestrictionUserType_tags_58) + /sizeof(asn_DEF_Reg_RestrictionUserType_tags_58[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_RestrictionUserType_58, + 2, /* Elements count */ + &asn_SPC_Reg_RestrictionUserType_specs_58 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_63 = { + sizeof(struct Reg_RoadSegment__regExtValue), + offsetof(struct Reg_RoadSegment__regExtValue, _asn_ctx), + offsetof(struct Reg_RoadSegment__regExtValue, present), + sizeof(((struct Reg_RoadSegment__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_63 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_63 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_RoadSegment_61[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_RoadSegment, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_62, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_62, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_61 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_RoadSegment, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_63, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_63, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_63, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_61 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_RoadSegment_tags_61[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_RoadSegment_tag2el_61[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_RoadSegment_specs_61 = { + sizeof(struct Reg_RoadSegment), + offsetof(struct Reg_RoadSegment, _asn_ctx), + asn_MAP_Reg_RoadSegment_tag2el_61, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_RoadSegment = { + "Reg-RoadSegment", + "Reg-RoadSegment", + &asn_OP_SEQUENCE, + asn_DEF_Reg_RoadSegment_tags_61, + sizeof(asn_DEF_Reg_RoadSegment_tags_61) + /sizeof(asn_DEF_Reg_RoadSegment_tags_61[0]), /* 1 */ + asn_DEF_Reg_RoadSegment_tags_61, /* Same as above */ + sizeof(asn_DEF_Reg_RoadSegment_tags_61) + /sizeof(asn_DEF_Reg_RoadSegment_tags_61[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_RoadSegment_61, + 2, /* Elements count */ + &asn_SPC_Reg_RoadSegment_specs_61 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_66 = { + sizeof(struct Reg_NMEAcorrections__regExtValue), + offsetof(struct Reg_NMEAcorrections__regExtValue, _asn_ctx), + offsetof(struct Reg_NMEAcorrections__regExtValue, present), + sizeof(((struct Reg_NMEAcorrections__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_66 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_66 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_NMEAcorrections_64[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_NMEAcorrections, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_65, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_65, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_64 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_NMEAcorrections, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_66, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_66, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_66, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_64 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_NMEAcorrections_tags_64[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_NMEAcorrections_tag2el_64[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_NMEAcorrections_specs_64 = { + sizeof(struct Reg_NMEAcorrections), + offsetof(struct Reg_NMEAcorrections, _asn_ctx), + asn_MAP_Reg_NMEAcorrections_tag2el_64, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_NMEAcorrections = { + "Reg-NMEAcorrections", + "Reg-NMEAcorrections", + &asn_OP_SEQUENCE, + asn_DEF_Reg_NMEAcorrections_tags_64, + sizeof(asn_DEF_Reg_NMEAcorrections_tags_64) + /sizeof(asn_DEF_Reg_NMEAcorrections_tags_64[0]), /* 1 */ + asn_DEF_Reg_NMEAcorrections_tags_64, /* Same as above */ + sizeof(asn_DEF_Reg_NMEAcorrections_tags_64) + /sizeof(asn_DEF_Reg_NMEAcorrections_tags_64[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_NMEAcorrections_64, + 2, /* Elements count */ + &asn_SPC_Reg_NMEAcorrections_specs_64 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_69 = { + sizeof(struct Reg_PersonalSafetyMessage__regExtValue), + offsetof(struct Reg_PersonalSafetyMessage__regExtValue, _asn_ctx), + offsetof(struct Reg_PersonalSafetyMessage__regExtValue, present), + sizeof(((struct Reg_PersonalSafetyMessage__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_69 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_69 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_PersonalSafetyMessage_67[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_PersonalSafetyMessage, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_68, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_68, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_67 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_PersonalSafetyMessage, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_69, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_69, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_69, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_67 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_PersonalSafetyMessage_tags_67[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_PersonalSafetyMessage_tag2el_67[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_PersonalSafetyMessage_specs_67 = { + sizeof(struct Reg_PersonalSafetyMessage), + offsetof(struct Reg_PersonalSafetyMessage, _asn_ctx), + asn_MAP_Reg_PersonalSafetyMessage_tag2el_67, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_PersonalSafetyMessage = { + "Reg-PersonalSafetyMessage", + "Reg-PersonalSafetyMessage", + &asn_OP_SEQUENCE, + asn_DEF_Reg_PersonalSafetyMessage_tags_67, + sizeof(asn_DEF_Reg_PersonalSafetyMessage_tags_67) + /sizeof(asn_DEF_Reg_PersonalSafetyMessage_tags_67[0]), /* 1 */ + asn_DEF_Reg_PersonalSafetyMessage_tags_67, /* Same as above */ + sizeof(asn_DEF_Reg_PersonalSafetyMessage_tags_67) + /sizeof(asn_DEF_Reg_PersonalSafetyMessage_tags_67[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_PersonalSafetyMessage_67, + 2, /* Elements count */ + &asn_SPC_Reg_PersonalSafetyMessage_specs_67 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_72 = { + sizeof(struct Reg_ProbeDataManagement__regExtValue), + offsetof(struct Reg_ProbeDataManagement__regExtValue, _asn_ctx), + offsetof(struct Reg_ProbeDataManagement__regExtValue, present), + sizeof(((struct Reg_ProbeDataManagement__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_72 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_72 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_ProbeDataManagement_70[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_ProbeDataManagement, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_71, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_71, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_70 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_ProbeDataManagement, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_72, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_72, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_72, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_70 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_ProbeDataManagement_tags_70[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_ProbeDataManagement_tag2el_70[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_ProbeDataManagement_specs_70 = { + sizeof(struct Reg_ProbeDataManagement), + offsetof(struct Reg_ProbeDataManagement, _asn_ctx), + asn_MAP_Reg_ProbeDataManagement_tag2el_70, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_ProbeDataManagement = { + "Reg-ProbeDataManagement", + "Reg-ProbeDataManagement", + &asn_OP_SEQUENCE, + asn_DEF_Reg_ProbeDataManagement_tags_70, + sizeof(asn_DEF_Reg_ProbeDataManagement_tags_70) + /sizeof(asn_DEF_Reg_ProbeDataManagement_tags_70[0]), /* 1 */ + asn_DEF_Reg_ProbeDataManagement_tags_70, /* Same as above */ + sizeof(asn_DEF_Reg_ProbeDataManagement_tags_70) + /sizeof(asn_DEF_Reg_ProbeDataManagement_tags_70[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_ProbeDataManagement_70, + 2, /* Elements count */ + &asn_SPC_Reg_ProbeDataManagement_specs_70 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_75 = { + sizeof(struct Reg_ProbeVehicleData__regExtValue), + offsetof(struct Reg_ProbeVehicleData__regExtValue, _asn_ctx), + offsetof(struct Reg_ProbeVehicleData__regExtValue, present), + sizeof(((struct Reg_ProbeVehicleData__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_75 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_75 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_ProbeVehicleData_73[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_ProbeVehicleData, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_74, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_74, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_73 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_ProbeVehicleData, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_75, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_75, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_75, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_73 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_ProbeVehicleData_tags_73[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_ProbeVehicleData_tag2el_73[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_ProbeVehicleData_specs_73 = { + sizeof(struct Reg_ProbeVehicleData), + offsetof(struct Reg_ProbeVehicleData, _asn_ctx), + asn_MAP_Reg_ProbeVehicleData_tag2el_73, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_ProbeVehicleData = { + "Reg-ProbeVehicleData", + "Reg-ProbeVehicleData", + &asn_OP_SEQUENCE, + asn_DEF_Reg_ProbeVehicleData_tags_73, + sizeof(asn_DEF_Reg_ProbeVehicleData_tags_73) + /sizeof(asn_DEF_Reg_ProbeVehicleData_tags_73[0]), /* 1 */ + asn_DEF_Reg_ProbeVehicleData_tags_73, /* Same as above */ + sizeof(asn_DEF_Reg_ProbeVehicleData_tags_73) + /sizeof(asn_DEF_Reg_ProbeVehicleData_tags_73[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_ProbeVehicleData_73, + 2, /* Elements count */ + &asn_SPC_Reg_ProbeVehicleData_specs_73 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_78 = { + sizeof(struct Reg_RoadSideAlert__regExtValue), + offsetof(struct Reg_RoadSideAlert__regExtValue, _asn_ctx), + offsetof(struct Reg_RoadSideAlert__regExtValue, present), + sizeof(((struct Reg_RoadSideAlert__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_78 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_78 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_RoadSideAlert_76[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_RoadSideAlert, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_77, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_77, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_76 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_RoadSideAlert, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_78, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_78, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_78, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_76 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_RoadSideAlert_tags_76[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_RoadSideAlert_tag2el_76[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_RoadSideAlert_specs_76 = { + sizeof(struct Reg_RoadSideAlert), + offsetof(struct Reg_RoadSideAlert, _asn_ctx), + asn_MAP_Reg_RoadSideAlert_tag2el_76, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_RoadSideAlert = { + "Reg-RoadSideAlert", + "Reg-RoadSideAlert", + &asn_OP_SEQUENCE, + asn_DEF_Reg_RoadSideAlert_tags_76, + sizeof(asn_DEF_Reg_RoadSideAlert_tags_76) + /sizeof(asn_DEF_Reg_RoadSideAlert_tags_76[0]), /* 1 */ + asn_DEF_Reg_RoadSideAlert_tags_76, /* Same as above */ + sizeof(asn_DEF_Reg_RoadSideAlert_tags_76) + /sizeof(asn_DEF_Reg_RoadSideAlert_tags_76[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_RoadSideAlert_76, + 2, /* Elements count */ + &asn_SPC_Reg_RoadSideAlert_specs_76 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_81 = { + sizeof(struct Reg_RTCMcorrections__regExtValue), + offsetof(struct Reg_RTCMcorrections__regExtValue, _asn_ctx), + offsetof(struct Reg_RTCMcorrections__regExtValue, present), + sizeof(((struct Reg_RTCMcorrections__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_81 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_81 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_RTCMcorrections_79[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_RTCMcorrections, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_80, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_80, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_79 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_RTCMcorrections, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_81, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_81, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_81, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_79 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_RTCMcorrections_tags_79[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_RTCMcorrections_tag2el_79[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_RTCMcorrections_specs_79 = { + sizeof(struct Reg_RTCMcorrections), + offsetof(struct Reg_RTCMcorrections, _asn_ctx), + asn_MAP_Reg_RTCMcorrections_tag2el_79, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_RTCMcorrections = { + "Reg-RTCMcorrections", + "Reg-RTCMcorrections", + &asn_OP_SEQUENCE, + asn_DEF_Reg_RTCMcorrections_tags_79, + sizeof(asn_DEF_Reg_RTCMcorrections_tags_79) + /sizeof(asn_DEF_Reg_RTCMcorrections_tags_79[0]), /* 1 */ + asn_DEF_Reg_RTCMcorrections_tags_79, /* Same as above */ + sizeof(asn_DEF_Reg_RTCMcorrections_tags_79) + /sizeof(asn_DEF_Reg_RTCMcorrections_tags_79[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_RTCMcorrections_79, + 2, /* Elements count */ + &asn_SPC_Reg_RTCMcorrections_specs_79 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_84 = { + sizeof(struct Reg_SignalRequestMessage__regExtValue), + offsetof(struct Reg_SignalRequestMessage__regExtValue, _asn_ctx), + offsetof(struct Reg_SignalRequestMessage__regExtValue, present), + sizeof(((struct Reg_SignalRequestMessage__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_84 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_84 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_SignalRequestMessage_82[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_SignalRequestMessage, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_83, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_83, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_82 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_SignalRequestMessage, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_84, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_84, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_84, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_82 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_SignalRequestMessage_tags_82[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_SignalRequestMessage_tag2el_82[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_SignalRequestMessage_specs_82 = { + sizeof(struct Reg_SignalRequestMessage), + offsetof(struct Reg_SignalRequestMessage, _asn_ctx), + asn_MAP_Reg_SignalRequestMessage_tag2el_82, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_SignalRequestMessage = { + "Reg-SignalRequestMessage", + "Reg-SignalRequestMessage", + &asn_OP_SEQUENCE, + asn_DEF_Reg_SignalRequestMessage_tags_82, + sizeof(asn_DEF_Reg_SignalRequestMessage_tags_82) + /sizeof(asn_DEF_Reg_SignalRequestMessage_tags_82[0]), /* 1 */ + asn_DEF_Reg_SignalRequestMessage_tags_82, /* Same as above */ + sizeof(asn_DEF_Reg_SignalRequestMessage_tags_82) + /sizeof(asn_DEF_Reg_SignalRequestMessage_tags_82[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_SignalRequestMessage_82, + 2, /* Elements count */ + &asn_SPC_Reg_SignalRequestMessage_specs_82 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_87 = { + sizeof(struct Reg_RequestorDescription__regExtValue), + offsetof(struct Reg_RequestorDescription__regExtValue, _asn_ctx), + offsetof(struct Reg_RequestorDescription__regExtValue, present), + sizeof(((struct Reg_RequestorDescription__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_87 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_87 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_RequestorDescription_85[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_RequestorDescription, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_86, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_86, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_85 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_RequestorDescription, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_87, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_87, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_87, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_85 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_RequestorDescription_tags_85[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_RequestorDescription_tag2el_85[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_RequestorDescription_specs_85 = { + sizeof(struct Reg_RequestorDescription), + offsetof(struct Reg_RequestorDescription, _asn_ctx), + asn_MAP_Reg_RequestorDescription_tag2el_85, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_RequestorDescription = { + "Reg-RequestorDescription", + "Reg-RequestorDescription", + &asn_OP_SEQUENCE, + asn_DEF_Reg_RequestorDescription_tags_85, + sizeof(asn_DEF_Reg_RequestorDescription_tags_85) + /sizeof(asn_DEF_Reg_RequestorDescription_tags_85[0]), /* 1 */ + asn_DEF_Reg_RequestorDescription_tags_85, /* Same as above */ + sizeof(asn_DEF_Reg_RequestorDescription_tags_85) + /sizeof(asn_DEF_Reg_RequestorDescription_tags_85[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_RequestorDescription_85, + 2, /* Elements count */ + &asn_SPC_Reg_RequestorDescription_specs_85 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_90 = { + sizeof(struct Reg_SignalRequestPackage__regExtValue), + offsetof(struct Reg_SignalRequestPackage__regExtValue, _asn_ctx), + offsetof(struct Reg_SignalRequestPackage__regExtValue, present), + sizeof(((struct Reg_SignalRequestPackage__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_90 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_90 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_SignalRequestPackage_88[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_SignalRequestPackage, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_89, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_89, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_88 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_SignalRequestPackage, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_90, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_90, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_90, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_88 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_SignalRequestPackage_tags_88[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_SignalRequestPackage_tag2el_88[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_SignalRequestPackage_specs_88 = { + sizeof(struct Reg_SignalRequestPackage), + offsetof(struct Reg_SignalRequestPackage, _asn_ctx), + asn_MAP_Reg_SignalRequestPackage_tag2el_88, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_SignalRequestPackage = { + "Reg-SignalRequestPackage", + "Reg-SignalRequestPackage", + &asn_OP_SEQUENCE, + asn_DEF_Reg_SignalRequestPackage_tags_88, + sizeof(asn_DEF_Reg_SignalRequestPackage_tags_88) + /sizeof(asn_DEF_Reg_SignalRequestPackage_tags_88[0]), /* 1 */ + asn_DEF_Reg_SignalRequestPackage_tags_88, /* Same as above */ + sizeof(asn_DEF_Reg_SignalRequestPackage_tags_88) + /sizeof(asn_DEF_Reg_SignalRequestPackage_tags_88[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_SignalRequestPackage_88, + 2, /* Elements count */ + &asn_SPC_Reg_SignalRequestPackage_specs_88 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_93 = { + sizeof(struct Reg_SignalRequest__regExtValue), + offsetof(struct Reg_SignalRequest__regExtValue, _asn_ctx), + offsetof(struct Reg_SignalRequest__regExtValue, present), + sizeof(((struct Reg_SignalRequest__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_93 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_93 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_SignalRequest_91[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_SignalRequest, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_92, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_92, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_91 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_SignalRequest, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_93, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_93, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_93, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_91 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_SignalRequest_tags_91[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_SignalRequest_tag2el_91[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_SignalRequest_specs_91 = { + sizeof(struct Reg_SignalRequest), + offsetof(struct Reg_SignalRequest, _asn_ctx), + asn_MAP_Reg_SignalRequest_tag2el_91, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_SignalRequest = { + "Reg-SignalRequest", + "Reg-SignalRequest", + &asn_OP_SEQUENCE, + asn_DEF_Reg_SignalRequest_tags_91, + sizeof(asn_DEF_Reg_SignalRequest_tags_91) + /sizeof(asn_DEF_Reg_SignalRequest_tags_91[0]), /* 1 */ + asn_DEF_Reg_SignalRequest_tags_91, /* Same as above */ + sizeof(asn_DEF_Reg_SignalRequest_tags_91) + /sizeof(asn_DEF_Reg_SignalRequest_tags_91[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_SignalRequest_91, + 2, /* Elements count */ + &asn_SPC_Reg_SignalRequest_specs_91 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_96 = { + sizeof(struct Reg_SignalStatusMessage__regExtValue), + offsetof(struct Reg_SignalStatusMessage__regExtValue, _asn_ctx), + offsetof(struct Reg_SignalStatusMessage__regExtValue, present), + sizeof(((struct Reg_SignalStatusMessage__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_96 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_96 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_SignalStatusMessage_94[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_SignalStatusMessage, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_95, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_95, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_94 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_SignalStatusMessage, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_96, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_96, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_96, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_94 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_SignalStatusMessage_tags_94[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_SignalStatusMessage_tag2el_94[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_SignalStatusMessage_specs_94 = { + sizeof(struct Reg_SignalStatusMessage), + offsetof(struct Reg_SignalStatusMessage, _asn_ctx), + asn_MAP_Reg_SignalStatusMessage_tag2el_94, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_SignalStatusMessage = { + "Reg-SignalStatusMessage", + "Reg-SignalStatusMessage", + &asn_OP_SEQUENCE, + asn_DEF_Reg_SignalStatusMessage_tags_94, + sizeof(asn_DEF_Reg_SignalStatusMessage_tags_94) + /sizeof(asn_DEF_Reg_SignalStatusMessage_tags_94[0]), /* 1 */ + asn_DEF_Reg_SignalStatusMessage_tags_94, /* Same as above */ + sizeof(asn_DEF_Reg_SignalStatusMessage_tags_94) + /sizeof(asn_DEF_Reg_SignalStatusMessage_tags_94[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_SignalStatusMessage_94, + 2, /* Elements count */ + &asn_SPC_Reg_SignalStatusMessage_specs_94 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_99 = { + sizeof(struct Reg_SignalStatusPackage__regExtValue), + offsetof(struct Reg_SignalStatusPackage__regExtValue, _asn_ctx), + offsetof(struct Reg_SignalStatusPackage__regExtValue, present), + sizeof(((struct Reg_SignalStatusPackage__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_99 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_99 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_SignalStatusPackage_97[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_SignalStatusPackage, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_98, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_98, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_97 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_SignalStatusPackage, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_99, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_99, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_99, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_97 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_SignalStatusPackage_tags_97[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_SignalStatusPackage_tag2el_97[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_SignalStatusPackage_specs_97 = { + sizeof(struct Reg_SignalStatusPackage), + offsetof(struct Reg_SignalStatusPackage, _asn_ctx), + asn_MAP_Reg_SignalStatusPackage_tag2el_97, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_SignalStatusPackage = { + "Reg-SignalStatusPackage", + "Reg-SignalStatusPackage", + &asn_OP_SEQUENCE, + asn_DEF_Reg_SignalStatusPackage_tags_97, + sizeof(asn_DEF_Reg_SignalStatusPackage_tags_97) + /sizeof(asn_DEF_Reg_SignalStatusPackage_tags_97[0]), /* 1 */ + asn_DEF_Reg_SignalStatusPackage_tags_97, /* Same as above */ + sizeof(asn_DEF_Reg_SignalStatusPackage_tags_97) + /sizeof(asn_DEF_Reg_SignalStatusPackage_tags_97[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_SignalStatusPackage_97, + 2, /* Elements count */ + &asn_SPC_Reg_SignalStatusPackage_specs_97 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_102 = { + sizeof(struct Reg_SignalStatus__regExtValue), + offsetof(struct Reg_SignalStatus__regExtValue, _asn_ctx), + offsetof(struct Reg_SignalStatus__regExtValue, present), + sizeof(((struct Reg_SignalStatus__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_102 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_102 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_SignalStatus_100[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_SignalStatus, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_101, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_101, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_100 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_SignalStatus, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_102, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_102, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_102, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_100 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_SignalStatus_tags_100[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_SignalStatus_tag2el_100[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_SignalStatus_specs_100 = { + sizeof(struct Reg_SignalStatus), + offsetof(struct Reg_SignalStatus, _asn_ctx), + asn_MAP_Reg_SignalStatus_tag2el_100, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_SignalStatus = { + "Reg-SignalStatus", + "Reg-SignalStatus", + &asn_OP_SEQUENCE, + asn_DEF_Reg_SignalStatus_tags_100, + sizeof(asn_DEF_Reg_SignalStatus_tags_100) + /sizeof(asn_DEF_Reg_SignalStatus_tags_100[0]), /* 1 */ + asn_DEF_Reg_SignalStatus_tags_100, /* Same as above */ + sizeof(asn_DEF_Reg_SignalStatus_tags_100) + /sizeof(asn_DEF_Reg_SignalStatus_tags_100[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_SignalStatus_100, + 2, /* Elements count */ + &asn_SPC_Reg_SignalStatus_specs_100 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_105 = { + sizeof(struct Reg_SPAT__regExtValue), + offsetof(struct Reg_SPAT__regExtValue, _asn_ctx), + offsetof(struct Reg_SPAT__regExtValue, present), + sizeof(((struct Reg_SPAT__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_105 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_105 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_SPAT_103[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_SPAT, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_104, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_104, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_103 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_SPAT, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_105, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_105, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_105, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_103 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_SPAT_tags_103[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_SPAT_tag2el_103[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_SPAT_specs_103 = { + sizeof(struct Reg_SPAT), + offsetof(struct Reg_SPAT, _asn_ctx), + asn_MAP_Reg_SPAT_tag2el_103, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_SPAT = { + "Reg-SPAT", + "Reg-SPAT", + &asn_OP_SEQUENCE, + asn_DEF_Reg_SPAT_tags_103, + sizeof(asn_DEF_Reg_SPAT_tags_103) + /sizeof(asn_DEF_Reg_SPAT_tags_103[0]), /* 1 */ + asn_DEF_Reg_SPAT_tags_103, /* Same as above */ + sizeof(asn_DEF_Reg_SPAT_tags_103) + /sizeof(asn_DEF_Reg_SPAT_tags_103[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_SPAT_103, + 2, /* Elements count */ + &asn_SPC_Reg_SPAT_specs_103 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_108 = { + sizeof(struct Reg_AdvisorySpeed__regExtValue), + offsetof(struct Reg_AdvisorySpeed__regExtValue, _asn_ctx), + offsetof(struct Reg_AdvisorySpeed__regExtValue, present), + sizeof(((struct Reg_AdvisorySpeed__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_108 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_108 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_AdvisorySpeed_106[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_AdvisorySpeed, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_107, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_107, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_106 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_AdvisorySpeed, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_108, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_108, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_108, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_106 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_AdvisorySpeed_tags_106[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_AdvisorySpeed_tag2el_106[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_AdvisorySpeed_specs_106 = { + sizeof(struct Reg_AdvisorySpeed), + offsetof(struct Reg_AdvisorySpeed, _asn_ctx), + asn_MAP_Reg_AdvisorySpeed_tag2el_106, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_AdvisorySpeed = { + "Reg-AdvisorySpeed", + "Reg-AdvisorySpeed", + &asn_OP_SEQUENCE, + asn_DEF_Reg_AdvisorySpeed_tags_106, + sizeof(asn_DEF_Reg_AdvisorySpeed_tags_106) + /sizeof(asn_DEF_Reg_AdvisorySpeed_tags_106[0]), /* 1 */ + asn_DEF_Reg_AdvisorySpeed_tags_106, /* Same as above */ + sizeof(asn_DEF_Reg_AdvisorySpeed_tags_106) + /sizeof(asn_DEF_Reg_AdvisorySpeed_tags_106[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_AdvisorySpeed_106, + 2, /* Elements count */ + &asn_SPC_Reg_AdvisorySpeed_specs_106 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regExtValue_111[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_ConnectionManeuverAssist__regExtValue, choice.ConnectionManeuverAssist_addGrpC), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ConnectionManeuverAssist_addGrpC, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ConnectionManeuverAssist-addGrpC" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_regExtValue_tag2el_111[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* ConnectionManeuverAssist-addGrpC */ +}; +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_111 = { + sizeof(struct Reg_ConnectionManeuverAssist__regExtValue), + offsetof(struct Reg_ConnectionManeuverAssist__regExtValue, _asn_ctx), + offsetof(struct Reg_ConnectionManeuverAssist__regExtValue, present), + sizeof(((struct Reg_ConnectionManeuverAssist__regExtValue *)0)->present), + asn_MAP_regExtValue_tag2el_111, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_111 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + asn_MBR_regExtValue_111, + 1, /* Elements count */ + &asn_SPC_regExtValue_specs_111 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_ConnectionManeuverAssist_109[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_ConnectionManeuverAssist, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_110, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_110, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_109 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_ConnectionManeuverAssist, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_111, + select_Reg_ConnectionManeuverAssist_regExtValue_type, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_111, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_111, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_109 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_ConnectionManeuverAssist_tags_109[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_ConnectionManeuverAssist_tag2el_109[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_ConnectionManeuverAssist_specs_109 = { + sizeof(struct Reg_ConnectionManeuverAssist), + offsetof(struct Reg_ConnectionManeuverAssist, _asn_ctx), + asn_MAP_Reg_ConnectionManeuverAssist_tag2el_109, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_ConnectionManeuverAssist = { + "Reg-ConnectionManeuverAssist", + "Reg-ConnectionManeuverAssist", + &asn_OP_SEQUENCE, + asn_DEF_Reg_ConnectionManeuverAssist_tags_109, + sizeof(asn_DEF_Reg_ConnectionManeuverAssist_tags_109) + /sizeof(asn_DEF_Reg_ConnectionManeuverAssist_tags_109[0]), /* 1 */ + asn_DEF_Reg_ConnectionManeuverAssist_tags_109, /* Same as above */ + sizeof(asn_DEF_Reg_ConnectionManeuverAssist_tags_109) + /sizeof(asn_DEF_Reg_ConnectionManeuverAssist_tags_109[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_ConnectionManeuverAssist_109, + 2, /* Elements count */ + &asn_SPC_Reg_ConnectionManeuverAssist_specs_109 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regExtValue_114[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_IntersectionState__regExtValue, choice.IntersectionState_addGrpC), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_IntersectionState_addGrpC, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "IntersectionState-addGrpC" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_regExtValue_tag2el_114[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* IntersectionState-addGrpC */ +}; +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_114 = { + sizeof(struct Reg_IntersectionState__regExtValue), + offsetof(struct Reg_IntersectionState__regExtValue, _asn_ctx), + offsetof(struct Reg_IntersectionState__regExtValue, present), + sizeof(((struct Reg_IntersectionState__regExtValue *)0)->present), + asn_MAP_regExtValue_tag2el_114, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_114 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + asn_MBR_regExtValue_114, + 1, /* Elements count */ + &asn_SPC_regExtValue_specs_114 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_IntersectionState_112[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_IntersectionState, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_113, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_113, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_112 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_IntersectionState, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_114, + select_Reg_IntersectionState_regExtValue_type, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_114, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_114, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_112 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_IntersectionState_tags_112[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_IntersectionState_tag2el_112[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_IntersectionState_specs_112 = { + sizeof(struct Reg_IntersectionState), + offsetof(struct Reg_IntersectionState, _asn_ctx), + asn_MAP_Reg_IntersectionState_tag2el_112, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_IntersectionState = { + "Reg-IntersectionState", + "Reg-IntersectionState", + &asn_OP_SEQUENCE, + asn_DEF_Reg_IntersectionState_tags_112, + sizeof(asn_DEF_Reg_IntersectionState_tags_112) + /sizeof(asn_DEF_Reg_IntersectionState_tags_112[0]), /* 1 */ + asn_DEF_Reg_IntersectionState_tags_112, /* Same as above */ + sizeof(asn_DEF_Reg_IntersectionState_tags_112) + /sizeof(asn_DEF_Reg_IntersectionState_tags_112[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_IntersectionState_112, + 2, /* Elements count */ + &asn_SPC_Reg_IntersectionState_specs_112 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regExtValue_117[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_MovementEvent__regExtValue, choice.MovementEvent_addGrpB), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_MovementEvent_addGrpB, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "MovementEvent-addGrpB" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_regExtValue_tag2el_117[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 0 } /* MovementEvent-addGrpB */ +}; +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_117 = { + sizeof(struct Reg_MovementEvent__regExtValue), + offsetof(struct Reg_MovementEvent__regExtValue, _asn_ctx), + offsetof(struct Reg_MovementEvent__regExtValue, present), + sizeof(((struct Reg_MovementEvent__regExtValue *)0)->present), + asn_MAP_regExtValue_tag2el_117, + 1, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_117 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + asn_MBR_regExtValue_117, + 1, /* Elements count */ + &asn_SPC_regExtValue_specs_117 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_MovementEvent_115[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_MovementEvent, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_116, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_116, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_115 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_MovementEvent, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_117, + select_Reg_MovementEvent_regExtValue_type, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_117, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_117, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_115 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_MovementEvent_tags_115[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_MovementEvent_tag2el_115[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_MovementEvent_specs_115 = { + sizeof(struct Reg_MovementEvent), + offsetof(struct Reg_MovementEvent, _asn_ctx), + asn_MAP_Reg_MovementEvent_tag2el_115, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_MovementEvent = { + "Reg-MovementEvent", + "Reg-MovementEvent", + &asn_OP_SEQUENCE, + asn_DEF_Reg_MovementEvent_tags_115, + sizeof(asn_DEF_Reg_MovementEvent_tags_115) + /sizeof(asn_DEF_Reg_MovementEvent_tags_115[0]), /* 1 */ + asn_DEF_Reg_MovementEvent_tags_115, /* Same as above */ + sizeof(asn_DEF_Reg_MovementEvent_tags_115) + /sizeof(asn_DEF_Reg_MovementEvent_tags_115[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_MovementEvent_115, + 2, /* Elements count */ + &asn_SPC_Reg_MovementEvent_specs_115 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_120 = { + sizeof(struct Reg_MovementState__regExtValue), + offsetof(struct Reg_MovementState__regExtValue, _asn_ctx), + offsetof(struct Reg_MovementState__regExtValue, present), + sizeof(((struct Reg_MovementState__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_120 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_120 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_MovementState_118[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_MovementState, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_119, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_119, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_118 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_MovementState, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_120, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_120, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_120, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_118 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_MovementState_tags_118[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_MovementState_tag2el_118[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_MovementState_specs_118 = { + sizeof(struct Reg_MovementState), + offsetof(struct Reg_MovementState, _asn_ctx), + asn_MAP_Reg_MovementState_tag2el_118, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_MovementState = { + "Reg-MovementState", + "Reg-MovementState", + &asn_OP_SEQUENCE, + asn_DEF_Reg_MovementState_tags_118, + sizeof(asn_DEF_Reg_MovementState_tags_118) + /sizeof(asn_DEF_Reg_MovementState_tags_118[0]), /* 1 */ + asn_DEF_Reg_MovementState_tags_118, /* Same as above */ + sizeof(asn_DEF_Reg_MovementState_tags_118) + /sizeof(asn_DEF_Reg_MovementState_tags_118[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_MovementState_118, + 2, /* Elements count */ + &asn_SPC_Reg_MovementState_specs_118 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_123 = { + sizeof(struct Reg_TestMessage00__regExtValue), + offsetof(struct Reg_TestMessage00__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage00__regExtValue, present), + sizeof(((struct Reg_TestMessage00__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_123 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_123 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage00_121[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage00, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_122, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_122, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_121 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage00, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_123, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_123, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_123, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_121 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage00_tags_121[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage00_tag2el_121[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage00_specs_121 = { + sizeof(struct Reg_TestMessage00), + offsetof(struct Reg_TestMessage00, _asn_ctx), + asn_MAP_Reg_TestMessage00_tag2el_121, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage00 = { + "Reg-TestMessage00", + "Reg-TestMessage00", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage00_tags_121, + sizeof(asn_DEF_Reg_TestMessage00_tags_121) + /sizeof(asn_DEF_Reg_TestMessage00_tags_121[0]), /* 1 */ + asn_DEF_Reg_TestMessage00_tags_121, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage00_tags_121) + /sizeof(asn_DEF_Reg_TestMessage00_tags_121[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage00_121, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage00_specs_121 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_126 = { + sizeof(struct Reg_TestMessage01__regExtValue), + offsetof(struct Reg_TestMessage01__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage01__regExtValue, present), + sizeof(((struct Reg_TestMessage01__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_126 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_126 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage01_124[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage01, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_125, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_125, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_124 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage01, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_126, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_126, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_126, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_124 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage01_tags_124[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage01_tag2el_124[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage01_specs_124 = { + sizeof(struct Reg_TestMessage01), + offsetof(struct Reg_TestMessage01, _asn_ctx), + asn_MAP_Reg_TestMessage01_tag2el_124, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage01 = { + "Reg-TestMessage01", + "Reg-TestMessage01", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage01_tags_124, + sizeof(asn_DEF_Reg_TestMessage01_tags_124) + /sizeof(asn_DEF_Reg_TestMessage01_tags_124[0]), /* 1 */ + asn_DEF_Reg_TestMessage01_tags_124, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage01_tags_124) + /sizeof(asn_DEF_Reg_TestMessage01_tags_124[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage01_124, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage01_specs_124 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_129 = { + sizeof(struct Reg_TestMessage02__regExtValue), + offsetof(struct Reg_TestMessage02__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage02__regExtValue, present), + sizeof(((struct Reg_TestMessage02__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_129 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_129 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage02_127[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage02, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_128, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_128, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_127 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage02, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_129, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_129, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_129, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_127 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage02_tags_127[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage02_tag2el_127[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage02_specs_127 = { + sizeof(struct Reg_TestMessage02), + offsetof(struct Reg_TestMessage02, _asn_ctx), + asn_MAP_Reg_TestMessage02_tag2el_127, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage02 = { + "Reg-TestMessage02", + "Reg-TestMessage02", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage02_tags_127, + sizeof(asn_DEF_Reg_TestMessage02_tags_127) + /sizeof(asn_DEF_Reg_TestMessage02_tags_127[0]), /* 1 */ + asn_DEF_Reg_TestMessage02_tags_127, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage02_tags_127) + /sizeof(asn_DEF_Reg_TestMessage02_tags_127[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage02_127, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage02_specs_127 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_132 = { + sizeof(struct Reg_TestMessage03__regExtValue), + offsetof(struct Reg_TestMessage03__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage03__regExtValue, present), + sizeof(((struct Reg_TestMessage03__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_132 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_132 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage03_130[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage03, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_131, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_131, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_130 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage03, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_132, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_132, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_132, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_130 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage03_tags_130[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage03_tag2el_130[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage03_specs_130 = { + sizeof(struct Reg_TestMessage03), + offsetof(struct Reg_TestMessage03, _asn_ctx), + asn_MAP_Reg_TestMessage03_tag2el_130, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage03 = { + "Reg-TestMessage03", + "Reg-TestMessage03", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage03_tags_130, + sizeof(asn_DEF_Reg_TestMessage03_tags_130) + /sizeof(asn_DEF_Reg_TestMessage03_tags_130[0]), /* 1 */ + asn_DEF_Reg_TestMessage03_tags_130, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage03_tags_130) + /sizeof(asn_DEF_Reg_TestMessage03_tags_130[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage03_130, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage03_specs_130 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_135 = { + sizeof(struct Reg_TestMessage04__regExtValue), + offsetof(struct Reg_TestMessage04__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage04__regExtValue, present), + sizeof(((struct Reg_TestMessage04__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_135 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_135 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage04_133[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage04, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_134, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_134, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_133 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage04, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_135, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_135, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_135, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_133 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage04_tags_133[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage04_tag2el_133[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage04_specs_133 = { + sizeof(struct Reg_TestMessage04), + offsetof(struct Reg_TestMessage04, _asn_ctx), + asn_MAP_Reg_TestMessage04_tag2el_133, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage04 = { + "Reg-TestMessage04", + "Reg-TestMessage04", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage04_tags_133, + sizeof(asn_DEF_Reg_TestMessage04_tags_133) + /sizeof(asn_DEF_Reg_TestMessage04_tags_133[0]), /* 1 */ + asn_DEF_Reg_TestMessage04_tags_133, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage04_tags_133) + /sizeof(asn_DEF_Reg_TestMessage04_tags_133[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage04_133, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage04_specs_133 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_138 = { + sizeof(struct Reg_TestMessage05__regExtValue), + offsetof(struct Reg_TestMessage05__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage05__regExtValue, present), + sizeof(((struct Reg_TestMessage05__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_138 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_138 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage05_136[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage05, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_137, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_137, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_136 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage05, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_138, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_138, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_138, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_136 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage05_tags_136[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage05_tag2el_136[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage05_specs_136 = { + sizeof(struct Reg_TestMessage05), + offsetof(struct Reg_TestMessage05, _asn_ctx), + asn_MAP_Reg_TestMessage05_tag2el_136, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage05 = { + "Reg-TestMessage05", + "Reg-TestMessage05", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage05_tags_136, + sizeof(asn_DEF_Reg_TestMessage05_tags_136) + /sizeof(asn_DEF_Reg_TestMessage05_tags_136[0]), /* 1 */ + asn_DEF_Reg_TestMessage05_tags_136, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage05_tags_136) + /sizeof(asn_DEF_Reg_TestMessage05_tags_136[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage05_136, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage05_specs_136 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_141 = { + sizeof(struct Reg_TestMessage06__regExtValue), + offsetof(struct Reg_TestMessage06__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage06__regExtValue, present), + sizeof(((struct Reg_TestMessage06__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_141 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_141 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage06_139[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage06, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_140, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_140, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_139 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage06, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_141, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_141, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_141, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_139 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage06_tags_139[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage06_tag2el_139[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage06_specs_139 = { + sizeof(struct Reg_TestMessage06), + offsetof(struct Reg_TestMessage06, _asn_ctx), + asn_MAP_Reg_TestMessage06_tag2el_139, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage06 = { + "Reg-TestMessage06", + "Reg-TestMessage06", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage06_tags_139, + sizeof(asn_DEF_Reg_TestMessage06_tags_139) + /sizeof(asn_DEF_Reg_TestMessage06_tags_139[0]), /* 1 */ + asn_DEF_Reg_TestMessage06_tags_139, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage06_tags_139) + /sizeof(asn_DEF_Reg_TestMessage06_tags_139[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage06_139, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage06_specs_139 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_144 = { + sizeof(struct Reg_TestMessage07__regExtValue), + offsetof(struct Reg_TestMessage07__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage07__regExtValue, present), + sizeof(((struct Reg_TestMessage07__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_144 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_144 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage07_142[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage07, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_143, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_143, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_142 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage07, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_144, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_144, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_144, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_142 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage07_tags_142[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage07_tag2el_142[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage07_specs_142 = { + sizeof(struct Reg_TestMessage07), + offsetof(struct Reg_TestMessage07, _asn_ctx), + asn_MAP_Reg_TestMessage07_tag2el_142, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage07 = { + "Reg-TestMessage07", + "Reg-TestMessage07", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage07_tags_142, + sizeof(asn_DEF_Reg_TestMessage07_tags_142) + /sizeof(asn_DEF_Reg_TestMessage07_tags_142[0]), /* 1 */ + asn_DEF_Reg_TestMessage07_tags_142, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage07_tags_142) + /sizeof(asn_DEF_Reg_TestMessage07_tags_142[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage07_142, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage07_specs_142 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_147 = { + sizeof(struct Reg_TestMessage08__regExtValue), + offsetof(struct Reg_TestMessage08__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage08__regExtValue, present), + sizeof(((struct Reg_TestMessage08__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_147 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_147 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage08_145[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage08, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_146, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_146, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_145 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage08, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_147, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_147, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_147, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_145 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage08_tags_145[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage08_tag2el_145[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage08_specs_145 = { + sizeof(struct Reg_TestMessage08), + offsetof(struct Reg_TestMessage08, _asn_ctx), + asn_MAP_Reg_TestMessage08_tag2el_145, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage08 = { + "Reg-TestMessage08", + "Reg-TestMessage08", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage08_tags_145, + sizeof(asn_DEF_Reg_TestMessage08_tags_145) + /sizeof(asn_DEF_Reg_TestMessage08_tags_145[0]), /* 1 */ + asn_DEF_Reg_TestMessage08_tags_145, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage08_tags_145) + /sizeof(asn_DEF_Reg_TestMessage08_tags_145[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage08_145, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage08_specs_145 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_150 = { + sizeof(struct Reg_TestMessage09__regExtValue), + offsetof(struct Reg_TestMessage09__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage09__regExtValue, present), + sizeof(((struct Reg_TestMessage09__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_150 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_150 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage09_148[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage09, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_149, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_149, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_148 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage09, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_150, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_150, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_150, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_148 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage09_tags_148[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage09_tag2el_148[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage09_specs_148 = { + sizeof(struct Reg_TestMessage09), + offsetof(struct Reg_TestMessage09, _asn_ctx), + asn_MAP_Reg_TestMessage09_tag2el_148, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage09 = { + "Reg-TestMessage09", + "Reg-TestMessage09", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage09_tags_148, + sizeof(asn_DEF_Reg_TestMessage09_tags_148) + /sizeof(asn_DEF_Reg_TestMessage09_tags_148[0]), /* 1 */ + asn_DEF_Reg_TestMessage09_tags_148, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage09_tags_148) + /sizeof(asn_DEF_Reg_TestMessage09_tags_148[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage09_148, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage09_specs_148 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_153 = { + sizeof(struct Reg_TestMessage10__regExtValue), + offsetof(struct Reg_TestMessage10__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage10__regExtValue, present), + sizeof(((struct Reg_TestMessage10__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_153 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_153 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage10_151[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage10, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_152, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_152, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_151 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage10, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_153, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_153, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_153, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_151 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage10_tags_151[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage10_tag2el_151[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage10_specs_151 = { + sizeof(struct Reg_TestMessage10), + offsetof(struct Reg_TestMessage10, _asn_ctx), + asn_MAP_Reg_TestMessage10_tag2el_151, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage10 = { + "Reg-TestMessage10", + "Reg-TestMessage10", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage10_tags_151, + sizeof(asn_DEF_Reg_TestMessage10_tags_151) + /sizeof(asn_DEF_Reg_TestMessage10_tags_151[0]), /* 1 */ + asn_DEF_Reg_TestMessage10_tags_151, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage10_tags_151) + /sizeof(asn_DEF_Reg_TestMessage10_tags_151[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage10_151, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage10_specs_151 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_156 = { + sizeof(struct Reg_TestMessage11__regExtValue), + offsetof(struct Reg_TestMessage11__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage11__regExtValue, present), + sizeof(((struct Reg_TestMessage11__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_156 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_156 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage11_154[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage11, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_155, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_155, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_154 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage11, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_156, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_156, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_156, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_154 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage11_tags_154[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage11_tag2el_154[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage11_specs_154 = { + sizeof(struct Reg_TestMessage11), + offsetof(struct Reg_TestMessage11, _asn_ctx), + asn_MAP_Reg_TestMessage11_tag2el_154, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage11 = { + "Reg-TestMessage11", + "Reg-TestMessage11", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage11_tags_154, + sizeof(asn_DEF_Reg_TestMessage11_tags_154) + /sizeof(asn_DEF_Reg_TestMessage11_tags_154[0]), /* 1 */ + asn_DEF_Reg_TestMessage11_tags_154, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage11_tags_154) + /sizeof(asn_DEF_Reg_TestMessage11_tags_154[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage11_154, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage11_specs_154 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_159 = { + sizeof(struct Reg_TestMessage12__regExtValue), + offsetof(struct Reg_TestMessage12__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage12__regExtValue, present), + sizeof(((struct Reg_TestMessage12__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_159 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_159 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage12_157[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage12, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_158, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_158, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_157 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage12, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_159, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_159, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_159, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_157 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage12_tags_157[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage12_tag2el_157[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage12_specs_157 = { + sizeof(struct Reg_TestMessage12), + offsetof(struct Reg_TestMessage12, _asn_ctx), + asn_MAP_Reg_TestMessage12_tag2el_157, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage12 = { + "Reg-TestMessage12", + "Reg-TestMessage12", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage12_tags_157, + sizeof(asn_DEF_Reg_TestMessage12_tags_157) + /sizeof(asn_DEF_Reg_TestMessage12_tags_157[0]), /* 1 */ + asn_DEF_Reg_TestMessage12_tags_157, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage12_tags_157) + /sizeof(asn_DEF_Reg_TestMessage12_tags_157[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage12_157, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage12_specs_157 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_162 = { + sizeof(struct Reg_TestMessage13__regExtValue), + offsetof(struct Reg_TestMessage13__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage13__regExtValue, present), + sizeof(((struct Reg_TestMessage13__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_162 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_162 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage13_160[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage13, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_161, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_161, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_160 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage13, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_162, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_162, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_162, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_160 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage13_tags_160[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage13_tag2el_160[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage13_specs_160 = { + sizeof(struct Reg_TestMessage13), + offsetof(struct Reg_TestMessage13, _asn_ctx), + asn_MAP_Reg_TestMessage13_tag2el_160, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage13 = { + "Reg-TestMessage13", + "Reg-TestMessage13", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage13_tags_160, + sizeof(asn_DEF_Reg_TestMessage13_tags_160) + /sizeof(asn_DEF_Reg_TestMessage13_tags_160[0]), /* 1 */ + asn_DEF_Reg_TestMessage13_tags_160, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage13_tags_160) + /sizeof(asn_DEF_Reg_TestMessage13_tags_160[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage13_160, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage13_specs_160 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_165 = { + sizeof(struct Reg_TestMessage14__regExtValue), + offsetof(struct Reg_TestMessage14__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage14__regExtValue, present), + sizeof(((struct Reg_TestMessage14__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_165 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_165 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage14_163[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage14, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_164, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_164, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_163 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage14, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_165, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_165, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_165, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_163 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage14_tags_163[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage14_tag2el_163[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage14_specs_163 = { + sizeof(struct Reg_TestMessage14), + offsetof(struct Reg_TestMessage14, _asn_ctx), + asn_MAP_Reg_TestMessage14_tag2el_163, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage14 = { + "Reg-TestMessage14", + "Reg-TestMessage14", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage14_tags_163, + sizeof(asn_DEF_Reg_TestMessage14_tags_163) + /sizeof(asn_DEF_Reg_TestMessage14_tags_163[0]), /* 1 */ + asn_DEF_Reg_TestMessage14_tags_163, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage14_tags_163) + /sizeof(asn_DEF_Reg_TestMessage14_tags_163[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage14_163, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage14_specs_163 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_168 = { + sizeof(struct Reg_TestMessage15__regExtValue), + offsetof(struct Reg_TestMessage15__regExtValue, _asn_ctx), + offsetof(struct Reg_TestMessage15__regExtValue, present), + sizeof(((struct Reg_TestMessage15__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_168 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_168 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TestMessage15_166[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage15, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_167, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_167, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_166 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TestMessage15, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_168, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_168, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_168, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_166 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TestMessage15_tags_166[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TestMessage15_tag2el_166[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage15_specs_166 = { + sizeof(struct Reg_TestMessage15), + offsetof(struct Reg_TestMessage15, _asn_ctx), + asn_MAP_Reg_TestMessage15_tag2el_166, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage15 = { + "Reg-TestMessage15", + "Reg-TestMessage15", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TestMessage15_tags_166, + sizeof(asn_DEF_Reg_TestMessage15_tags_166) + /sizeof(asn_DEF_Reg_TestMessage15_tags_166[0]), /* 1 */ + asn_DEF_Reg_TestMessage15_tags_166, /* Same as above */ + sizeof(asn_DEF_Reg_TestMessage15_tags_166) + /sizeof(asn_DEF_Reg_TestMessage15_tags_166[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TestMessage15_166, + 2, /* Elements count */ + &asn_SPC_Reg_TestMessage15_specs_166 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_171 = { + sizeof(struct Reg_TravelerInformation__regExtValue), + offsetof(struct Reg_TravelerInformation__regExtValue, _asn_ctx), + offsetof(struct Reg_TravelerInformation__regExtValue, present), + sizeof(((struct Reg_TravelerInformation__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_171 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_171 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_TravelerInformation_169[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_TravelerInformation, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_170, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_170, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_169 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_TravelerInformation, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_171, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_171, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_171, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_169 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_TravelerInformation_tags_169[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_TravelerInformation_tag2el_169[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_TravelerInformation_specs_169 = { + sizeof(struct Reg_TravelerInformation), + offsetof(struct Reg_TravelerInformation, _asn_ctx), + asn_MAP_Reg_TravelerInformation_tag2el_169, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_TravelerInformation = { + "Reg-TravelerInformation", + "Reg-TravelerInformation", + &asn_OP_SEQUENCE, + asn_DEF_Reg_TravelerInformation_tags_169, + sizeof(asn_DEF_Reg_TravelerInformation_tags_169) + /sizeof(asn_DEF_Reg_TravelerInformation_tags_169[0]), /* 1 */ + asn_DEF_Reg_TravelerInformation_tags_169, /* Same as above */ + sizeof(asn_DEF_Reg_TravelerInformation_tags_169) + /sizeof(asn_DEF_Reg_TravelerInformation_tags_169[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_TravelerInformation_169, + 2, /* Elements count */ + &asn_SPC_Reg_TravelerInformation_specs_169 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_174 = { + sizeof(struct Reg_GeographicalPath__regExtValue), + offsetof(struct Reg_GeographicalPath__regExtValue, _asn_ctx), + offsetof(struct Reg_GeographicalPath__regExtValue, present), + sizeof(((struct Reg_GeographicalPath__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_174 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_174 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_GeographicalPath_172[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_GeographicalPath, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_173, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_173, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_172 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_GeographicalPath, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_174, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_174, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_174, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_172 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_GeographicalPath_tags_172[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_GeographicalPath_tag2el_172[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_GeographicalPath_specs_172 = { + sizeof(struct Reg_GeographicalPath), + offsetof(struct Reg_GeographicalPath, _asn_ctx), + asn_MAP_Reg_GeographicalPath_tag2el_172, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_GeographicalPath = { + "Reg-GeographicalPath", + "Reg-GeographicalPath", + &asn_OP_SEQUENCE, + asn_DEF_Reg_GeographicalPath_tags_172, + sizeof(asn_DEF_Reg_GeographicalPath_tags_172) + /sizeof(asn_DEF_Reg_GeographicalPath_tags_172[0]), /* 1 */ + asn_DEF_Reg_GeographicalPath_tags_172, /* Same as above */ + sizeof(asn_DEF_Reg_GeographicalPath_tags_172) + /sizeof(asn_DEF_Reg_GeographicalPath_tags_172[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_GeographicalPath_172, + 2, /* Elements count */ + &asn_SPC_Reg_GeographicalPath_specs_172 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_177 = { + sizeof(struct Reg_GeometricProjection__regExtValue), + offsetof(struct Reg_GeometricProjection__regExtValue, _asn_ctx), + offsetof(struct Reg_GeometricProjection__regExtValue, present), + sizeof(((struct Reg_GeometricProjection__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_177 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_177 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_GeometricProjection_175[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_GeometricProjection, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_176, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_176, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_175 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_GeometricProjection, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_177, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_177, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_177, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_175 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_GeometricProjection_tags_175[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_GeometricProjection_tag2el_175[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_GeometricProjection_specs_175 = { + sizeof(struct Reg_GeometricProjection), + offsetof(struct Reg_GeometricProjection, _asn_ctx), + asn_MAP_Reg_GeometricProjection_tag2el_175, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_GeometricProjection = { + "Reg-GeometricProjection", + "Reg-GeometricProjection", + &asn_OP_SEQUENCE, + asn_DEF_Reg_GeometricProjection_tags_175, + sizeof(asn_DEF_Reg_GeometricProjection_tags_175) + /sizeof(asn_DEF_Reg_GeometricProjection_tags_175[0]), /* 1 */ + asn_DEF_Reg_GeometricProjection_tags_175, /* Same as above */ + sizeof(asn_DEF_Reg_GeometricProjection_tags_175) + /sizeof(asn_DEF_Reg_GeometricProjection_tags_175[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_GeometricProjection_175, + 2, /* Elements count */ + &asn_SPC_Reg_GeometricProjection_specs_175 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_180 = { + sizeof(struct Reg_NodeAttributeSetLL__regExtValue), + offsetof(struct Reg_NodeAttributeSetLL__regExtValue, _asn_ctx), + offsetof(struct Reg_NodeAttributeSetLL__regExtValue, present), + sizeof(((struct Reg_NodeAttributeSetLL__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_180 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_180 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_NodeAttributeSetLL_178[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_NodeAttributeSetLL, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_179, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_179, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_178 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_NodeAttributeSetLL, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_180, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_180, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_180, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_178 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_NodeAttributeSetLL_tags_178[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_NodeAttributeSetLL_tag2el_178[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_NodeAttributeSetLL_specs_178 = { + sizeof(struct Reg_NodeAttributeSetLL), + offsetof(struct Reg_NodeAttributeSetLL, _asn_ctx), + asn_MAP_Reg_NodeAttributeSetLL_tag2el_178, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_NodeAttributeSetLL = { + "Reg-NodeAttributeSetLL", + "Reg-NodeAttributeSetLL", + &asn_OP_SEQUENCE, + asn_DEF_Reg_NodeAttributeSetLL_tags_178, + sizeof(asn_DEF_Reg_NodeAttributeSetLL_tags_178) + /sizeof(asn_DEF_Reg_NodeAttributeSetLL_tags_178[0]), /* 1 */ + asn_DEF_Reg_NodeAttributeSetLL_tags_178, /* Same as above */ + sizeof(asn_DEF_Reg_NodeAttributeSetLL_tags_178) + /sizeof(asn_DEF_Reg_NodeAttributeSetLL_tags_178[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_NodeAttributeSetLL_178, + 2, /* Elements count */ + &asn_SPC_Reg_NodeAttributeSetLL_specs_178 /* Additional specs */ +}; + +static asn_CHOICE_specifics_t asn_SPC_regExtValue_specs_183 = { + sizeof(struct Reg_NodeOffsetPointLL__regExtValue), + offsetof(struct Reg_NodeOffsetPointLL__regExtValue, _asn_ctx), + offsetof(struct Reg_NodeOffsetPointLL__regExtValue, present), + sizeof(((struct Reg_NodeOffsetPointLL__regExtValue *)0)->present), + 0, /* No top level tags */ + 0, /* No tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regExtValue_183 = { + "regExtValue", + "regExtValue", + &asn_OP_OPEN_TYPE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OPEN_TYPE_constraint + }, + 0, 0, /* No members */ + &asn_SPC_regExtValue_specs_183 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Reg_NodeOffsetPointLL_181[] = { + { ATF_NOFLAGS, 0, offsetof(struct Reg_NodeOffsetPointLL, regionId), + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_RegionId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regionId_constr_182, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regionId_constr_182, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regionId_constraint_181 + }, + 0, 0, /* No default value */ + "regionId" + }, + { ATF_OPEN_TYPE | ATF_NOFLAGS, 0, offsetof(struct Reg_NodeOffsetPointLL, regExtValue), + -1 /* Ambiguous tag (ANY?) */, + 0, + &asn_DEF_regExtValue_183, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regExtValue_constr_183, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regExtValue_constr_183, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regExtValue_constraint_181 + }, + 0, 0, /* No default value */ + "regExtValue" + }, +}; +static const ber_tlv_tag_t asn_DEF_Reg_NodeOffsetPointLL_tags_181[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Reg_NodeOffsetPointLL_tag2el_181[] = { + { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 0, 0, 0 } /* regionId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Reg_NodeOffsetPointLL_specs_181 = { + sizeof(struct Reg_NodeOffsetPointLL), + offsetof(struct Reg_NodeOffsetPointLL, _asn_ctx), + asn_MAP_Reg_NodeOffsetPointLL_tag2el_181, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Reg_NodeOffsetPointLL = { + "Reg-NodeOffsetPointLL", + "Reg-NodeOffsetPointLL", + &asn_OP_SEQUENCE, + asn_DEF_Reg_NodeOffsetPointLL_tags_181, + sizeof(asn_DEF_Reg_NodeOffsetPointLL_tags_181) + /sizeof(asn_DEF_Reg_NodeOffsetPointLL_tags_181[0]), /* 1 */ + asn_DEF_Reg_NodeOffsetPointLL_tags_181, /* Same as above */ + sizeof(asn_DEF_Reg_NodeOffsetPointLL_tags_181) + /sizeof(asn_DEF_Reg_NodeOffsetPointLL_tags_181[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Reg_NodeOffsetPointLL_181, + 2, /* Elements count */ + &asn_SPC_Reg_NodeOffsetPointLL_specs_181 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RegionalExtension.h b/src/tmx/Asn_J2735/src/r2024/RegionalExtension.h deleted file mode 100644 index c8fa3076a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RegionalExtension.h +++ /dev/null @@ -1,1337 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RegionalExtension_H_ -#define _RegionalExtension_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RegionId.h" -#include "ANY.h" -#include "asn_ioc.h" -#include "OPEN_TYPE.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" -#include "LaneDataAttribute-addGrpB.h" -#include "NodeOffsetPointXY-addGrpB.h" -#include "Position3D-addGrpB.h" -#include "Position3D-addGrpC.h" -#include "MapData-addGrpC.h" -#include "RestrictionUserType-addGrpC.h" -#include "ConnectionManeuverAssist-addGrpC.h" -#include "IntersectionState-addGrpC.h" -#include "MovementEvent-addGrpB.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Reg_BasicSafetyMessage__regExtValue_PR { - Reg_BasicSafetyMessage__regExtValue_PR_NOTHING /* No components present */ - -} Reg_BasicSafetyMessage__regExtValue_PR; -typedef enum Reg_EventDescription__regExtValue_PR { - Reg_EventDescription__regExtValue_PR_NOTHING /* No components present */ - -} Reg_EventDescription__regExtValue_PR; -typedef enum Reg_SupplementalVehicleExtensions__regExtValue_PR { - Reg_SupplementalVehicleExtensions__regExtValue_PR_NOTHING /* No components present */ - -} Reg_SupplementalVehicleExtensions__regExtValue_PR; -typedef enum Reg_ComputedLane__regExtValue_PR { - Reg_ComputedLane__regExtValue_PR_NOTHING /* No components present */ - -} Reg_ComputedLane__regExtValue_PR; -typedef enum Reg_LaneDataAttribute__regExtValue_PR { - Reg_LaneDataAttribute__regExtValue_PR_NOTHING, /* No components present */ - Reg_LaneDataAttribute__regExtValue_PR_LaneDataAttribute_addGrpB -} Reg_LaneDataAttribute__regExtValue_PR; -typedef enum Reg_NodeAttributeSetXY__regExtValue_PR { - Reg_NodeAttributeSetXY__regExtValue_PR_NOTHING /* No components present */ - -} Reg_NodeAttributeSetXY__regExtValue_PR; -typedef enum Reg_NodeOffsetPointXY__regExtValue_PR { - Reg_NodeOffsetPointXY__regExtValue_PR_NOTHING, /* No components present */ - Reg_NodeOffsetPointXY__regExtValue_PR_NodeOffsetPointXY_addGrpB -} Reg_NodeOffsetPointXY__regExtValue_PR; -typedef enum Reg_Position3D__regExtValue_PR { - Reg_Position3D__regExtValue_PR_NOTHING, /* No components present */ - Reg_Position3D__regExtValue_PR_Position3D_addGrpB, - Reg_Position3D__regExtValue_PR_Position3D_addGrpC -} Reg_Position3D__regExtValue_PR; -typedef enum Reg_RequestorType__regExtValue_PR { - Reg_RequestorType__regExtValue_PR_NOTHING /* No components present */ - -} Reg_RequestorType__regExtValue_PR; -typedef enum Reg_VehicleClassification__regExtValue_PR { - Reg_VehicleClassification__regExtValue_PR_NOTHING /* No components present */ - -} Reg_VehicleClassification__regExtValue_PR; -typedef enum Reg_VerticalOffset__regExtValue_PR { - Reg_VerticalOffset__regExtValue_PR_NOTHING /* No components present */ - -} Reg_VerticalOffset__regExtValue_PR; -typedef enum Reg_CommonSafetyRequest__regExtValue_PR { - Reg_CommonSafetyRequest__regExtValue_PR_NOTHING /* No components present */ - -} Reg_CommonSafetyRequest__regExtValue_PR; -typedef enum Reg_EmergencyVehicleAlert__regExtValue_PR { - Reg_EmergencyVehicleAlert__regExtValue_PR_NOTHING /* No components present */ - -} Reg_EmergencyVehicleAlert__regExtValue_PR; -typedef enum Reg_IntersectionCollision__regExtValue_PR { - Reg_IntersectionCollision__regExtValue_PR_NOTHING /* No components present */ - -} Reg_IntersectionCollision__regExtValue_PR; -typedef enum Reg_MapData__regExtValue_PR { - Reg_MapData__regExtValue_PR_NOTHING, /* No components present */ - Reg_MapData__regExtValue_PR_MapData_addGrpC -} Reg_MapData__regExtValue_PR; -typedef enum Reg_GenericLane__regExtValue_PR { - Reg_GenericLane__regExtValue_PR_NOTHING /* No components present */ - -} Reg_GenericLane__regExtValue_PR; -typedef enum Reg_IntersectionGeometry__regExtValue_PR { - Reg_IntersectionGeometry__regExtValue_PR_NOTHING /* No components present */ - -} Reg_IntersectionGeometry__regExtValue_PR; -typedef enum Reg_LaneAttributes__regExtValue_PR { - Reg_LaneAttributes__regExtValue_PR_NOTHING /* No components present */ - -} Reg_LaneAttributes__regExtValue_PR; -typedef enum Reg_SignalControlZone__regExtValue_PR { - Reg_SignalControlZone__regExtValue_PR_NOTHING /* No components present */ - -} Reg_SignalControlZone__regExtValue_PR; -typedef enum Reg_RestrictionUserType__regExtValue_PR { - Reg_RestrictionUserType__regExtValue_PR_NOTHING, /* No components present */ - Reg_RestrictionUserType__regExtValue_PR_RestrictionUserType_addGrpC -} Reg_RestrictionUserType__regExtValue_PR; -typedef enum Reg_RoadSegment__regExtValue_PR { - Reg_RoadSegment__regExtValue_PR_NOTHING /* No components present */ - -} Reg_RoadSegment__regExtValue_PR; -typedef enum Reg_NMEAcorrections__regExtValue_PR { - Reg_NMEAcorrections__regExtValue_PR_NOTHING /* No components present */ - -} Reg_NMEAcorrections__regExtValue_PR; -typedef enum Reg_PersonalSafetyMessage__regExtValue_PR { - Reg_PersonalSafetyMessage__regExtValue_PR_NOTHING /* No components present */ - -} Reg_PersonalSafetyMessage__regExtValue_PR; -typedef enum Reg_ProbeDataManagement__regExtValue_PR { - Reg_ProbeDataManagement__regExtValue_PR_NOTHING /* No components present */ - -} Reg_ProbeDataManagement__regExtValue_PR; -typedef enum Reg_ProbeVehicleData__regExtValue_PR { - Reg_ProbeVehicleData__regExtValue_PR_NOTHING /* No components present */ - -} Reg_ProbeVehicleData__regExtValue_PR; -typedef enum Reg_RoadSideAlert__regExtValue_PR { - Reg_RoadSideAlert__regExtValue_PR_NOTHING /* No components present */ - -} Reg_RoadSideAlert__regExtValue_PR; -typedef enum Reg_RTCMcorrections__regExtValue_PR { - Reg_RTCMcorrections__regExtValue_PR_NOTHING /* No components present */ - -} Reg_RTCMcorrections__regExtValue_PR; -typedef enum Reg_SignalRequestMessage__regExtValue_PR { - Reg_SignalRequestMessage__regExtValue_PR_NOTHING /* No components present */ - -} Reg_SignalRequestMessage__regExtValue_PR; -typedef enum Reg_RequestorDescription__regExtValue_PR { - Reg_RequestorDescription__regExtValue_PR_NOTHING /* No components present */ - -} Reg_RequestorDescription__regExtValue_PR; -typedef enum Reg_SignalRequestPackage__regExtValue_PR { - Reg_SignalRequestPackage__regExtValue_PR_NOTHING /* No components present */ - -} Reg_SignalRequestPackage__regExtValue_PR; -typedef enum Reg_SignalRequest__regExtValue_PR { - Reg_SignalRequest__regExtValue_PR_NOTHING /* No components present */ - -} Reg_SignalRequest__regExtValue_PR; -typedef enum Reg_SignalStatusMessage__regExtValue_PR { - Reg_SignalStatusMessage__regExtValue_PR_NOTHING /* No components present */ - -} Reg_SignalStatusMessage__regExtValue_PR; -typedef enum Reg_SignalStatusPackage__regExtValue_PR { - Reg_SignalStatusPackage__regExtValue_PR_NOTHING /* No components present */ - -} Reg_SignalStatusPackage__regExtValue_PR; -typedef enum Reg_SignalStatus__regExtValue_PR { - Reg_SignalStatus__regExtValue_PR_NOTHING /* No components present */ - -} Reg_SignalStatus__regExtValue_PR; -typedef enum Reg_SPAT__regExtValue_PR { - Reg_SPAT__regExtValue_PR_NOTHING /* No components present */ - -} Reg_SPAT__regExtValue_PR; -typedef enum Reg_AdvisorySpeed__regExtValue_PR { - Reg_AdvisorySpeed__regExtValue_PR_NOTHING /* No components present */ - -} Reg_AdvisorySpeed__regExtValue_PR; -typedef enum Reg_ConnectionManeuverAssist__regExtValue_PR { - Reg_ConnectionManeuverAssist__regExtValue_PR_NOTHING, /* No components present */ - Reg_ConnectionManeuverAssist__regExtValue_PR_ConnectionManeuverAssist_addGrpC -} Reg_ConnectionManeuverAssist__regExtValue_PR; -typedef enum Reg_IntersectionState__regExtValue_PR { - Reg_IntersectionState__regExtValue_PR_NOTHING, /* No components present */ - Reg_IntersectionState__regExtValue_PR_IntersectionState_addGrpC -} Reg_IntersectionState__regExtValue_PR; -typedef enum Reg_MovementEvent__regExtValue_PR { - Reg_MovementEvent__regExtValue_PR_NOTHING, /* No components present */ - Reg_MovementEvent__regExtValue_PR_MovementEvent_addGrpB -} Reg_MovementEvent__regExtValue_PR; -typedef enum Reg_MovementState__regExtValue_PR { - Reg_MovementState__regExtValue_PR_NOTHING /* No components present */ - -} Reg_MovementState__regExtValue_PR; -typedef enum Reg_TestMessage00__regExtValue_PR { - Reg_TestMessage00__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage00__regExtValue_PR; -typedef enum Reg_TestMessage01__regExtValue_PR { - Reg_TestMessage01__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage01__regExtValue_PR; -typedef enum Reg_TestMessage02__regExtValue_PR { - Reg_TestMessage02__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage02__regExtValue_PR; -typedef enum Reg_TestMessage03__regExtValue_PR { - Reg_TestMessage03__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage03__regExtValue_PR; -typedef enum Reg_TestMessage04__regExtValue_PR { - Reg_TestMessage04__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage04__regExtValue_PR; -typedef enum Reg_TestMessage05__regExtValue_PR { - Reg_TestMessage05__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage05__regExtValue_PR; -typedef enum Reg_TestMessage06__regExtValue_PR { - Reg_TestMessage06__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage06__regExtValue_PR; -typedef enum Reg_TestMessage07__regExtValue_PR { - Reg_TestMessage07__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage07__regExtValue_PR; -typedef enum Reg_TestMessage08__regExtValue_PR { - Reg_TestMessage08__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage08__regExtValue_PR; -typedef enum Reg_TestMessage09__regExtValue_PR { - Reg_TestMessage09__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage09__regExtValue_PR; -typedef enum Reg_TestMessage10__regExtValue_PR { - Reg_TestMessage10__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage10__regExtValue_PR; -typedef enum Reg_TestMessage11__regExtValue_PR { - Reg_TestMessage11__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage11__regExtValue_PR; -typedef enum Reg_TestMessage12__regExtValue_PR { - Reg_TestMessage12__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage12__regExtValue_PR; -typedef enum Reg_TestMessage13__regExtValue_PR { - Reg_TestMessage13__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage13__regExtValue_PR; -typedef enum Reg_TestMessage14__regExtValue_PR { - Reg_TestMessage14__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage14__regExtValue_PR; -typedef enum Reg_TestMessage15__regExtValue_PR { - Reg_TestMessage15__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TestMessage15__regExtValue_PR; -typedef enum Reg_TravelerInformation__regExtValue_PR { - Reg_TravelerInformation__regExtValue_PR_NOTHING /* No components present */ - -} Reg_TravelerInformation__regExtValue_PR; -typedef enum Reg_GeographicalPath__regExtValue_PR { - Reg_GeographicalPath__regExtValue_PR_NOTHING /* No components present */ - -} Reg_GeographicalPath__regExtValue_PR; -typedef enum Reg_GeometricProjection__regExtValue_PR { - Reg_GeometricProjection__regExtValue_PR_NOTHING /* No components present */ - -} Reg_GeometricProjection__regExtValue_PR; -typedef enum Reg_NodeAttributeSetLL__regExtValue_PR { - Reg_NodeAttributeSetLL__regExtValue_PR_NOTHING /* No components present */ - -} Reg_NodeAttributeSetLL__regExtValue_PR; -typedef enum Reg_NodeOffsetPointLL__regExtValue_PR { - Reg_NodeOffsetPointLL__regExtValue_PR_NOTHING /* No components present */ - -} Reg_NodeOffsetPointLL__regExtValue_PR; - -/* RegionalExtension */ -typedef struct Reg_BasicSafetyMessage { - RegionId_t regionId; - struct Reg_BasicSafetyMessage__regExtValue { - Reg_BasicSafetyMessage__regExtValue_PR present; - union Reg_BasicSafetyMessage__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_BasicSafetyMessage_t; -typedef struct Reg_EventDescription { - RegionId_t regionId; - struct Reg_EventDescription__regExtValue { - Reg_EventDescription__regExtValue_PR present; - union Reg_EventDescription__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_EventDescription_t; -typedef struct Reg_SupplementalVehicleExtensions { - RegionId_t regionId; - struct Reg_SupplementalVehicleExtensions__regExtValue { - Reg_SupplementalVehicleExtensions__regExtValue_PR present; - union Reg_SupplementalVehicleExtensions__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_SupplementalVehicleExtensions_t; -typedef struct Reg_ComputedLane { - RegionId_t regionId; - struct Reg_ComputedLane__regExtValue { - Reg_ComputedLane__regExtValue_PR present; - union Reg_ComputedLane__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_ComputedLane_t; -typedef struct Reg_LaneDataAttribute { - RegionId_t regionId; - struct Reg_LaneDataAttribute__regExtValue { - Reg_LaneDataAttribute__regExtValue_PR present; - union Reg_LaneDataAttribute__regExtValue_u { - LaneDataAttribute_addGrpB_t LaneDataAttribute_addGrpB; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_LaneDataAttribute_t; -typedef struct Reg_NodeAttributeSetXY { - RegionId_t regionId; - struct Reg_NodeAttributeSetXY__regExtValue { - Reg_NodeAttributeSetXY__regExtValue_PR present; - union Reg_NodeAttributeSetXY__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_NodeAttributeSetXY_t; -typedef struct Reg_NodeOffsetPointXY { - RegionId_t regionId; - struct Reg_NodeOffsetPointXY__regExtValue { - Reg_NodeOffsetPointXY__regExtValue_PR present; - union Reg_NodeOffsetPointXY__regExtValue_u { - NodeOffsetPointXY_addGrpB_t NodeOffsetPointXY_addGrpB; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_NodeOffsetPointXY_t; -typedef struct Reg_Position3D { - RegionId_t regionId; - struct Reg_Position3D__regExtValue { - Reg_Position3D__regExtValue_PR present; - union Reg_Position3D__regExtValue_u { - Position3D_addGrpB_t Position3D_addGrpB; - Position3D_addGrpC_t Position3D_addGrpC; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_Position3D_t; -typedef struct Reg_RequestorType { - RegionId_t regionId; - struct Reg_RequestorType__regExtValue { - Reg_RequestorType__regExtValue_PR present; - union Reg_RequestorType__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_RequestorType_t; -typedef struct Reg_VehicleClassification { - RegionId_t regionId; - struct Reg_VehicleClassification__regExtValue { - Reg_VehicleClassification__regExtValue_PR present; - union Reg_VehicleClassification__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_VehicleClassification_t; -typedef struct Reg_VerticalOffset { - RegionId_t regionId; - struct Reg_VerticalOffset__regExtValue { - Reg_VerticalOffset__regExtValue_PR present; - union Reg_VerticalOffset__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_VerticalOffset_t; -typedef struct Reg_CommonSafetyRequest { - RegionId_t regionId; - struct Reg_CommonSafetyRequest__regExtValue { - Reg_CommonSafetyRequest__regExtValue_PR present; - union Reg_CommonSafetyRequest__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_CommonSafetyRequest_t; -typedef struct Reg_EmergencyVehicleAlert { - RegionId_t regionId; - struct Reg_EmergencyVehicleAlert__regExtValue { - Reg_EmergencyVehicleAlert__regExtValue_PR present; - union Reg_EmergencyVehicleAlert__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_EmergencyVehicleAlert_t; -typedef struct Reg_IntersectionCollision { - RegionId_t regionId; - struct Reg_IntersectionCollision__regExtValue { - Reg_IntersectionCollision__regExtValue_PR present; - union Reg_IntersectionCollision__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_IntersectionCollision_t; -typedef struct Reg_MapData { - RegionId_t regionId; - struct Reg_MapData__regExtValue { - Reg_MapData__regExtValue_PR present; - union Reg_MapData__regExtValue_u { - MapData_addGrpC_t MapData_addGrpC; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_MapData_t; -typedef struct Reg_GenericLane { - RegionId_t regionId; - struct Reg_GenericLane__regExtValue { - Reg_GenericLane__regExtValue_PR present; - union Reg_GenericLane__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_GenericLane_t; -typedef struct Reg_IntersectionGeometry { - RegionId_t regionId; - struct Reg_IntersectionGeometry__regExtValue { - Reg_IntersectionGeometry__regExtValue_PR present; - union Reg_IntersectionGeometry__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_IntersectionGeometry_t; -typedef struct Reg_LaneAttributes { - RegionId_t regionId; - struct Reg_LaneAttributes__regExtValue { - Reg_LaneAttributes__regExtValue_PR present; - union Reg_LaneAttributes__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_LaneAttributes_t; -typedef struct Reg_SignalControlZone { - RegionId_t regionId; - struct Reg_SignalControlZone__regExtValue { - Reg_SignalControlZone__regExtValue_PR present; - union Reg_SignalControlZone__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_SignalControlZone_t; -typedef struct Reg_RestrictionUserType { - RegionId_t regionId; - struct Reg_RestrictionUserType__regExtValue { - Reg_RestrictionUserType__regExtValue_PR present; - union Reg_RestrictionUserType__regExtValue_u { - RestrictionUserType_addGrpC_t RestrictionUserType_addGrpC; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_RestrictionUserType_t; -typedef struct Reg_RoadSegment { - RegionId_t regionId; - struct Reg_RoadSegment__regExtValue { - Reg_RoadSegment__regExtValue_PR present; - union Reg_RoadSegment__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_RoadSegment_t; -typedef struct Reg_NMEAcorrections { - RegionId_t regionId; - struct Reg_NMEAcorrections__regExtValue { - Reg_NMEAcorrections__regExtValue_PR present; - union Reg_NMEAcorrections__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_NMEAcorrections_t; -typedef struct Reg_PersonalSafetyMessage { - RegionId_t regionId; - struct Reg_PersonalSafetyMessage__regExtValue { - Reg_PersonalSafetyMessage__regExtValue_PR present; - union Reg_PersonalSafetyMessage__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_PersonalSafetyMessage_t; -typedef struct Reg_ProbeDataManagement { - RegionId_t regionId; - struct Reg_ProbeDataManagement__regExtValue { - Reg_ProbeDataManagement__regExtValue_PR present; - union Reg_ProbeDataManagement__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_ProbeDataManagement_t; -typedef struct Reg_ProbeVehicleData { - RegionId_t regionId; - struct Reg_ProbeVehicleData__regExtValue { - Reg_ProbeVehicleData__regExtValue_PR present; - union Reg_ProbeVehicleData__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_ProbeVehicleData_t; -typedef struct Reg_RoadSideAlert { - RegionId_t regionId; - struct Reg_RoadSideAlert__regExtValue { - Reg_RoadSideAlert__regExtValue_PR present; - union Reg_RoadSideAlert__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_RoadSideAlert_t; -typedef struct Reg_RTCMcorrections { - RegionId_t regionId; - struct Reg_RTCMcorrections__regExtValue { - Reg_RTCMcorrections__regExtValue_PR present; - union Reg_RTCMcorrections__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_RTCMcorrections_t; -typedef struct Reg_SignalRequestMessage { - RegionId_t regionId; - struct Reg_SignalRequestMessage__regExtValue { - Reg_SignalRequestMessage__regExtValue_PR present; - union Reg_SignalRequestMessage__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_SignalRequestMessage_t; -typedef struct Reg_RequestorDescription { - RegionId_t regionId; - struct Reg_RequestorDescription__regExtValue { - Reg_RequestorDescription__regExtValue_PR present; - union Reg_RequestorDescription__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_RequestorDescription_t; -typedef struct Reg_SignalRequestPackage { - RegionId_t regionId; - struct Reg_SignalRequestPackage__regExtValue { - Reg_SignalRequestPackage__regExtValue_PR present; - union Reg_SignalRequestPackage__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_SignalRequestPackage_t; -typedef struct Reg_SignalRequest { - RegionId_t regionId; - struct Reg_SignalRequest__regExtValue { - Reg_SignalRequest__regExtValue_PR present; - union Reg_SignalRequest__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_SignalRequest_t; -typedef struct Reg_SignalStatusMessage { - RegionId_t regionId; - struct Reg_SignalStatusMessage__regExtValue { - Reg_SignalStatusMessage__regExtValue_PR present; - union Reg_SignalStatusMessage__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_SignalStatusMessage_t; -typedef struct Reg_SignalStatusPackage { - RegionId_t regionId; - struct Reg_SignalStatusPackage__regExtValue { - Reg_SignalStatusPackage__regExtValue_PR present; - union Reg_SignalStatusPackage__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_SignalStatusPackage_t; -typedef struct Reg_SignalStatus { - RegionId_t regionId; - struct Reg_SignalStatus__regExtValue { - Reg_SignalStatus__regExtValue_PR present; - union Reg_SignalStatus__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_SignalStatus_t; -typedef struct Reg_SPAT { - RegionId_t regionId; - struct Reg_SPAT__regExtValue { - Reg_SPAT__regExtValue_PR present; - union Reg_SPAT__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_SPAT_t; -typedef struct Reg_AdvisorySpeed { - RegionId_t regionId; - struct Reg_AdvisorySpeed__regExtValue { - Reg_AdvisorySpeed__regExtValue_PR present; - union Reg_AdvisorySpeed__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_AdvisorySpeed_t; -typedef struct Reg_ConnectionManeuverAssist { - RegionId_t regionId; - struct Reg_ConnectionManeuverAssist__regExtValue { - Reg_ConnectionManeuverAssist__regExtValue_PR present; - union Reg_ConnectionManeuverAssist__regExtValue_u { - ConnectionManeuverAssist_addGrpC_t ConnectionManeuverAssist_addGrpC; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_ConnectionManeuverAssist_t; -typedef struct Reg_IntersectionState { - RegionId_t regionId; - struct Reg_IntersectionState__regExtValue { - Reg_IntersectionState__regExtValue_PR present; - union Reg_IntersectionState__regExtValue_u { - IntersectionState_addGrpC_t IntersectionState_addGrpC; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_IntersectionState_t; -typedef struct Reg_MovementEvent { - RegionId_t regionId; - struct Reg_MovementEvent__regExtValue { - Reg_MovementEvent__regExtValue_PR present; - union Reg_MovementEvent__regExtValue_u { - MovementEvent_addGrpB_t MovementEvent_addGrpB; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_MovementEvent_t; -typedef struct Reg_MovementState { - RegionId_t regionId; - struct Reg_MovementState__regExtValue { - Reg_MovementState__regExtValue_PR present; - union Reg_MovementState__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_MovementState_t; -typedef struct Reg_TestMessage00 { - RegionId_t regionId; - struct Reg_TestMessage00__regExtValue { - Reg_TestMessage00__regExtValue_PR present; - union Reg_TestMessage00__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage00_t; -typedef struct Reg_TestMessage01 { - RegionId_t regionId; - struct Reg_TestMessage01__regExtValue { - Reg_TestMessage01__regExtValue_PR present; - union Reg_TestMessage01__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage01_t; -typedef struct Reg_TestMessage02 { - RegionId_t regionId; - struct Reg_TestMessage02__regExtValue { - Reg_TestMessage02__regExtValue_PR present; - union Reg_TestMessage02__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage02_t; -typedef struct Reg_TestMessage03 { - RegionId_t regionId; - struct Reg_TestMessage03__regExtValue { - Reg_TestMessage03__regExtValue_PR present; - union Reg_TestMessage03__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage03_t; -typedef struct Reg_TestMessage04 { - RegionId_t regionId; - struct Reg_TestMessage04__regExtValue { - Reg_TestMessage04__regExtValue_PR present; - union Reg_TestMessage04__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage04_t; -typedef struct Reg_TestMessage05 { - RegionId_t regionId; - struct Reg_TestMessage05__regExtValue { - Reg_TestMessage05__regExtValue_PR present; - union Reg_TestMessage05__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage05_t; -typedef struct Reg_TestMessage06 { - RegionId_t regionId; - struct Reg_TestMessage06__regExtValue { - Reg_TestMessage06__regExtValue_PR present; - union Reg_TestMessage06__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage06_t; -typedef struct Reg_TestMessage07 { - RegionId_t regionId; - struct Reg_TestMessage07__regExtValue { - Reg_TestMessage07__regExtValue_PR present; - union Reg_TestMessage07__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage07_t; -typedef struct Reg_TestMessage08 { - RegionId_t regionId; - struct Reg_TestMessage08__regExtValue { - Reg_TestMessage08__regExtValue_PR present; - union Reg_TestMessage08__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage08_t; -typedef struct Reg_TestMessage09 { - RegionId_t regionId; - struct Reg_TestMessage09__regExtValue { - Reg_TestMessage09__regExtValue_PR present; - union Reg_TestMessage09__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage09_t; -typedef struct Reg_TestMessage10 { - RegionId_t regionId; - struct Reg_TestMessage10__regExtValue { - Reg_TestMessage10__regExtValue_PR present; - union Reg_TestMessage10__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage10_t; -typedef struct Reg_TestMessage11 { - RegionId_t regionId; - struct Reg_TestMessage11__regExtValue { - Reg_TestMessage11__regExtValue_PR present; - union Reg_TestMessage11__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage11_t; -typedef struct Reg_TestMessage12 { - RegionId_t regionId; - struct Reg_TestMessage12__regExtValue { - Reg_TestMessage12__regExtValue_PR present; - union Reg_TestMessage12__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage12_t; -typedef struct Reg_TestMessage13 { - RegionId_t regionId; - struct Reg_TestMessage13__regExtValue { - Reg_TestMessage13__regExtValue_PR present; - union Reg_TestMessage13__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage13_t; -typedef struct Reg_TestMessage14 { - RegionId_t regionId; - struct Reg_TestMessage14__regExtValue { - Reg_TestMessage14__regExtValue_PR present; - union Reg_TestMessage14__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage14_t; -typedef struct Reg_TestMessage15 { - RegionId_t regionId; - struct Reg_TestMessage15__regExtValue { - Reg_TestMessage15__regExtValue_PR present; - union Reg_TestMessage15__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TestMessage15_t; -typedef struct Reg_TravelerInformation { - RegionId_t regionId; - struct Reg_TravelerInformation__regExtValue { - Reg_TravelerInformation__regExtValue_PR present; - union Reg_TravelerInformation__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_TravelerInformation_t; -typedef struct Reg_GeographicalPath { - RegionId_t regionId; - struct Reg_GeographicalPath__regExtValue { - Reg_GeographicalPath__regExtValue_PR present; - union Reg_GeographicalPath__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_GeographicalPath_t; -typedef struct Reg_GeometricProjection { - RegionId_t regionId; - struct Reg_GeometricProjection__regExtValue { - Reg_GeometricProjection__regExtValue_PR present; - union Reg_GeometricProjection__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_GeometricProjection_t; -typedef struct Reg_NodeAttributeSetLL { - RegionId_t regionId; - struct Reg_NodeAttributeSetLL__regExtValue { - Reg_NodeAttributeSetLL__regExtValue_PR present; - union Reg_NodeAttributeSetLL__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_NodeAttributeSetLL_t; -typedef struct Reg_NodeOffsetPointLL { - RegionId_t regionId; - struct Reg_NodeOffsetPointLL__regExtValue { - Reg_NodeOffsetPointLL__regExtValue_PR present; - union Reg_NodeOffsetPointLL__regExtValue_u { - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regExtValue; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Reg_NodeOffsetPointLL_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Reg_BasicSafetyMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_BasicSafetyMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_Reg_BasicSafetyMessage_1[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_EventDescription; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_EventDescription_specs_4; -extern asn_TYPE_member_t asn_MBR_Reg_EventDescription_4[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_SupplementalVehicleExtensions; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_SupplementalVehicleExtensions_specs_7; -extern asn_TYPE_member_t asn_MBR_Reg_SupplementalVehicleExtensions_7[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_ComputedLane; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_ComputedLane_specs_10; -extern asn_TYPE_member_t asn_MBR_Reg_ComputedLane_10[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_LaneDataAttribute; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_LaneDataAttribute_specs_13; -extern asn_TYPE_member_t asn_MBR_Reg_LaneDataAttribute_13[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_NodeAttributeSetXY; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_NodeAttributeSetXY_specs_16; -extern asn_TYPE_member_t asn_MBR_Reg_NodeAttributeSetXY_16[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_NodeOffsetPointXY; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_NodeOffsetPointXY_specs_19; -extern asn_TYPE_member_t asn_MBR_Reg_NodeOffsetPointXY_19[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_Position3D; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_Position3D_specs_22; -extern asn_TYPE_member_t asn_MBR_Reg_Position3D_22[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_RequestorType; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_RequestorType_specs_25; -extern asn_TYPE_member_t asn_MBR_Reg_RequestorType_25[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_VehicleClassification; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_VehicleClassification_specs_28; -extern asn_TYPE_member_t asn_MBR_Reg_VehicleClassification_28[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_VerticalOffset; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_VerticalOffset_specs_31; -extern asn_TYPE_member_t asn_MBR_Reg_VerticalOffset_31[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_CommonSafetyRequest; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_CommonSafetyRequest_specs_34; -extern asn_TYPE_member_t asn_MBR_Reg_CommonSafetyRequest_34[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_EmergencyVehicleAlert; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_EmergencyVehicleAlert_specs_37; -extern asn_TYPE_member_t asn_MBR_Reg_EmergencyVehicleAlert_37[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_IntersectionCollision; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_IntersectionCollision_specs_40; -extern asn_TYPE_member_t asn_MBR_Reg_IntersectionCollision_40[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_MapData; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_MapData_specs_43; -extern asn_TYPE_member_t asn_MBR_Reg_MapData_43[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_GenericLane; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_GenericLane_specs_46; -extern asn_TYPE_member_t asn_MBR_Reg_GenericLane_46[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_IntersectionGeometry; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_IntersectionGeometry_specs_49; -extern asn_TYPE_member_t asn_MBR_Reg_IntersectionGeometry_49[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_LaneAttributes; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_LaneAttributes_specs_52; -extern asn_TYPE_member_t asn_MBR_Reg_LaneAttributes_52[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_SignalControlZone; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_SignalControlZone_specs_55; -extern asn_TYPE_member_t asn_MBR_Reg_SignalControlZone_55[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_RestrictionUserType; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_RestrictionUserType_specs_58; -extern asn_TYPE_member_t asn_MBR_Reg_RestrictionUserType_58[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_RoadSegment; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_RoadSegment_specs_61; -extern asn_TYPE_member_t asn_MBR_Reg_RoadSegment_61[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_NMEAcorrections; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_NMEAcorrections_specs_64; -extern asn_TYPE_member_t asn_MBR_Reg_NMEAcorrections_64[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_PersonalSafetyMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_PersonalSafetyMessage_specs_67; -extern asn_TYPE_member_t asn_MBR_Reg_PersonalSafetyMessage_67[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_ProbeDataManagement; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_ProbeDataManagement_specs_70; -extern asn_TYPE_member_t asn_MBR_Reg_ProbeDataManagement_70[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_ProbeVehicleData; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_ProbeVehicleData_specs_73; -extern asn_TYPE_member_t asn_MBR_Reg_ProbeVehicleData_73[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_RoadSideAlert; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_RoadSideAlert_specs_76; -extern asn_TYPE_member_t asn_MBR_Reg_RoadSideAlert_76[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_RTCMcorrections; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_RTCMcorrections_specs_79; -extern asn_TYPE_member_t asn_MBR_Reg_RTCMcorrections_79[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_SignalRequestMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_SignalRequestMessage_specs_82; -extern asn_TYPE_member_t asn_MBR_Reg_SignalRequestMessage_82[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_RequestorDescription; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_RequestorDescription_specs_85; -extern asn_TYPE_member_t asn_MBR_Reg_RequestorDescription_85[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_SignalRequestPackage; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_SignalRequestPackage_specs_88; -extern asn_TYPE_member_t asn_MBR_Reg_SignalRequestPackage_88[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_SignalRequest; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_SignalRequest_specs_91; -extern asn_TYPE_member_t asn_MBR_Reg_SignalRequest_91[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_SignalStatusMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_SignalStatusMessage_specs_94; -extern asn_TYPE_member_t asn_MBR_Reg_SignalStatusMessage_94[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_SignalStatusPackage; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_SignalStatusPackage_specs_97; -extern asn_TYPE_member_t asn_MBR_Reg_SignalStatusPackage_97[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_SignalStatus; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_SignalStatus_specs_100; -extern asn_TYPE_member_t asn_MBR_Reg_SignalStatus_100[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_SPAT; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_SPAT_specs_103; -extern asn_TYPE_member_t asn_MBR_Reg_SPAT_103[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_AdvisorySpeed; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_AdvisorySpeed_specs_106; -extern asn_TYPE_member_t asn_MBR_Reg_AdvisorySpeed_106[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_ConnectionManeuverAssist; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_ConnectionManeuverAssist_specs_109; -extern asn_TYPE_member_t asn_MBR_Reg_ConnectionManeuverAssist_109[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_IntersectionState; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_IntersectionState_specs_112; -extern asn_TYPE_member_t asn_MBR_Reg_IntersectionState_112[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_MovementEvent; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_MovementEvent_specs_115; -extern asn_TYPE_member_t asn_MBR_Reg_MovementEvent_115[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_MovementState; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_MovementState_specs_118; -extern asn_TYPE_member_t asn_MBR_Reg_MovementState_118[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage00; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage00_specs_121; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage00_121[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage01; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage01_specs_124; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage01_124[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage02; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage02_specs_127; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage02_127[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage03; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage03_specs_130; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage03_130[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage04; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage04_specs_133; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage04_133[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage05; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage05_specs_136; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage05_136[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage06; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage06_specs_139; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage06_139[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage07; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage07_specs_142; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage07_142[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage08; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage08_specs_145; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage08_145[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage09; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage09_specs_148; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage09_148[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage10; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage10_specs_151; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage10_151[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage11; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage11_specs_154; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage11_154[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage12; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage12_specs_157; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage12_157[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage13; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage13_specs_160; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage13_160[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage14; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage14_specs_163; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage14_163[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TestMessage15; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TestMessage15_specs_166; -extern asn_TYPE_member_t asn_MBR_Reg_TestMessage15_166[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_TravelerInformation; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_TravelerInformation_specs_169; -extern asn_TYPE_member_t asn_MBR_Reg_TravelerInformation_169[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_GeographicalPath; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_GeographicalPath_specs_172; -extern asn_TYPE_member_t asn_MBR_Reg_GeographicalPath_172[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_GeometricProjection; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_GeometricProjection_specs_175; -extern asn_TYPE_member_t asn_MBR_Reg_GeometricProjection_175[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_NodeAttributeSetLL; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_NodeAttributeSetLL_specs_178; -extern asn_TYPE_member_t asn_MBR_Reg_NodeAttributeSetLL_178[2]; -extern asn_TYPE_descriptor_t asn_DEF_Reg_NodeOffsetPointLL; -extern asn_SEQUENCE_specifics_t asn_SPC_Reg_NodeOffsetPointLL_specs_181; -extern asn_TYPE_member_t asn_MBR_Reg_NodeOffsetPointLL_181[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RegionalExtension_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RegulatoryAndWarningSigns.c b/src/tmx/Asn_J2735/src/r2024/RegulatoryAndWarningSigns.c new file mode 100644 index 000000000..2d68cb123 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RegulatoryAndWarningSigns.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RegulatoryAndWarningSigns.h" + +int +RegulatoryAndWarningSigns_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RegulatoryAndWarningSigns_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RegulatoryAndWarningSigns_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RegulatoryAndWarningSigns_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RegulatoryAndWarningSigns = { + "RegulatoryAndWarningSigns", + "RegulatoryAndWarningSigns", + &asn_OP_NativeInteger, + asn_DEF_RegulatoryAndWarningSigns_tags_1, + sizeof(asn_DEF_RegulatoryAndWarningSigns_tags_1) + /sizeof(asn_DEF_RegulatoryAndWarningSigns_tags_1[0]), /* 1 */ + asn_DEF_RegulatoryAndWarningSigns_tags_1, /* Same as above */ + sizeof(asn_DEF_RegulatoryAndWarningSigns_tags_1) + /sizeof(asn_DEF_RegulatoryAndWarningSigns_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RegulatoryAndWarningSigns_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RegulatoryAndWarningSigns_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RegulatoryAndWarningSigns_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RegulatoryAndWarningSigns.h b/src/tmx/Asn_J2735/src/r2024/RegulatoryAndWarningSigns.h deleted file mode 100644 index 7f0c9150f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RegulatoryAndWarningSigns.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RegulatoryAndWarningSigns_H_ -#define _RegulatoryAndWarningSigns_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RegulatoryAndWarningSigns { - RegulatoryAndWarningSigns_regulatory_sign = 12289, - RegulatoryAndWarningSigns_warning_sign = 12290, - RegulatoryAndWarningSigns_information_sign = 12291, - RegulatoryAndWarningSigns_construction_sign = 12292, - RegulatoryAndWarningSigns_guide_sign = 12293, - RegulatoryAndWarningSigns_stop = 12294, - RegulatoryAndWarningSigns_yield = 12295, - RegulatoryAndWarningSigns_caution = 12330, - RegulatoryAndWarningSigns_temporary = 12331, - RegulatoryAndWarningSigns_to_oncoming_traffic = 12296, - RegulatoryAndWarningSigns_four_way = 12297, - RegulatoryAndWarningSigns_all_way = 12298, - RegulatoryAndWarningSigns_one_way = 12329, - RegulatoryAndWarningSigns_zone = 12299, - RegulatoryAndWarningSigns_narrows = 12300, - RegulatoryAndWarningSigns_widens = 12301, - RegulatoryAndWarningSigns_reduced = 12302, - RegulatoryAndWarningSigns_combined = 12303, - RegulatoryAndWarningSigns_minimum = 12304, - RegulatoryAndWarningSigns_maximum = 12305, - RegulatoryAndWarningSigns_divided_road = 12306, - RegulatoryAndWarningSigns_double_arrow = 12307, - RegulatoryAndWarningSigns_dead_end = 12308, - RegulatoryAndWarningSigns_no_outlet = 12309, - RegulatoryAndWarningSigns_wrong_way = 12310, - RegulatoryAndWarningSigns_do_not_enter = 12314, - RegulatoryAndWarningSigns_nDetour = 12312, - RegulatoryAndWarningSigns_chevron = 12313, - RegulatoryAndWarningSigns_t_intersection_to_the_side = 12315, - RegulatoryAndWarningSigns_t_intersection_oncoming = 12316, - RegulatoryAndWarningSigns_y_intersection_to_the_side = 12317, - RegulatoryAndWarningSigns_y_intersection_oncoming = 12318, - RegulatoryAndWarningSigns_four_way_divided_highway_crossing = 12319, - RegulatoryAndWarningSigns_t_way_divided_highway_crossing = 12320, - RegulatoryAndWarningSigns_light_rail_divided_highway_crossing = 12321, - RegulatoryAndWarningSigns_light_rail_t_divided_highway_crossing = 12322, - RegulatoryAndWarningSigns_side_road_to_right = 12323, - RegulatoryAndWarningSigns_side_road_to_left = 12324, - RegulatoryAndWarningSigns_side_road_to_right_at_angle = 12325, - RegulatoryAndWarningSigns_side_road_to_left_at_angle = 12326, - RegulatoryAndWarningSigns_entering_roadway_merge = 12327, - RegulatoryAndWarningSigns_entering_roadway_added_lane = 12328 -} e_RegulatoryAndWarningSigns; - -/* RegulatoryAndWarningSigns */ -typedef long RegulatoryAndWarningSigns_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RegulatoryAndWarningSigns_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RegulatoryAndWarningSigns; -asn_struct_free_f RegulatoryAndWarningSigns_free; -asn_struct_print_f RegulatoryAndWarningSigns_print; -asn_constr_check_f RegulatoryAndWarningSigns_constraint; -ber_type_decoder_f RegulatoryAndWarningSigns_decode_ber; -der_type_encoder_f RegulatoryAndWarningSigns_encode_der; -xer_type_decoder_f RegulatoryAndWarningSigns_decode_xer; -xer_type_encoder_f RegulatoryAndWarningSigns_encode_xer; -oer_type_decoder_f RegulatoryAndWarningSigns_decode_oer; -oer_type_encoder_f RegulatoryAndWarningSigns_encode_oer; -per_type_decoder_f RegulatoryAndWarningSigns_decode_uper; -per_type_encoder_f RegulatoryAndWarningSigns_encode_uper; -per_type_decoder_f RegulatoryAndWarningSigns_decode_aper; -per_type_encoder_f RegulatoryAndWarningSigns_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RegulatoryAndWarningSigns_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RegulatorySpeedLimit.c b/src/tmx/Asn_J2735/src/r2024/RegulatorySpeedLimit.c new file mode 100644 index 000000000..a0795e95d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RegulatorySpeedLimit.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RegulatorySpeedLimit.h" + +asn_TYPE_member_t asn_MBR_RegulatorySpeedLimit_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RegulatorySpeedLimit, type), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedLimitType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "type" + }, + { ATF_NOFLAGS, 0, offsetof(struct RegulatorySpeedLimit, speed), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Velocity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed" + }, +}; +static const ber_tlv_tag_t asn_DEF_RegulatorySpeedLimit_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RegulatorySpeedLimit_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* type */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* speed */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RegulatorySpeedLimit_specs_1 = { + sizeof(struct RegulatorySpeedLimit), + offsetof(struct RegulatorySpeedLimit, _asn_ctx), + asn_MAP_RegulatorySpeedLimit_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RegulatorySpeedLimit = { + "RegulatorySpeedLimit", + "RegulatorySpeedLimit", + &asn_OP_SEQUENCE, + asn_DEF_RegulatorySpeedLimit_tags_1, + sizeof(asn_DEF_RegulatorySpeedLimit_tags_1) + /sizeof(asn_DEF_RegulatorySpeedLimit_tags_1[0]), /* 1 */ + asn_DEF_RegulatorySpeedLimit_tags_1, /* Same as above */ + sizeof(asn_DEF_RegulatorySpeedLimit_tags_1) + /sizeof(asn_DEF_RegulatorySpeedLimit_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RegulatorySpeedLimit_1, + 2, /* Elements count */ + &asn_SPC_RegulatorySpeedLimit_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RegulatorySpeedLimit.h b/src/tmx/Asn_J2735/src/r2024/RegulatorySpeedLimit.h deleted file mode 100644 index 13bffffae..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RegulatorySpeedLimit.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RegulatorySpeedLimit_H_ -#define _RegulatorySpeedLimit_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SpeedLimitType.h" -#include "Velocity.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RegulatorySpeedLimit */ -typedef struct RegulatorySpeedLimit { - SpeedLimitType_t type; - Velocity_t speed; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RegulatorySpeedLimit_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RegulatorySpeedLimit; -extern asn_SEQUENCE_specifics_t asn_SPC_RegulatorySpeedLimit_specs_1; -extern asn_TYPE_member_t asn_MBR_RegulatorySpeedLimit_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RegulatorySpeedLimit_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RelativePosition3d.c b/src/tmx/Asn_J2735/src/r2024/RelativePosition3d.c new file mode 100644 index 000000000..b48c38c58 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RelativePosition3d.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RelativePosition3d.h" + +asn_TYPE_member_t asn_MBR_RelativePosition3d_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RelativePosition3d, longitude), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Signed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "longitude" + }, + { ATF_NOFLAGS, 0, offsetof(struct RelativePosition3d, latitude), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Signed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "latitude" + }, + { ATF_POINTER, 1, offsetof(struct RelativePosition3d, altitude), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Signed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "altitude" + }, +}; +static const int asn_MAP_RelativePosition3d_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_RelativePosition3d_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RelativePosition3d_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* longitude */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* latitude */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* altitude */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RelativePosition3d_specs_1 = { + sizeof(struct RelativePosition3d), + offsetof(struct RelativePosition3d, _asn_ctx), + asn_MAP_RelativePosition3d_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_RelativePosition3d_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RelativePosition3d = { + "RelativePosition3d", + "RelativePosition3d", + &asn_OP_SEQUENCE, + asn_DEF_RelativePosition3d_tags_1, + sizeof(asn_DEF_RelativePosition3d_tags_1) + /sizeof(asn_DEF_RelativePosition3d_tags_1[0]), /* 1 */ + asn_DEF_RelativePosition3d_tags_1, /* Same as above */ + sizeof(asn_DEF_RelativePosition3d_tags_1) + /sizeof(asn_DEF_RelativePosition3d_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RelativePosition3d_1, + 3, /* Elements count */ + &asn_SPC_RelativePosition3d_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RelativePosition3d.h b/src/tmx/Asn_J2735/src/r2024/RelativePosition3d.h deleted file mode 100644 index 0d444c2e8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RelativePosition3d.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RelativePosition3d_H_ -#define _RelativePosition3d_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int2Signed.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RelativePosition3d */ -typedef struct RelativePosition3d { - Int2Signed_t longitude; - Int2Signed_t latitude; - Int2Signed_t *altitude; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RelativePosition3d_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RelativePosition3d; -extern asn_SEQUENCE_specifics_t asn_SPC_RelativePosition3d_specs_1; -extern asn_TYPE_member_t asn_MBR_RelativePosition3d_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RelativePosition3d_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RelativeRoadAuthorityID.c b/src/tmx/Asn_J2735/src/r2024/RelativeRoadAuthorityID.c new file mode 100644 index 000000000..1f29a5ff1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RelativeRoadAuthorityID.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RelativeRoadAuthorityID.h" + +/* + * This type is implemented using RELATIVE_OID, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_RelativeRoadAuthorityID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (13 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RelativeRoadAuthorityID = { + "RelativeRoadAuthorityID", + "RelativeRoadAuthorityID", + &asn_OP_RELATIVE_OID, + asn_DEF_RelativeRoadAuthorityID_tags_1, + sizeof(asn_DEF_RelativeRoadAuthorityID_tags_1) + /sizeof(asn_DEF_RelativeRoadAuthorityID_tags_1[0]), /* 1 */ + asn_DEF_RelativeRoadAuthorityID_tags_1, /* Same as above */ + sizeof(asn_DEF_RelativeRoadAuthorityID_tags_1) + /sizeof(asn_DEF_RelativeRoadAuthorityID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RELATIVE_OID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RelativeRoadAuthorityID.h b/src/tmx/Asn_J2735/src/r2024/RelativeRoadAuthorityID.h deleted file mode 100644 index 516502e68..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RelativeRoadAuthorityID.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RelativeRoadAuthorityID_H_ -#define _RelativeRoadAuthorityID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RELATIVE-OID.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RelativeRoadAuthorityID */ -typedef RELATIVE_OID_t RelativeRoadAuthorityID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RelativeRoadAuthorityID; -asn_struct_free_f RelativeRoadAuthorityID_free; -asn_struct_print_f RelativeRoadAuthorityID_print; -asn_constr_check_f RelativeRoadAuthorityID_constraint; -ber_type_decoder_f RelativeRoadAuthorityID_decode_ber; -der_type_encoder_f RelativeRoadAuthorityID_encode_der; -xer_type_decoder_f RelativeRoadAuthorityID_decode_xer; -xer_type_encoder_f RelativeRoadAuthorityID_encode_xer; -oer_type_decoder_f RelativeRoadAuthorityID_decode_oer; -oer_type_encoder_f RelativeRoadAuthorityID_encode_oer; -per_type_decoder_f RelativeRoadAuthorityID_decode_uper; -per_type_encoder_f RelativeRoadAuthorityID_encode_uper; -per_type_decoder_f RelativeRoadAuthorityID_decode_aper; -per_type_encoder_f RelativeRoadAuthorityID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RelativeRoadAuthorityID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReportCharacteristics.c b/src/tmx/Asn_J2735/src/r2024/ReportCharacteristics.c new file mode 100644 index 000000000..8e73212d5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReportCharacteristics.c @@ -0,0 +1,249 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReportCharacteristics.h" + +static int +memb_vehPassengerCount_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_vehPassengerCount_constr_10 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_vehPassengerCount_constr_10 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_ReportCharacteristics_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ReportCharacteristics, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReportCharacteristics, position), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "position" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReportCharacteristics, posAccuracy), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionalAccuracy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "posAccuracy" + }, + { ATF_NOFLAGS, 0, offsetof(struct ReportCharacteristics, velocity), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptVelocity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "velocity" + }, + { ATF_POINTER, 5, offsetof(struct ReportCharacteristics, vehicleClass), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptVehicleClass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleClass" + }, + { ATF_POINTER, 4, offsetof(struct ReportCharacteristics, devType), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptDevType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "devType" + }, + { ATF_POINTER, 3, offsetof(struct ReportCharacteristics, vehicleSize), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleSize, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleSize" + }, + { ATF_POINTER, 2, offsetof(struct ReportCharacteristics, vehicleMass), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleMass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleMass" + }, + { ATF_POINTER, 1, offsetof(struct ReportCharacteristics, vehPassengerCount), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_vehPassengerCount_constr_10, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_vehPassengerCount_constr_10, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_vehPassengerCount_constraint_1 + }, + 0, 0, /* No default value */ + "vehPassengerCount" + }, +}; +static const int asn_MAP_ReportCharacteristics_oms_1[] = { 4, 5, 6, 7, 8 }; +static const ber_tlv_tag_t asn_DEF_ReportCharacteristics_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ReportCharacteristics_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* position */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* posAccuracy */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* velocity */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* vehicleClass */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* devType */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* vehicleSize */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* vehicleMass */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* vehPassengerCount */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ReportCharacteristics_specs_1 = { + sizeof(struct ReportCharacteristics), + offsetof(struct ReportCharacteristics, _asn_ctx), + asn_MAP_ReportCharacteristics_tag2el_1, + 9, /* Count of tags in the map */ + asn_MAP_ReportCharacteristics_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 9, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ReportCharacteristics = { + "ReportCharacteristics", + "ReportCharacteristics", + &asn_OP_SEQUENCE, + asn_DEF_ReportCharacteristics_tags_1, + sizeof(asn_DEF_ReportCharacteristics_tags_1) + /sizeof(asn_DEF_ReportCharacteristics_tags_1[0]), /* 1 */ + asn_DEF_ReportCharacteristics_tags_1, /* Same as above */ + sizeof(asn_DEF_ReportCharacteristics_tags_1) + /sizeof(asn_DEF_ReportCharacteristics_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ReportCharacteristics_1, + 9, /* Elements count */ + &asn_SPC_ReportCharacteristics_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReportCharacteristics.h b/src/tmx/Asn_J2735/src/r2024/ReportCharacteristics.h deleted file mode 100644 index fb4b1743a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReportCharacteristics.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReportCharacteristics_H_ -#define _ReportCharacteristics_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DDateTime.h" -#include "Position3D.h" -#include "PositionalAccuracy.h" -#include "RptVelocity.h" -#include "RptVehicleClass.h" -#include "VehicleMass.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RptDevType; -struct VehicleSize; - -/* ReportCharacteristics */ -typedef struct ReportCharacteristics { - DDateTime_t timeStamp; - Position3D_t position; - PositionalAccuracy_t posAccuracy; - RptVelocity_t velocity; - RptVehicleClass_t *vehicleClass; /* OPTIONAL */ - struct RptDevType *devType; /* OPTIONAL */ - struct VehicleSize *vehicleSize; /* OPTIONAL */ - VehicleMass_t *vehicleMass; /* OPTIONAL */ - long *vehPassengerCount; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ReportCharacteristics_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ReportCharacteristics; -extern asn_SEQUENCE_specifics_t asn_SPC_ReportCharacteristics_specs_1; -extern asn_TYPE_member_t asn_MBR_ReportCharacteristics_1[9]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RptDevType.h" -#include "VehicleSize.h" - -#endif /* _ReportCharacteristics_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RequestID.c b/src/tmx/Asn_J2735/src/r2024/RequestID.c new file mode 100644 index 000000000..5e4b75f05 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RequestID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RequestID.h" + +int +RequestID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RequestID_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RequestID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RequestID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RequestID = { + "RequestID", + "RequestID", + &asn_OP_NativeInteger, + asn_DEF_RequestID_tags_1, + sizeof(asn_DEF_RequestID_tags_1) + /sizeof(asn_DEF_RequestID_tags_1[0]), /* 1 */ + asn_DEF_RequestID_tags_1, /* Same as above */ + sizeof(asn_DEF_RequestID_tags_1) + /sizeof(asn_DEF_RequestID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RequestID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RequestID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RequestID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RequestID.h b/src/tmx/Asn_J2735/src/r2024/RequestID.h deleted file mode 100644 index aa357ed52..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RequestID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RequestID_H_ -#define _RequestID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RequestID */ -typedef long RequestID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RequestID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RequestID; -asn_struct_free_f RequestID_free; -asn_struct_print_f RequestID_print; -asn_constr_check_f RequestID_constraint; -ber_type_decoder_f RequestID_decode_ber; -der_type_encoder_f RequestID_encode_der; -xer_type_decoder_f RequestID_decode_xer; -xer_type_encoder_f RequestID_encode_xer; -oer_type_decoder_f RequestID_decode_oer; -oer_type_encoder_f RequestID_encode_oer; -per_type_decoder_f RequestID_decode_uper; -per_type_encoder_f RequestID_encode_uper; -per_type_decoder_f RequestID_decode_aper; -per_type_encoder_f RequestID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RequestID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RequestImportanceLevel.c b/src/tmx/Asn_J2735/src/r2024/RequestImportanceLevel.c new file mode 100644 index 000000000..2bb87a154 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RequestImportanceLevel.c @@ -0,0 +1,96 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RequestImportanceLevel.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RequestImportanceLevel_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RequestImportanceLevel_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_RequestImportanceLevel_value2enum_1[] = { + { 0, 29, "requestImportanceLevelUnKnown" }, + { 1, 23, "requestImportanceLevel1" }, + { 2, 23, "requestImportanceLevel2" }, + { 3, 23, "requestImportanceLevel3" }, + { 4, 23, "requestImportanceLevel4" }, + { 5, 23, "requestImportanceLevel5" }, + { 6, 23, "requestImportanceLevel6" }, + { 7, 23, "requestImportanceLevel7" }, + { 8, 23, "requestImportanceLevel8" }, + { 9, 23, "requestImportanceLevel9" }, + { 10, 24, "requestImportanceLevel10" }, + { 11, 24, "requestImportanceLevel11" }, + { 12, 24, "requestImportanceLevel12" }, + { 13, 24, "requestImportanceLevel13" }, + { 14, 24, "requestImportanceLevel14" }, + { 15, 25, "requestImportanceReserved" } +}; +static const unsigned int asn_MAP_RequestImportanceLevel_enum2value_1[] = { + 1, /* requestImportanceLevel1(1) */ + 10, /* requestImportanceLevel10(10) */ + 11, /* requestImportanceLevel11(11) */ + 12, /* requestImportanceLevel12(12) */ + 13, /* requestImportanceLevel13(13) */ + 14, /* requestImportanceLevel14(14) */ + 2, /* requestImportanceLevel2(2) */ + 3, /* requestImportanceLevel3(3) */ + 4, /* requestImportanceLevel4(4) */ + 5, /* requestImportanceLevel5(5) */ + 6, /* requestImportanceLevel6(6) */ + 7, /* requestImportanceLevel7(7) */ + 8, /* requestImportanceLevel8(8) */ + 9, /* requestImportanceLevel9(9) */ + 0, /* requestImportanceLevelUnKnown(0) */ + 15 /* requestImportanceReserved(15) */ +}; +const asn_INTEGER_specifics_t asn_SPC_RequestImportanceLevel_specs_1 = { + asn_MAP_RequestImportanceLevel_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RequestImportanceLevel_enum2value_1, /* N => "tag"; sorted by N */ + 16, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RequestImportanceLevel_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RequestImportanceLevel = { + "RequestImportanceLevel", + "RequestImportanceLevel", + &asn_OP_NativeEnumerated, + asn_DEF_RequestImportanceLevel_tags_1, + sizeof(asn_DEF_RequestImportanceLevel_tags_1) + /sizeof(asn_DEF_RequestImportanceLevel_tags_1[0]), /* 1 */ + asn_DEF_RequestImportanceLevel_tags_1, /* Same as above */ + sizeof(asn_DEF_RequestImportanceLevel_tags_1) + /sizeof(asn_DEF_RequestImportanceLevel_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RequestImportanceLevel_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RequestImportanceLevel_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RequestImportanceLevel_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RequestImportanceLevel.h b/src/tmx/Asn_J2735/src/r2024/RequestImportanceLevel.h deleted file mode 100644 index 0f52849c5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RequestImportanceLevel.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RequestImportanceLevel_H_ -#define _RequestImportanceLevel_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RequestImportanceLevel { - RequestImportanceLevel_requestImportanceLevelUnKnown = 0, - RequestImportanceLevel_requestImportanceLevel1 = 1, - RequestImportanceLevel_requestImportanceLevel2 = 2, - RequestImportanceLevel_requestImportanceLevel3 = 3, - RequestImportanceLevel_requestImportanceLevel4 = 4, - RequestImportanceLevel_requestImportanceLevel5 = 5, - RequestImportanceLevel_requestImportanceLevel6 = 6, - RequestImportanceLevel_requestImportanceLevel7 = 7, - RequestImportanceLevel_requestImportanceLevel8 = 8, - RequestImportanceLevel_requestImportanceLevel9 = 9, - RequestImportanceLevel_requestImportanceLevel10 = 10, - RequestImportanceLevel_requestImportanceLevel11 = 11, - RequestImportanceLevel_requestImportanceLevel12 = 12, - RequestImportanceLevel_requestImportanceLevel13 = 13, - RequestImportanceLevel_requestImportanceLevel14 = 14, - RequestImportanceLevel_requestImportanceReserved = 15 -} e_RequestImportanceLevel; - -/* RequestImportanceLevel */ -typedef long RequestImportanceLevel_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RequestImportanceLevel_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RequestImportanceLevel; -extern const asn_INTEGER_specifics_t asn_SPC_RequestImportanceLevel_specs_1; -asn_struct_free_f RequestImportanceLevel_free; -asn_struct_print_f RequestImportanceLevel_print; -asn_constr_check_f RequestImportanceLevel_constraint; -ber_type_decoder_f RequestImportanceLevel_decode_ber; -der_type_encoder_f RequestImportanceLevel_encode_der; -xer_type_decoder_f RequestImportanceLevel_decode_xer; -xer_type_encoder_f RequestImportanceLevel_encode_xer; -oer_type_decoder_f RequestImportanceLevel_decode_oer; -oer_type_encoder_f RequestImportanceLevel_encode_oer; -per_type_decoder_f RequestImportanceLevel_decode_uper; -per_type_encoder_f RequestImportanceLevel_encode_uper; -per_type_decoder_f RequestImportanceLevel_decode_aper; -per_type_encoder_f RequestImportanceLevel_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RequestImportanceLevel_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RequestSubRole.c b/src/tmx/Asn_J2735/src/r2024/RequestSubRole.c new file mode 100644 index 000000000..202f55b2a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RequestSubRole.c @@ -0,0 +1,96 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RequestSubRole.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RequestSubRole_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RequestSubRole_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_RequestSubRole_value2enum_1[] = { + { 0, 21, "requestSubRoleUnKnown" }, + { 1, 15, "requestSubRole1" }, + { 2, 15, "requestSubRole2" }, + { 3, 15, "requestSubRole3" }, + { 4, 15, "requestSubRole4" }, + { 5, 15, "requestSubRole5" }, + { 6, 15, "requestSubRole6" }, + { 7, 15, "requestSubRole7" }, + { 8, 15, "requestSubRole8" }, + { 9, 15, "requestSubRole9" }, + { 10, 16, "requestSubRole10" }, + { 11, 16, "requestSubRole11" }, + { 12, 16, "requestSubRole12" }, + { 13, 16, "requestSubRole13" }, + { 14, 16, "requestSubRole14" }, + { 15, 22, "requestSubRoleReserved" } +}; +static const unsigned int asn_MAP_RequestSubRole_enum2value_1[] = { + 1, /* requestSubRole1(1) */ + 10, /* requestSubRole10(10) */ + 11, /* requestSubRole11(11) */ + 12, /* requestSubRole12(12) */ + 13, /* requestSubRole13(13) */ + 14, /* requestSubRole14(14) */ + 2, /* requestSubRole2(2) */ + 3, /* requestSubRole3(3) */ + 4, /* requestSubRole4(4) */ + 5, /* requestSubRole5(5) */ + 6, /* requestSubRole6(6) */ + 7, /* requestSubRole7(7) */ + 8, /* requestSubRole8(8) */ + 9, /* requestSubRole9(9) */ + 15, /* requestSubRoleReserved(15) */ + 0 /* requestSubRoleUnKnown(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_RequestSubRole_specs_1 = { + asn_MAP_RequestSubRole_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RequestSubRole_enum2value_1, /* N => "tag"; sorted by N */ + 16, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RequestSubRole_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RequestSubRole = { + "RequestSubRole", + "RequestSubRole", + &asn_OP_NativeEnumerated, + asn_DEF_RequestSubRole_tags_1, + sizeof(asn_DEF_RequestSubRole_tags_1) + /sizeof(asn_DEF_RequestSubRole_tags_1[0]), /* 1 */ + asn_DEF_RequestSubRole_tags_1, /* Same as above */ + sizeof(asn_DEF_RequestSubRole_tags_1) + /sizeof(asn_DEF_RequestSubRole_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RequestSubRole_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RequestSubRole_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RequestSubRole_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RequestSubRole.h b/src/tmx/Asn_J2735/src/r2024/RequestSubRole.h deleted file mode 100644 index 9ddbd7caf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RequestSubRole.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RequestSubRole_H_ -#define _RequestSubRole_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RequestSubRole { - RequestSubRole_requestSubRoleUnKnown = 0, - RequestSubRole_requestSubRole1 = 1, - RequestSubRole_requestSubRole2 = 2, - RequestSubRole_requestSubRole3 = 3, - RequestSubRole_requestSubRole4 = 4, - RequestSubRole_requestSubRole5 = 5, - RequestSubRole_requestSubRole6 = 6, - RequestSubRole_requestSubRole7 = 7, - RequestSubRole_requestSubRole8 = 8, - RequestSubRole_requestSubRole9 = 9, - RequestSubRole_requestSubRole10 = 10, - RequestSubRole_requestSubRole11 = 11, - RequestSubRole_requestSubRole12 = 12, - RequestSubRole_requestSubRole13 = 13, - RequestSubRole_requestSubRole14 = 14, - RequestSubRole_requestSubRoleReserved = 15 -} e_RequestSubRole; - -/* RequestSubRole */ -typedef long RequestSubRole_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RequestSubRole_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RequestSubRole; -extern const asn_INTEGER_specifics_t asn_SPC_RequestSubRole_specs_1; -asn_struct_free_f RequestSubRole_free; -asn_struct_print_f RequestSubRole_print; -asn_constr_check_f RequestSubRole_constraint; -ber_type_decoder_f RequestSubRole_decode_ber; -der_type_encoder_f RequestSubRole_encode_der; -xer_type_decoder_f RequestSubRole_decode_xer; -xer_type_encoder_f RequestSubRole_encode_xer; -oer_type_decoder_f RequestSubRole_decode_oer; -oer_type_encoder_f RequestSubRole_encode_oer; -per_type_decoder_f RequestSubRole_decode_uper; -per_type_encoder_f RequestSubRole_encode_uper; -per_type_decoder_f RequestSubRole_decode_aper; -per_type_encoder_f RequestSubRole_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RequestSubRole_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RequestedItem.c b/src/tmx/Asn_J2735/src/r2024/RequestedItem.c new file mode 100644 index 000000000..d81219b55 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RequestedItem.c @@ -0,0 +1,100 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CommonSafetyRequest" + * found in "J2735-CommonSafetyRequest-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RequestedItem.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RequestedItem_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RequestedItem_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 0, 16 } /* (0..16,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_RequestedItem_value2enum_1[] = { + { 0, 8, "reserved" }, + { 1, 5, "itemA" }, + { 2, 5, "itemB" }, + { 3, 5, "itemC" }, + { 4, 5, "itemD" }, + { 5, 5, "itemE" }, + { 6, 5, "itemF" }, + { 7, 5, "itemG" }, + { 8, 5, "itemI" }, + { 9, 5, "itemJ" }, + { 10, 5, "itemK" }, + { 11, 5, "itemL" }, + { 12, 5, "itemM" }, + { 13, 5, "itemN" }, + { 14, 5, "itemO" }, + { 15, 5, "itemP" }, + { 16, 5, "itemQ" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RequestedItem_enum2value_1[] = { + 1, /* itemA(1) */ + 2, /* itemB(2) */ + 3, /* itemC(3) */ + 4, /* itemD(4) */ + 5, /* itemE(5) */ + 6, /* itemF(6) */ + 7, /* itemG(7) */ + 8, /* itemI(8) */ + 9, /* itemJ(9) */ + 10, /* itemK(10) */ + 11, /* itemL(11) */ + 12, /* itemM(12) */ + 13, /* itemN(13) */ + 14, /* itemO(14) */ + 15, /* itemP(15) */ + 16, /* itemQ(16) */ + 0 /* reserved(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_RequestedItem_specs_1 = { + asn_MAP_RequestedItem_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RequestedItem_enum2value_1, /* N => "tag"; sorted by N */ + 17, /* Number of elements in the maps */ + 18, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RequestedItem_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RequestedItem = { + "RequestedItem", + "RequestedItem", + &asn_OP_NativeEnumerated, + asn_DEF_RequestedItem_tags_1, + sizeof(asn_DEF_RequestedItem_tags_1) + /sizeof(asn_DEF_RequestedItem_tags_1[0]), /* 1 */ + asn_DEF_RequestedItem_tags_1, /* Same as above */ + sizeof(asn_DEF_RequestedItem_tags_1) + /sizeof(asn_DEF_RequestedItem_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RequestedItem_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RequestedItem_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RequestedItem_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RequestedItem.h b/src/tmx/Asn_J2735/src/r2024/RequestedItem.h deleted file mode 100644 index 376da06c8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RequestedItem.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CommonSafetyRequest" - * found in "J2735-CommonSafetyRequest-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RequestedItem_H_ -#define _RequestedItem_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RequestedItem { - RequestedItem_reserved = 0, - RequestedItem_itemA = 1, - RequestedItem_itemB = 2, - RequestedItem_itemC = 3, - RequestedItem_itemD = 4, - RequestedItem_itemE = 5, - RequestedItem_itemF = 6, - RequestedItem_itemG = 7, - RequestedItem_itemI = 8, - RequestedItem_itemJ = 9, - RequestedItem_itemK = 10, - RequestedItem_itemL = 11, - RequestedItem_itemM = 12, - RequestedItem_itemN = 13, - RequestedItem_itemO = 14, - RequestedItem_itemP = 15, - RequestedItem_itemQ = 16 - /* - * Enumeration is extensible - */ -} e_RequestedItem; - -/* RequestedItem */ -typedef long RequestedItem_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RequestedItem_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RequestedItem; -extern const asn_INTEGER_specifics_t asn_SPC_RequestedItem_specs_1; -asn_struct_free_f RequestedItem_free; -asn_struct_print_f RequestedItem_print; -asn_constr_check_f RequestedItem_constraint; -ber_type_decoder_f RequestedItem_decode_ber; -der_type_encoder_f RequestedItem_encode_der; -xer_type_decoder_f RequestedItem_decode_xer; -xer_type_encoder_f RequestedItem_encode_xer; -oer_type_decoder_f RequestedItem_decode_oer; -oer_type_encoder_f RequestedItem_encode_oer; -per_type_decoder_f RequestedItem_decode_uper; -per_type_encoder_f RequestedItem_encode_uper; -per_type_decoder_f RequestedItem_decode_aper; -per_type_encoder_f RequestedItem_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RequestedItem_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RequestedItemList.c b/src/tmx/Asn_J2735/src/r2024/RequestedItemList.c new file mode 100644 index 000000000..8ff6ea551 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RequestedItemList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CommonSafetyRequest" + * found in "J2735-CommonSafetyRequest-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RequestedItemList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RequestedItemList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RequestedItemList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RequestedItemList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_RequestedItem, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RequestedItemList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_RequestedItemList_specs_1 = { + sizeof(struct RequestedItemList), + offsetof(struct RequestedItemList, _asn_ctx), + 1, /* XER encoding is XMLValueList */ +}; +asn_TYPE_descriptor_t asn_DEF_RequestedItemList = { + "RequestedItemList", + "RequestedItemList", + &asn_OP_SEQUENCE_OF, + asn_DEF_RequestedItemList_tags_1, + sizeof(asn_DEF_RequestedItemList_tags_1) + /sizeof(asn_DEF_RequestedItemList_tags_1[0]), /* 1 */ + asn_DEF_RequestedItemList_tags_1, /* Same as above */ + sizeof(asn_DEF_RequestedItemList_tags_1) + /sizeof(asn_DEF_RequestedItemList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RequestedItemList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RequestedItemList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_RequestedItemList_1, + 1, /* Single element */ + &asn_SPC_RequestedItemList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RequestedItemList.h b/src/tmx/Asn_J2735/src/r2024/RequestedItemList.h deleted file mode 100644 index 2b0b35223..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RequestedItemList.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CommonSafetyRequest" - * found in "J2735-CommonSafetyRequest-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RequestedItemList_H_ -#define _RequestedItemList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RequestedItem.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RequestedItemList */ -typedef struct RequestedItemList { - A_SEQUENCE_OF(RequestedItem_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RequestedItemList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RequestedItemList; -extern asn_SET_OF_specifics_t asn_SPC_RequestedItemList_specs_1; -extern asn_TYPE_member_t asn_MBR_RequestedItemList_1[1]; -extern asn_per_constraints_t asn_PER_type_RequestedItemList_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _RequestedItemList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RequestorDescription.c b/src/tmx/Asn_J2735/src/r2024/RequestorDescription.c new file mode 100644 index 000000000..21dcf5a2a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RequestorDescription.c @@ -0,0 +1,315 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalRequestMessage" + * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RequestorDescription.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_10 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_10 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_10 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_10 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_10[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_RequestorDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_10[] = { + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_10 = { + sizeof(struct RequestorDescription__regional), + offsetof(struct RequestorDescription__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_10 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_10, + sizeof(asn_DEF_regional_tags_10) + /sizeof(asn_DEF_regional_tags_10[0]) - 1, /* 1 */ + asn_DEF_regional_tags_10, /* Same as above */ + sizeof(asn_DEF_regional_tags_10) + /sizeof(asn_DEF_regional_tags_10[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_10, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_10, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_10, + 1, /* Single element */ + &asn_SPC_regional_specs_10 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RequestorDescription_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RequestorDescription, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_VehicleID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_POINTER, 8, offsetof(struct RequestorDescription, type), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RequestorType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "type" + }, + { ATF_POINTER, 7, offsetof(struct RequestorDescription, position), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RequestorPositionVector, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "position" + }, + { ATF_POINTER, 6, offsetof(struct RequestorDescription, name), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveName, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "name" + }, + { ATF_POINTER, 5, offsetof(struct RequestorDescription, routeName), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveName, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "routeName" + }, + { ATF_POINTER, 4, offsetof(struct RequestorDescription, transitStatus), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TransitVehicleStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transitStatus" + }, + { ATF_POINTER, 3, offsetof(struct RequestorDescription, transitOccupancy), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TransitVehicleOccupancy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transitOccupancy" + }, + { ATF_POINTER, 2, offsetof(struct RequestorDescription, transitSchedule), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DeltaTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transitSchedule" + }, + { ATF_POINTER, 1, offsetof(struct RequestorDescription, regional), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + 0, + &asn_DEF_regional_10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_10, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_10, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_RequestorDescription_oms_1[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; +static const ber_tlv_tag_t asn_DEF_RequestorDescription_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RequestorDescription_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* type */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* position */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* name */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* routeName */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* transitStatus */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* transitOccupancy */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* transitSchedule */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RequestorDescription_specs_1 = { + sizeof(struct RequestorDescription), + offsetof(struct RequestorDescription, _asn_ctx), + asn_MAP_RequestorDescription_tag2el_1, + 9, /* Count of tags in the map */ + asn_MAP_RequestorDescription_oms_1, /* Optional members */ + 8, 0, /* Root/Additions */ + 9, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RequestorDescription = { + "RequestorDescription", + "RequestorDescription", + &asn_OP_SEQUENCE, + asn_DEF_RequestorDescription_tags_1, + sizeof(asn_DEF_RequestorDescription_tags_1) + /sizeof(asn_DEF_RequestorDescription_tags_1[0]), /* 1 */ + asn_DEF_RequestorDescription_tags_1, /* Same as above */ + sizeof(asn_DEF_RequestorDescription_tags_1) + /sizeof(asn_DEF_RequestorDescription_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RequestorDescription_1, + 9, /* Elements count */ + &asn_SPC_RequestorDescription_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RequestorDescription.h b/src/tmx/Asn_J2735/src/r2024/RequestorDescription.h deleted file mode 100644 index 5c58976a6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RequestorDescription.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalRequestMessage" - * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RequestorDescription_H_ -#define _RequestorDescription_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "VehicleID.h" -#include "DescriptiveName.h" -#include "TransitVehicleStatus.h" -#include "TransitVehicleOccupancy.h" -#include "DeltaTime.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RequestorType; -struct RequestorPositionVector; -struct Reg_RequestorDescription; - -/* RequestorDescription */ -typedef struct RequestorDescription { - VehicleID_t id; - struct RequestorType *type; /* OPTIONAL */ - struct RequestorPositionVector *position; /* OPTIONAL */ - DescriptiveName_t *name; /* OPTIONAL */ - DescriptiveName_t *routeName; /* OPTIONAL */ - TransitVehicleStatus_t *transitStatus; /* OPTIONAL */ - TransitVehicleOccupancy_t *transitOccupancy; /* OPTIONAL */ - DeltaTime_t *transitSchedule; /* OPTIONAL */ - struct RequestorDescription__regional { - A_SEQUENCE_OF(struct Reg_RequestorDescription) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RequestorDescription_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RequestorDescription; -extern asn_SEQUENCE_specifics_t asn_SPC_RequestorDescription_specs_1; -extern asn_TYPE_member_t asn_MBR_RequestorDescription_1[9]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RequestorType.h" -#include "RequestorPositionVector.h" -#include "RegionalExtension.h" - -#endif /* _RequestorDescription_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RequestorPositionVector.c b/src/tmx/Asn_J2735/src/r2024/RequestorPositionVector.c new file mode 100644 index 000000000..d7b39e453 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RequestorPositionVector.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalRequestMessage" + * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RequestorPositionVector.h" + +asn_TYPE_member_t asn_MBR_RequestorPositionVector_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RequestorPositionVector, position), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "position" + }, + { ATF_POINTER, 2, offsetof(struct RequestorPositionVector, heading), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Angle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heading" + }, + { ATF_POINTER, 1, offsetof(struct RequestorPositionVector, speed), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TransmissionAndSpeed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed" + }, +}; +static const int asn_MAP_RequestorPositionVector_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_RequestorPositionVector_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RequestorPositionVector_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* position */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* heading */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* speed */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RequestorPositionVector_specs_1 = { + sizeof(struct RequestorPositionVector), + offsetof(struct RequestorPositionVector, _asn_ctx), + asn_MAP_RequestorPositionVector_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_RequestorPositionVector_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RequestorPositionVector = { + "RequestorPositionVector", + "RequestorPositionVector", + &asn_OP_SEQUENCE, + asn_DEF_RequestorPositionVector_tags_1, + sizeof(asn_DEF_RequestorPositionVector_tags_1) + /sizeof(asn_DEF_RequestorPositionVector_tags_1[0]), /* 1 */ + asn_DEF_RequestorPositionVector_tags_1, /* Same as above */ + sizeof(asn_DEF_RequestorPositionVector_tags_1) + /sizeof(asn_DEF_RequestorPositionVector_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RequestorPositionVector_1, + 3, /* Elements count */ + &asn_SPC_RequestorPositionVector_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RequestorPositionVector.h b/src/tmx/Asn_J2735/src/r2024/RequestorPositionVector.h deleted file mode 100644 index ce81b68c0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RequestorPositionVector.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalRequestMessage" - * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RequestorPositionVector_H_ -#define _RequestorPositionVector_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Position3D.h" -#include "Common_Angle.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct TransmissionAndSpeed; - -/* RequestorPositionVector */ -typedef struct RequestorPositionVector { - Position3D_t position; - Common_Angle_t *heading; /* OPTIONAL */ - struct TransmissionAndSpeed *speed; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RequestorPositionVector_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RequestorPositionVector; -extern asn_SEQUENCE_specifics_t asn_SPC_RequestorPositionVector_specs_1; -extern asn_TYPE_member_t asn_MBR_RequestorPositionVector_1[3]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "TransmissionAndSpeed.h" - -#endif /* _RequestorPositionVector_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RequestorType.c b/src/tmx/Asn_J2735/src/r2024/RequestorType.c new file mode 100644 index 000000000..bd20f2e5a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RequestorType.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RequestorType.h" + +asn_TYPE_member_t asn_MBR_RequestorType_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RequestorType, role), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BasicVehicleRole, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "role" + }, + { ATF_POINTER, 5, offsetof(struct RequestorType, subrole), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RequestSubRole, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "subrole" + }, + { ATF_POINTER, 4, offsetof(struct RequestorType, request), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RequestImportanceLevel, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "request" + }, + { ATF_POINTER, 3, offsetof(struct RequestorType, iso3883), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Iso3833VehicleType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "iso3883" + }, + { ATF_POINTER, 2, offsetof(struct RequestorType, hpmsType), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hpmsType" + }, + { ATF_POINTER, 1, offsetof(struct RequestorType, regional), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_RequestorType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_RequestorType_oms_1[] = { 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_RequestorType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RequestorType_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* role */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* subrole */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* request */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* iso3883 */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* hpmsType */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RequestorType_specs_1 = { + sizeof(struct RequestorType), + offsetof(struct RequestorType, _asn_ctx), + asn_MAP_RequestorType_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_RequestorType_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RequestorType = { + "RequestorType", + "RequestorType", + &asn_OP_SEQUENCE, + asn_DEF_RequestorType_tags_1, + sizeof(asn_DEF_RequestorType_tags_1) + /sizeof(asn_DEF_RequestorType_tags_1[0]), /* 1 */ + asn_DEF_RequestorType_tags_1, /* Same as above */ + sizeof(asn_DEF_RequestorType_tags_1) + /sizeof(asn_DEF_RequestorType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RequestorType_1, + 6, /* Elements count */ + &asn_SPC_RequestorType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RequestorType.h b/src/tmx/Asn_J2735/src/r2024/RequestorType.h deleted file mode 100644 index a4c3fba81..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RequestorType.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RequestorType_H_ -#define _RequestorType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BasicVehicleRole.h" -#include "RequestSubRole.h" -#include "RequestImportanceLevel.h" -#include "Iso3833VehicleType.h" -#include "VehicleType.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_RequestorType; - -/* RequestorType */ -typedef struct RequestorType { - BasicVehicleRole_t role; - RequestSubRole_t *subrole; /* OPTIONAL */ - RequestImportanceLevel_t *request; /* OPTIONAL */ - Iso3833VehicleType_t *iso3883; /* OPTIONAL */ - VehicleType_t *hpmsType; /* OPTIONAL */ - struct Reg_RequestorType *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RequestorType_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RequestorType; -extern asn_SEQUENCE_specifics_t asn_SPC_RequestorType_specs_1; -extern asn_TYPE_member_t asn_MBR_RequestorType_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _RequestorType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ReservedBit.c b/src/tmx/Asn_J2735/src/r2024/ReservedBit.c new file mode 100644 index 000000000..7d7a76e12 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ReservedBit.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ReservedBit.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_ReservedBit_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ReservedBit = { + "ReservedBit", + "ReservedBit", + &asn_OP_BOOLEAN, + asn_DEF_ReservedBit_tags_1, + sizeof(asn_DEF_ReservedBit_tags_1) + /sizeof(asn_DEF_ReservedBit_tags_1[0]), /* 1 */ + asn_DEF_ReservedBit_tags_1, /* Same as above */ + sizeof(asn_DEF_ReservedBit_tags_1) + /sizeof(asn_DEF_ReservedBit_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ReservedBit.h b/src/tmx/Asn_J2735/src/r2024/ReservedBit.h deleted file mode 100644 index 82c10bdd0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ReservedBit.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ReservedBit_H_ -#define _ReservedBit_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ReservedBit */ -typedef BOOLEAN_t ReservedBit_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ReservedBit; -asn_struct_free_f ReservedBit_free; -asn_struct_print_f ReservedBit_print; -asn_constr_check_f ReservedBit_constraint; -ber_type_decoder_f ReservedBit_decode_ber; -der_type_encoder_f ReservedBit_encode_der; -xer_type_decoder_f ReservedBit_decode_xer; -xer_type_encoder_f ReservedBit_encode_xer; -oer_type_decoder_f ReservedBit_decode_oer; -oer_type_encoder_f ReservedBit_encode_oer; -per_type_decoder_f ReservedBit_decode_uper; -per_type_encoder_f ReservedBit_encode_uper; -per_type_decoder_f ReservedBit_decode_aper; -per_type_encoder_f ReservedBit_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ReservedBit_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ResponseFlag.c b/src/tmx/Asn_J2735/src/r2024/ResponseFlag.c new file mode 100644 index 000000000..7698437d6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ResponseFlag.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ResponseFlag.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_ResponseFlag_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ResponseFlag = { + "ResponseFlag", + "ResponseFlag", + &asn_OP_BOOLEAN, + asn_DEF_ResponseFlag_tags_1, + sizeof(asn_DEF_ResponseFlag_tags_1) + /sizeof(asn_DEF_ResponseFlag_tags_1[0]), /* 1 */ + asn_DEF_ResponseFlag_tags_1, /* Same as above */ + sizeof(asn_DEF_ResponseFlag_tags_1) + /sizeof(asn_DEF_ResponseFlag_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ResponseFlag.h b/src/tmx/Asn_J2735/src/r2024/ResponseFlag.h deleted file mode 100644 index 061d94324..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ResponseFlag.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ResponseFlag_H_ -#define _ResponseFlag_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ResponseFlag */ -typedef BOOLEAN_t ResponseFlag_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ResponseFlag; -asn_struct_free_f ResponseFlag_free; -asn_struct_print_f ResponseFlag_print; -asn_constr_check_f ResponseFlag_constraint; -ber_type_decoder_f ResponseFlag_decode_ber; -der_type_encoder_f ResponseFlag_encode_der; -xer_type_decoder_f ResponseFlag_decode_xer; -xer_type_encoder_f ResponseFlag_encode_xer; -oer_type_decoder_f ResponseFlag_decode_oer; -oer_type_encoder_f ResponseFlag_encode_oer; -per_type_decoder_f ResponseFlag_decode_uper; -per_type_encoder_f ResponseFlag_encode_uper; -per_type_decoder_f ResponseFlag_decode_aper; -per_type_encoder_f ResponseFlag_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ResponseFlag_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ResponseType.c b/src/tmx/Asn_J2735/src/r2024/ResponseType.c new file mode 100644 index 000000000..005ebf9b9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ResponseType.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ResponseType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ResponseType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ResponseType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_ResponseType_value2enum_1[] = { + { 0, 21, "notInUseOrNotEquipped" }, + { 1, 9, "emergency" }, + { 2, 12, "nonEmergency" }, + { 3, 7, "pursuit" }, + { 4, 10, "stationary" }, + { 5, 10, "slowMoving" }, + { 6, 17, "stopAndGoMovement" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_ResponseType_enum2value_1[] = { + 1, /* emergency(1) */ + 2, /* nonEmergency(2) */ + 0, /* notInUseOrNotEquipped(0) */ + 3, /* pursuit(3) */ + 5, /* slowMoving(5) */ + 4, /* stationary(4) */ + 6 /* stopAndGoMovement(6) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_ResponseType_specs_1 = { + asn_MAP_ResponseType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ResponseType_enum2value_1, /* N => "tag"; sorted by N */ + 7, /* Number of elements in the maps */ + 8, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ResponseType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ResponseType = { + "ResponseType", + "ResponseType", + &asn_OP_NativeEnumerated, + asn_DEF_ResponseType_tags_1, + sizeof(asn_DEF_ResponseType_tags_1) + /sizeof(asn_DEF_ResponseType_tags_1[0]), /* 1 */ + asn_DEF_ResponseType_tags_1, /* Same as above */ + sizeof(asn_DEF_ResponseType_tags_1) + /sizeof(asn_DEF_ResponseType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ResponseType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ResponseType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ResponseType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ResponseType.h b/src/tmx/Asn_J2735/src/r2024/ResponseType.h deleted file mode 100644 index 4cc9c37d5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ResponseType.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ResponseType_H_ -#define _ResponseType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ResponseType { - ResponseType_notInUseOrNotEquipped = 0, - ResponseType_emergency = 1, - ResponseType_nonEmergency = 2, - ResponseType_pursuit = 3, - ResponseType_stationary = 4, - ResponseType_slowMoving = 5, - ResponseType_stopAndGoMovement = 6 - /* - * Enumeration is extensible - */ -} e_ResponseType; - -/* ResponseType */ -typedef long ResponseType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ResponseType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ResponseType; -extern const asn_INTEGER_specifics_t asn_SPC_ResponseType_specs_1; -asn_struct_free_f ResponseType_free; -asn_struct_print_f ResponseType_print; -asn_constr_check_f ResponseType_constraint; -ber_type_decoder_f ResponseType_decode_ber; -der_type_encoder_f ResponseType_encode_der; -xer_type_decoder_f ResponseType_decode_xer; -xer_type_encoder_f ResponseType_encode_xer; -oer_type_decoder_f ResponseType_decode_oer; -oer_type_encoder_f ResponseType_encode_oer; -per_type_decoder_f ResponseType_decode_uper; -per_type_encoder_f ResponseType_encode_uper; -per_type_decoder_f ResponseType_decode_aper; -per_type_encoder_f ResponseType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ResponseType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionAppliesTo.c b/src/tmx/Asn_J2735/src/r2024/RestrictionAppliesTo.c new file mode 100644 index 000000000..5520928de --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RestrictionAppliesTo.c @@ -0,0 +1,94 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RestrictionAppliesTo.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RestrictionAppliesTo_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RestrictionAppliesTo_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 13 } /* (0..13,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_RestrictionAppliesTo_value2enum_1[] = { + { 0, 4, "none" }, + { 1, 15, "equippedTransit" }, + { 2, 13, "equippedTaxis" }, + { 3, 13, "equippedOther" }, + { 4, 17, "emissionCompliant" }, + { 5, 15, "equippedBicycle" }, + { 6, 15, "weightCompliant" }, + { 7, 15, "heightCompliant" }, + { 8, 11, "pedestrians" }, + { 9, 17, "slowMovingPersons" }, + { 10, 15, "wheelchairUsers" }, + { 11, 18, "visualDisabilities" }, + { 12, 17, "audioDisabilities" }, + { 13, 24, "otherUnknownDisabilities" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RestrictionAppliesTo_enum2value_1[] = { + 12, /* audioDisabilities(12) */ + 4, /* emissionCompliant(4) */ + 5, /* equippedBicycle(5) */ + 3, /* equippedOther(3) */ + 2, /* equippedTaxis(2) */ + 1, /* equippedTransit(1) */ + 7, /* heightCompliant(7) */ + 0, /* none(0) */ + 13, /* otherUnknownDisabilities(13) */ + 8, /* pedestrians(8) */ + 9, /* slowMovingPersons(9) */ + 11, /* visualDisabilities(11) */ + 6, /* weightCompliant(6) */ + 10 /* wheelchairUsers(10) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_RestrictionAppliesTo_specs_1 = { + asn_MAP_RestrictionAppliesTo_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RestrictionAppliesTo_enum2value_1, /* N => "tag"; sorted by N */ + 14, /* Number of elements in the maps */ + 15, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RestrictionAppliesTo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RestrictionAppliesTo = { + "RestrictionAppliesTo", + "RestrictionAppliesTo", + &asn_OP_NativeEnumerated, + asn_DEF_RestrictionAppliesTo_tags_1, + sizeof(asn_DEF_RestrictionAppliesTo_tags_1) + /sizeof(asn_DEF_RestrictionAppliesTo_tags_1[0]), /* 1 */ + asn_DEF_RestrictionAppliesTo_tags_1, /* Same as above */ + sizeof(asn_DEF_RestrictionAppliesTo_tags_1) + /sizeof(asn_DEF_RestrictionAppliesTo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RestrictionAppliesTo_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RestrictionAppliesTo_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RestrictionAppliesTo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionAppliesTo.h b/src/tmx/Asn_J2735/src/r2024/RestrictionAppliesTo.h deleted file mode 100644 index d4b333078..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RestrictionAppliesTo.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RestrictionAppliesTo_H_ -#define _RestrictionAppliesTo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RestrictionAppliesTo { - RestrictionAppliesTo_none = 0, - RestrictionAppliesTo_equippedTransit = 1, - RestrictionAppliesTo_equippedTaxis = 2, - RestrictionAppliesTo_equippedOther = 3, - RestrictionAppliesTo_emissionCompliant = 4, - RestrictionAppliesTo_equippedBicycle = 5, - RestrictionAppliesTo_weightCompliant = 6, - RestrictionAppliesTo_heightCompliant = 7, - RestrictionAppliesTo_pedestrians = 8, - RestrictionAppliesTo_slowMovingPersons = 9, - RestrictionAppliesTo_wheelchairUsers = 10, - RestrictionAppliesTo_visualDisabilities = 11, - RestrictionAppliesTo_audioDisabilities = 12, - RestrictionAppliesTo_otherUnknownDisabilities = 13 - /* - * Enumeration is extensible - */ -} e_RestrictionAppliesTo; - -/* RestrictionAppliesTo */ -typedef long RestrictionAppliesTo_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RestrictionAppliesTo_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RestrictionAppliesTo; -extern const asn_INTEGER_specifics_t asn_SPC_RestrictionAppliesTo_specs_1; -asn_struct_free_f RestrictionAppliesTo_free; -asn_struct_print_f RestrictionAppliesTo_print; -asn_constr_check_f RestrictionAppliesTo_constraint; -ber_type_decoder_f RestrictionAppliesTo_decode_ber; -der_type_encoder_f RestrictionAppliesTo_encode_der; -xer_type_decoder_f RestrictionAppliesTo_decode_xer; -xer_type_encoder_f RestrictionAppliesTo_encode_xer; -oer_type_decoder_f RestrictionAppliesTo_decode_oer; -oer_type_encoder_f RestrictionAppliesTo_encode_oer; -per_type_decoder_f RestrictionAppliesTo_decode_uper; -per_type_encoder_f RestrictionAppliesTo_encode_uper; -per_type_decoder_f RestrictionAppliesTo_decode_aper; -per_type_encoder_f RestrictionAppliesTo_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RestrictionAppliesTo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionClass.c b/src/tmx/Asn_J2735/src/r2024/RestrictionClass.c new file mode 100644 index 000000000..ea29a7d06 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RestrictionClass.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RestrictionClass.h" + +int +RestrictionClass_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RestrictionClass_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RestrictionClass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RestrictionClass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RestrictionClass = { + "RestrictionClass", + "RestrictionClass", + &asn_OP_NativeInteger, + asn_DEF_RestrictionClass_tags_1, + sizeof(asn_DEF_RestrictionClass_tags_1) + /sizeof(asn_DEF_RestrictionClass_tags_1[0]), /* 1 */ + asn_DEF_RestrictionClass_tags_1, /* Same as above */ + sizeof(asn_DEF_RestrictionClass_tags_1) + /sizeof(asn_DEF_RestrictionClass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RestrictionClass_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RestrictionClass_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RestrictionClass_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionClass.h b/src/tmx/Asn_J2735/src/r2024/RestrictionClass.h deleted file mode 100644 index a72783553..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RestrictionClass.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RestrictionClass_H_ -#define _RestrictionClass_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RestrictionClass { - RestrictionClass_restrictions = 2561, - RestrictionClass_ramp_restrictions = 2562, - RestrictionClass_truck_restriction = 2563, - RestrictionClass_speed_restriction = 2564, - RestrictionClass_noise_restriction = 2565, - RestrictionClass_traffic_regulations_have_been_changed = 2566, - RestrictionClass_local_access_only = 2567, - RestrictionClass_no_trailers = 2568, - RestrictionClass_no_high_profile_vehicles = 2569, - RestrictionClass_hazardous_materials_truck_restriction = 2570, - RestrictionClass_no_through_traffic = 2571, - RestrictionClass_no_motor_vehicles = 2572, - RestrictionClass_width_limit = 2573, - RestrictionClass_height_limit = 2574, - RestrictionClass_length_limit = 2575, - RestrictionClass_axle_load_limit = 2576, - RestrictionClass_gross_weight_limit = 2577, - RestrictionClass_axle_count_limit = 2578, - RestrictionClass_carpool_lane_available = 2579, - RestrictionClass_carpool_restrictions_changed = 2580, - RestrictionClass_hOV_2_no_single_occupant_vehicles = 2581, - RestrictionClass_hOV_3_no_vehicles_with_less_than_three_occupants = 2582, - RestrictionClass_bus_lane_available_for_all_vehicles = 2583, - RestrictionClass_truck_lane_available_for_all_vehicles = 2584, - RestrictionClass_permits_call_in_basis = 2585, - RestrictionClass_permits_temporarily_closed = 2586, - RestrictionClass_permits_closed = 2587, - RestrictionClass_road_use_permits_required = 2588, - RestrictionClass_permits_open = 2675, - RestrictionClass_restrictions_for_high_profile_vehicles_lifted = 2676, - RestrictionClass_width_limit_lifted = 2677, - RestrictionClass_height_limit_lifted = 2678, - RestrictionClass_length_limit_lifted = 2679, - RestrictionClass_axle_load_limit_lifted = 2680, - RestrictionClass_weight_limit_lifted = 2681, - RestrictionClass_axle_count_limit_lifted = 2682, - RestrictionClass_carpool_restrictions_lifted = 2683, - RestrictionClass_lane_restrictions_lifted = 2684, - RestrictionClass_ramp_restrictions_lifted = 2685, - RestrictionClass_motor_vehicle_restrictions_lifted = 2686, - RestrictionClass_restrictions_lifted = 2687 -} e_RestrictionClass; - -/* RestrictionClass */ -typedef long RestrictionClass_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RestrictionClass_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RestrictionClass; -asn_struct_free_f RestrictionClass_free; -asn_struct_print_f RestrictionClass_print; -asn_constr_check_f RestrictionClass_constraint; -ber_type_decoder_f RestrictionClass_decode_ber; -der_type_encoder_f RestrictionClass_encode_der; -xer_type_decoder_f RestrictionClass_decode_xer; -xer_type_encoder_f RestrictionClass_encode_xer; -oer_type_decoder_f RestrictionClass_decode_oer; -oer_type_encoder_f RestrictionClass_encode_oer; -per_type_decoder_f RestrictionClass_decode_uper; -per_type_encoder_f RestrictionClass_encode_uper; -per_type_decoder_f RestrictionClass_decode_aper; -per_type_encoder_f RestrictionClass_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RestrictionClass_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionClassAssignment.c b/src/tmx/Asn_J2735/src/r2024/RestrictionClassAssignment.c new file mode 100644 index 000000000..808a1e34a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RestrictionClassAssignment.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RestrictionClassAssignment.h" + +asn_TYPE_member_t asn_MBR_RestrictionClassAssignment_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RestrictionClassAssignment, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RestrictionClassID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RestrictionClassAssignment, users), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RestrictionUserTypeList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "users" + }, +}; +static const ber_tlv_tag_t asn_DEF_RestrictionClassAssignment_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RestrictionClassAssignment_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* users */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RestrictionClassAssignment_specs_1 = { + sizeof(struct RestrictionClassAssignment), + offsetof(struct RestrictionClassAssignment, _asn_ctx), + asn_MAP_RestrictionClassAssignment_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RestrictionClassAssignment = { + "RestrictionClassAssignment", + "RestrictionClassAssignment", + &asn_OP_SEQUENCE, + asn_DEF_RestrictionClassAssignment_tags_1, + sizeof(asn_DEF_RestrictionClassAssignment_tags_1) + /sizeof(asn_DEF_RestrictionClassAssignment_tags_1[0]), /* 1 */ + asn_DEF_RestrictionClassAssignment_tags_1, /* Same as above */ + sizeof(asn_DEF_RestrictionClassAssignment_tags_1) + /sizeof(asn_DEF_RestrictionClassAssignment_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RestrictionClassAssignment_1, + 2, /* Elements count */ + &asn_SPC_RestrictionClassAssignment_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionClassAssignment.h b/src/tmx/Asn_J2735/src/r2024/RestrictionClassAssignment.h deleted file mode 100644 index dc9ebb08f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RestrictionClassAssignment.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RestrictionClassAssignment_H_ -#define _RestrictionClassAssignment_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RestrictionClassID.h" -#include "RestrictionUserTypeList.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RestrictionClassAssignment */ -typedef struct RestrictionClassAssignment { - RestrictionClassID_t id; - RestrictionUserTypeList_t users; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RestrictionClassAssignment_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RestrictionClassAssignment; -extern asn_SEQUENCE_specifics_t asn_SPC_RestrictionClassAssignment_specs_1; -extern asn_TYPE_member_t asn_MBR_RestrictionClassAssignment_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RestrictionClassAssignment_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionClassID.c b/src/tmx/Asn_J2735/src/r2024/RestrictionClassID.c new file mode 100644 index 000000000..9844127d6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RestrictionClassID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RestrictionClassID.h" + +int +RestrictionClassID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RestrictionClassID_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RestrictionClassID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RestrictionClassID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RestrictionClassID = { + "RestrictionClassID", + "RestrictionClassID", + &asn_OP_NativeInteger, + asn_DEF_RestrictionClassID_tags_1, + sizeof(asn_DEF_RestrictionClassID_tags_1) + /sizeof(asn_DEF_RestrictionClassID_tags_1[0]), /* 1 */ + asn_DEF_RestrictionClassID_tags_1, /* Same as above */ + sizeof(asn_DEF_RestrictionClassID_tags_1) + /sizeof(asn_DEF_RestrictionClassID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RestrictionClassID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RestrictionClassID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RestrictionClassID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionClassID.h b/src/tmx/Asn_J2735/src/r2024/RestrictionClassID.h deleted file mode 100644 index 4de5e0c4e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RestrictionClassID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RestrictionClassID_H_ -#define _RestrictionClassID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RestrictionClassID */ -typedef long RestrictionClassID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RestrictionClassID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RestrictionClassID; -asn_struct_free_f RestrictionClassID_free; -asn_struct_print_f RestrictionClassID_print; -asn_constr_check_f RestrictionClassID_constraint; -ber_type_decoder_f RestrictionClassID_decode_ber; -der_type_encoder_f RestrictionClassID_encode_der; -xer_type_decoder_f RestrictionClassID_decode_xer; -xer_type_encoder_f RestrictionClassID_encode_xer; -oer_type_decoder_f RestrictionClassID_decode_oer; -oer_type_encoder_f RestrictionClassID_encode_oer; -per_type_decoder_f RestrictionClassID_decode_uper; -per_type_encoder_f RestrictionClassID_encode_uper; -per_type_decoder_f RestrictionClassID_decode_aper; -per_type_encoder_f RestrictionClassID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RestrictionClassID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionClassList.c b/src/tmx/Asn_J2735/src/r2024/RestrictionClassList.c new file mode 100644 index 000000000..d54d518f5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RestrictionClassList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RestrictionClassList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RestrictionClassList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..254)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RestrictionClassList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 254 } /* (SIZE(1..254)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RestrictionClassList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RestrictionClassAssignment, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RestrictionClassList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_RestrictionClassList_specs_1 = { + sizeof(struct RestrictionClassList), + offsetof(struct RestrictionClassList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_RestrictionClassList = { + "RestrictionClassList", + "RestrictionClassList", + &asn_OP_SEQUENCE_OF, + asn_DEF_RestrictionClassList_tags_1, + sizeof(asn_DEF_RestrictionClassList_tags_1) + /sizeof(asn_DEF_RestrictionClassList_tags_1[0]), /* 1 */ + asn_DEF_RestrictionClassList_tags_1, /* Same as above */ + sizeof(asn_DEF_RestrictionClassList_tags_1) + /sizeof(asn_DEF_RestrictionClassList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RestrictionClassList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RestrictionClassList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_RestrictionClassList_1, + 1, /* Single element */ + &asn_SPC_RestrictionClassList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionClassList.h b/src/tmx/Asn_J2735/src/r2024/RestrictionClassList.h deleted file mode 100644 index 65907c226..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RestrictionClassList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RestrictionClassList_H_ -#define _RestrictionClassList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RestrictionClassAssignment; - -/* RestrictionClassList */ -typedef struct RestrictionClassList { - A_SEQUENCE_OF(struct RestrictionClassAssignment) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RestrictionClassList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RestrictionClassList; -extern asn_SET_OF_specifics_t asn_SPC_RestrictionClassList_specs_1; -extern asn_TYPE_member_t asn_MBR_RestrictionClassList_1[1]; -extern asn_per_constraints_t asn_PER_type_RestrictionClassList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RestrictionClassAssignment.h" - -#endif /* _RestrictionClassList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionUserType-addGrpC.c b/src/tmx/Asn_J2735/src/r2024/RestrictionUserType-addGrpC.c new file mode 100644 index 000000000..e88bf382b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RestrictionUserType-addGrpC.c @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RestrictionUserType-addGrpC.h" + +asn_TYPE_member_t asn_MBR_RestrictionUserType_addGrpC_1[] = { + { ATF_POINTER, 1, offsetof(struct RestrictionUserType_addGrpC, emission), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EmissionType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emission" + }, +}; +static const int asn_MAP_RestrictionUserType_addGrpC_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_RestrictionUserType_addGrpC_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RestrictionUserType_addGrpC_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* emission */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RestrictionUserType_addGrpC_specs_1 = { + sizeof(struct RestrictionUserType_addGrpC), + offsetof(struct RestrictionUserType_addGrpC, _asn_ctx), + asn_MAP_RestrictionUserType_addGrpC_tag2el_1, + 1, /* Count of tags in the map */ + asn_MAP_RestrictionUserType_addGrpC_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RestrictionUserType_addGrpC = { + "RestrictionUserType-addGrpC", + "RestrictionUserType-addGrpC", + &asn_OP_SEQUENCE, + asn_DEF_RestrictionUserType_addGrpC_tags_1, + sizeof(asn_DEF_RestrictionUserType_addGrpC_tags_1) + /sizeof(asn_DEF_RestrictionUserType_addGrpC_tags_1[0]), /* 1 */ + asn_DEF_RestrictionUserType_addGrpC_tags_1, /* Same as above */ + sizeof(asn_DEF_RestrictionUserType_addGrpC_tags_1) + /sizeof(asn_DEF_RestrictionUserType_addGrpC_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RestrictionUserType_addGrpC_1, + 1, /* Elements count */ + &asn_SPC_RestrictionUserType_addGrpC_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionUserType-addGrpC.h b/src/tmx/Asn_J2735/src/r2024/RestrictionUserType-addGrpC.h deleted file mode 100644 index 1c6772ee2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RestrictionUserType-addGrpC.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RestrictionUserType_addGrpC_H_ -#define _RestrictionUserType_addGrpC_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "EmissionType.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RestrictionUserType-addGrpC */ -typedef struct RestrictionUserType_addGrpC { - EmissionType_t *emission; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RestrictionUserType_addGrpC_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RestrictionUserType_addGrpC; -extern asn_SEQUENCE_specifics_t asn_SPC_RestrictionUserType_addGrpC_specs_1; -extern asn_TYPE_member_t asn_MBR_RestrictionUserType_addGrpC_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RestrictionUserType_addGrpC_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionUserType.c b/src/tmx/Asn_J2735/src/r2024/RestrictionUserType.c new file mode 100644 index 000000000..2a63bfc45 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RestrictionUserType.c @@ -0,0 +1,196 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RestrictionUserType.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RestrictionUserType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RestrictionUserType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_3[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_RestrictionUserType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_3 = { + sizeof(struct RestrictionUserType__regional), + offsetof(struct RestrictionUserType__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_3 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_3, + sizeof(asn_DEF_regional_tags_3) + /sizeof(asn_DEF_regional_tags_3[0]) - 1, /* 1 */ + asn_DEF_regional_tags_3, /* Same as above */ + sizeof(asn_DEF_regional_tags_3) + /sizeof(asn_DEF_regional_tags_3[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_3, + 1, /* Single element */ + &asn_SPC_regional_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RestrictionUserType_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RestrictionUserType, choice.basicType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RestrictionAppliesTo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "basicType" + }, + { ATF_NOFLAGS, 0, offsetof(struct RestrictionUserType, choice.regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_regional_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RestrictionUserType_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* basicType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_CHOICE_specifics_t asn_SPC_RestrictionUserType_specs_1 = { + sizeof(struct RestrictionUserType), + offsetof(struct RestrictionUserType, _asn_ctx), + offsetof(struct RestrictionUserType, present), + sizeof(((struct RestrictionUserType *)0)->present), + asn_MAP_RestrictionUserType_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RestrictionUserType = { + "RestrictionUserType", + "RestrictionUserType", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RestrictionUserType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RestrictionUserType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_RestrictionUserType_1, + 2, /* Elements count */ + &asn_SPC_RestrictionUserType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionUserType.h b/src/tmx/Asn_J2735/src/r2024/RestrictionUserType.h deleted file mode 100644 index b86fcc650..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RestrictionUserType.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RestrictionUserType_H_ -#define _RestrictionUserType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RestrictionAppliesTo.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RestrictionUserType_PR { - RestrictionUserType_PR_NOTHING, /* No components present */ - RestrictionUserType_PR_basicType, - RestrictionUserType_PR_regional - /* Extensions may appear below */ - -} RestrictionUserType_PR; - -/* Forward declarations */ -struct Reg_RestrictionUserType; - -/* RestrictionUserType */ -typedef struct RestrictionUserType { - RestrictionUserType_PR present; - union RestrictionUserType_u { - RestrictionAppliesTo_t basicType; - struct RestrictionUserType__regional { - A_SEQUENCE_OF(struct Reg_RestrictionUserType) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regional; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RestrictionUserType_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RestrictionUserType; -extern asn_CHOICE_specifics_t asn_SPC_RestrictionUserType_specs_1; -extern asn_TYPE_member_t asn_MBR_RestrictionUserType_1[2]; -extern asn_per_constraints_t asn_PER_type_RestrictionUserType_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _RestrictionUserType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionUserTypeList.c b/src/tmx/Asn_J2735/src/r2024/RestrictionUserTypeList.c new file mode 100644 index 000000000..ec186f304 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RestrictionUserTypeList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RestrictionUserTypeList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RestrictionUserTypeList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RestrictionUserTypeList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RestrictionUserTypeList_1[] = { + { ATF_POINTER, 0, 0, + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_RestrictionUserType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RestrictionUserTypeList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_RestrictionUserTypeList_specs_1 = { + sizeof(struct RestrictionUserTypeList), + offsetof(struct RestrictionUserTypeList, _asn_ctx), + 2, /* XER encoding is XMLValueList */ +}; +asn_TYPE_descriptor_t asn_DEF_RestrictionUserTypeList = { + "RestrictionUserTypeList", + "RestrictionUserTypeList", + &asn_OP_SEQUENCE_OF, + asn_DEF_RestrictionUserTypeList_tags_1, + sizeof(asn_DEF_RestrictionUserTypeList_tags_1) + /sizeof(asn_DEF_RestrictionUserTypeList_tags_1[0]), /* 1 */ + asn_DEF_RestrictionUserTypeList_tags_1, /* Same as above */ + sizeof(asn_DEF_RestrictionUserTypeList_tags_1) + /sizeof(asn_DEF_RestrictionUserTypeList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RestrictionUserTypeList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RestrictionUserTypeList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_RestrictionUserTypeList_1, + 1, /* Single element */ + &asn_SPC_RestrictionUserTypeList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RestrictionUserTypeList.h b/src/tmx/Asn_J2735/src/r2024/RestrictionUserTypeList.h deleted file mode 100644 index eee740519..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RestrictionUserTypeList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RestrictionUserTypeList_H_ -#define _RestrictionUserTypeList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RestrictionUserType; - -/* RestrictionUserTypeList */ -typedef struct RestrictionUserTypeList { - A_SEQUENCE_OF(struct RestrictionUserType) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RestrictionUserTypeList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RestrictionUserTypeList; -extern asn_SET_OF_specifics_t asn_SPC_RestrictionUserTypeList_specs_1; -extern asn_TYPE_member_t asn_MBR_RestrictionUserTypeList_1[1]; -extern asn_per_constraints_t asn_PER_type_RestrictionUserTypeList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RestrictionUserType.h" - -#endif /* _RestrictionUserTypeList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ResultFin.c b/src/tmx/Asn_J2735/src/r2024/ResultFin.c new file mode 100644 index 000000000..63b732e65 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ResultFin.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ResultFin.h" + +int +ResultFin_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 1UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ResultFin_constr_1 CC_NOTUSED = { + { 0, 0 }, + 1 /* (SIZE(1..1)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ResultFin_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 1, 1 } /* (SIZE(1..1)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ResultFin_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ResultFin = { + "ResultFin", + "ResultFin", + &asn_OP_OCTET_STRING, + asn_DEF_ResultFin_tags_1, + sizeof(asn_DEF_ResultFin_tags_1) + /sizeof(asn_DEF_ResultFin_tags_1[0]), /* 1 */ + asn_DEF_ResultFin_tags_1, /* Same as above */ + sizeof(asn_DEF_ResultFin_tags_1) + /sizeof(asn_DEF_ResultFin_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ResultFin_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ResultFin_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ResultFin_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ResultFin.h b/src/tmx/Asn_J2735/src/r2024/ResultFin.h deleted file mode 100644 index 180ead980..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ResultFin.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ResultFin_H_ -#define _ResultFin_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ResultFin */ -typedef OCTET_STRING_t ResultFin_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ResultFin_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ResultFin; -asn_struct_free_f ResultFin_free; -asn_struct_print_f ResultFin_print; -asn_constr_check_f ResultFin_constraint; -ber_type_decoder_f ResultFin_decode_ber; -der_type_encoder_f ResultFin_encode_der; -xer_type_decoder_f ResultFin_decode_xer; -xer_type_encoder_f ResultFin_encode_xer; -oer_type_decoder_f ResultFin_decode_oer; -oer_type_encoder_f ResultFin_encode_oer; -per_type_decoder_f ResultFin_decode_uper; -per_type_encoder_f ResultFin_encode_uper; -per_type_decoder_f ResultFin_decode_aper; -per_type_encoder_f ResultFin_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ResultFin_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ResultOp.c b/src/tmx/Asn_J2735/src/r2024/ResultOp.c new file mode 100644 index 000000000..ddc1029be --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ResultOp.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ResultOp.h" + +int +ResultOp_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ResultOp_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ResultOp_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ResultOp_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ResultOp = { + "ResultOp", + "ResultOp", + &asn_OP_NativeInteger, + asn_DEF_ResultOp_tags_1, + sizeof(asn_DEF_ResultOp_tags_1) + /sizeof(asn_DEF_ResultOp_tags_1[0]), /* 1 */ + asn_DEF_ResultOp_tags_1, /* Same as above */ + sizeof(asn_DEF_ResultOp_tags_1) + /sizeof(asn_DEF_ResultOp_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ResultOp_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ResultOp_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ResultOp_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ResultOp.h b/src/tmx/Asn_J2735/src/r2024/ResultOp.h deleted file mode 100644 index c43c3980c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ResultOp.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ResultOp_H_ -#define _ResultOp_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ResultOp { - ResultOp_correctTransaction = 0, - ResultOp_obeStatusNotAccepted = 1, - ResultOp_equipmentStatusNotAccepted = 2, - ResultOp_contractNotInWhiteList = 3, - ResultOp_contractIdentifierInBlackList = 4, - ResultOp_contractIdentifierNotCorrect = 5, - ResultOp_expiredContract = 6, - ResultOp_contractRestrictionsNotFulfilled = 7, - ResultOp_claimedVehicleCharacteristicsNotValid = 8, - ResultOp_vehicleClassAuthenticationFailed = 9, - ResultOp_entryVehicleClassDifferentFromExitVehicleClass = 10, - ResultOp_entryReceiptMissing = 11, - ResultOp_entryReceiptNotValid = 12, - ResultOp_entryTollStationNotValid = 13, - ResultOp_equipmentNotCertified = 14, - ResultOp_timeDifference = 15, - ResultOp_accessCredentialsNotAccepted = 16, - ResultOp_contractAuthenticatorNotAccepted = 17, - ResultOp_receiptAuthenticatorNotAccepted = 18, - ResultOp_claimedVehicleCharacteristicsMissing = 19, - ResultOp_paymentMeansNotAccepted = 20, - ResultOp_paymentAuthenticatorNotAccepted = 21, - ResultOp_paymentMeansInBlackList = 22, - ResultOp_paymentMeansNotCorrect = 23, - ResultOp_expiredPaymentMeans = 24, - ResultOp_paymentMeansRestrictionsNotFulfilled = 25 -} e_ResultOp; - -/* ResultOp */ -typedef long ResultOp_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ResultOp_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ResultOp; -asn_struct_free_f ResultOp_free; -asn_struct_print_f ResultOp_print; -asn_constr_check_f ResultOp_constraint; -ber_type_decoder_f ResultOp_decode_ber; -der_type_encoder_f ResultOp_encode_der; -xer_type_decoder_f ResultOp_decode_xer; -xer_type_encoder_f ResultOp_encode_xer; -oer_type_decoder_f ResultOp_decode_oer; -oer_type_encoder_f ResultOp_encode_oer; -per_type_decoder_f ResultOp_decode_uper; -per_type_encoder_f ResultOp_encode_uper; -per_type_decoder_f ResultOp_decode_aper; -per_type_encoder_f ResultOp_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ResultOp_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadAuthorityID.c b/src/tmx/Asn_J2735/src/r2024/RoadAuthorityID.c new file mode 100644 index 000000000..b315d9a64 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadAuthorityID.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadAuthorityID.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RoadAuthorityID_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RoadAuthorityID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RoadAuthorityID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RoadAuthorityID, choice.fullRdAuthID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FullRoadAuthorityID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "fullRdAuthID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RoadAuthorityID, choice.relRdAuthID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RelativeRoadAuthorityID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "relRdAuthID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RoadAuthorityID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fullRdAuthID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* relRdAuthID */ +}; +asn_CHOICE_specifics_t asn_SPC_RoadAuthorityID_specs_1 = { + sizeof(struct RoadAuthorityID), + offsetof(struct RoadAuthorityID, _asn_ctx), + offsetof(struct RoadAuthorityID, present), + sizeof(((struct RoadAuthorityID *)0)->present), + asn_MAP_RoadAuthorityID_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RoadAuthorityID = { + "RoadAuthorityID", + "RoadAuthorityID", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RoadAuthorityID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RoadAuthorityID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_RoadAuthorityID_1, + 2, /* Elements count */ + &asn_SPC_RoadAuthorityID_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadAuthorityID.h b/src/tmx/Asn_J2735/src/r2024/RoadAuthorityID.h deleted file mode 100644 index e0615c30a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadAuthorityID.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadAuthorityID_H_ -#define _RoadAuthorityID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "FullRoadAuthorityID.h" -#include "RelativeRoadAuthorityID.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RoadAuthorityID_PR { - RoadAuthorityID_PR_NOTHING, /* No components present */ - RoadAuthorityID_PR_fullRdAuthID, - RoadAuthorityID_PR_relRdAuthID - /* Extensions may appear below */ - -} RoadAuthorityID_PR; - -/* RoadAuthorityID */ -typedef struct RoadAuthorityID { - RoadAuthorityID_PR present; - union RoadAuthorityID_u { - FullRoadAuthorityID_t fullRdAuthID; - RelativeRoadAuthorityID_t relRdAuthID; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RoadAuthorityID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadAuthorityID; -extern asn_CHOICE_specifics_t asn_SPC_RoadAuthorityID_specs_1; -extern asn_TYPE_member_t asn_MBR_RoadAuthorityID_1[2]; -extern asn_per_constraints_t asn_PER_type_RoadAuthorityID_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _RoadAuthorityID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadGeometryAndAttributes.c b/src/tmx/Asn_J2735/src/r2024/RoadGeometryAndAttributes.c new file mode 100644 index 000000000..4d5d73cd3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadGeometryAndAttributes.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadGeometryAndAttributes" + * found in "J2945-A-RGA-2024-ph-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadGeometryAndAttributes.h" + +/* + * This type is implemented using NULL, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_RoadGeometryAndAttributes_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RoadGeometryAndAttributes = { + "RoadGeometryAndAttributes", + "RoadGeometryAndAttributes", + &asn_OP_NULL, + asn_DEF_RoadGeometryAndAttributes_tags_1, + sizeof(asn_DEF_RoadGeometryAndAttributes_tags_1) + /sizeof(asn_DEF_RoadGeometryAndAttributes_tags_1[0]), /* 1 */ + asn_DEF_RoadGeometryAndAttributes_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadGeometryAndAttributes_tags_1) + /sizeof(asn_DEF_RoadGeometryAndAttributes_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NULL_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadGeometryAndAttributes.h b/src/tmx/Asn_J2735/src/r2024/RoadGeometryAndAttributes.h deleted file mode 100644 index 600a2abe0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadGeometryAndAttributes.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadGeometryAndAttributes" - * found in "J2945-A-RGA-2024-ph-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadGeometryAndAttributes_H_ -#define _RoadGeometryAndAttributes_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NULL.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RoadGeometryAndAttributes */ -typedef NULL_t RoadGeometryAndAttributes_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadGeometryAndAttributes; -asn_struct_free_f RoadGeometryAndAttributes_free; -asn_struct_print_f RoadGeometryAndAttributes_print; -asn_constr_check_f RoadGeometryAndAttributes_constraint; -ber_type_decoder_f RoadGeometryAndAttributes_decode_ber; -der_type_encoder_f RoadGeometryAndAttributes_encode_der; -xer_type_decoder_f RoadGeometryAndAttributes_decode_xer; -xer_type_encoder_f RoadGeometryAndAttributes_encode_xer; -oer_type_decoder_f RoadGeometryAndAttributes_decode_oer; -oer_type_encoder_f RoadGeometryAndAttributes_encode_oer; -per_type_decoder_f RoadGeometryAndAttributes_decode_uper; -per_type_encoder_f RoadGeometryAndAttributes_encode_uper; -per_type_decoder_f RoadGeometryAndAttributes_decode_aper; -per_type_encoder_f RoadGeometryAndAttributes_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RoadGeometryAndAttributes_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadGrade.c b/src/tmx/Asn_J2735/src/r2024/RoadGrade.c new file mode 100644 index 000000000..7874bb638 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadGrade.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadGrade.h" + +int +RoadGrade_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -100L && value <= 101L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RoadGrade_constr_1 CC_NOTUSED = { + { 1, 0 } /* (-100..101) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RoadGrade_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -100, 101 } /* (-100..101) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RoadGrade_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RoadGrade = { + "RoadGrade", + "RoadGrade", + &asn_OP_NativeInteger, + asn_DEF_RoadGrade_tags_1, + sizeof(asn_DEF_RoadGrade_tags_1) + /sizeof(asn_DEF_RoadGrade_tags_1[0]), /* 1 */ + asn_DEF_RoadGrade_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadGrade_tags_1) + /sizeof(asn_DEF_RoadGrade_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RoadGrade_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RoadGrade_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RoadGrade_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadGrade.h b/src/tmx/Asn_J2735/src/r2024/RoadGrade.h deleted file mode 100644 index 2c05a6e71..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadGrade.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadGrade_H_ -#define _RoadGrade_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RoadGrade */ -typedef long RoadGrade_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RoadGrade_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RoadGrade; -asn_struct_free_f RoadGrade_free; -asn_struct_print_f RoadGrade_print; -asn_constr_check_f RoadGrade_constraint; -ber_type_decoder_f RoadGrade_decode_ber; -der_type_encoder_f RoadGrade_encode_der; -xer_type_decoder_f RoadGrade_decode_xer; -xer_type_encoder_f RoadGrade_encode_xer; -oer_type_decoder_f RoadGrade_decode_oer; -oer_type_encoder_f RoadGrade_encode_oer; -per_type_decoder_f RoadGrade_decode_uper; -per_type_encoder_f RoadGrade_encode_uper; -per_type_decoder_f RoadGrade_decode_aper; -per_type_encoder_f RoadGrade_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RoadGrade_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadLaneSetList.c b/src/tmx/Asn_J2735/src/r2024/RoadLaneSetList.c new file mode 100644 index 000000000..9d8230371 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadLaneSetList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadLaneSetList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RoadLaneSetList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..255)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RoadLaneSetList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RoadLaneSetList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GenericLane, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RoadLaneSetList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_RoadLaneSetList_specs_1 = { + sizeof(struct RoadLaneSetList), + offsetof(struct RoadLaneSetList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_RoadLaneSetList = { + "RoadLaneSetList", + "RoadLaneSetList", + &asn_OP_SEQUENCE_OF, + asn_DEF_RoadLaneSetList_tags_1, + sizeof(asn_DEF_RoadLaneSetList_tags_1) + /sizeof(asn_DEF_RoadLaneSetList_tags_1[0]), /* 1 */ + asn_DEF_RoadLaneSetList_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadLaneSetList_tags_1) + /sizeof(asn_DEF_RoadLaneSetList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RoadLaneSetList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RoadLaneSetList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_RoadLaneSetList_1, + 1, /* Single element */ + &asn_SPC_RoadLaneSetList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadLaneSetList.h b/src/tmx/Asn_J2735/src/r2024/RoadLaneSetList.h deleted file mode 100644 index 4b8b29366..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadLaneSetList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadLaneSetList_H_ -#define _RoadLaneSetList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct GenericLane; - -/* RoadLaneSetList */ -typedef struct RoadLaneSetList { - A_SEQUENCE_OF(struct GenericLane) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RoadLaneSetList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadLaneSetList; -extern asn_SET_OF_specifics_t asn_SPC_RoadLaneSetList_specs_1; -extern asn_TYPE_member_t asn_MBR_RoadLaneSetList_1[1]; -extern asn_per_constraints_t asn_PER_type_RoadLaneSetList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "GenericLane.h" - -#endif /* _RoadLaneSetList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadRegulatorID.c b/src/tmx/Asn_J2735/src/r2024/RoadRegulatorID.c new file mode 100644 index 000000000..be02f952b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadRegulatorID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadRegulatorID.h" + +int +RoadRegulatorID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RoadRegulatorID_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RoadRegulatorID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RoadRegulatorID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RoadRegulatorID = { + "RoadRegulatorID", + "RoadRegulatorID", + &asn_OP_NativeInteger, + asn_DEF_RoadRegulatorID_tags_1, + sizeof(asn_DEF_RoadRegulatorID_tags_1) + /sizeof(asn_DEF_RoadRegulatorID_tags_1[0]), /* 1 */ + asn_DEF_RoadRegulatorID_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadRegulatorID_tags_1) + /sizeof(asn_DEF_RoadRegulatorID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RoadRegulatorID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RoadRegulatorID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RoadRegulatorID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadRegulatorID.h b/src/tmx/Asn_J2735/src/r2024/RoadRegulatorID.h deleted file mode 100644 index efbe69474..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadRegulatorID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadRegulatorID_H_ -#define _RoadRegulatorID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RoadRegulatorID */ -typedef long RoadRegulatorID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RoadRegulatorID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RoadRegulatorID; -asn_struct_free_f RoadRegulatorID_free; -asn_struct_print_f RoadRegulatorID_print; -asn_constr_check_f RoadRegulatorID_constraint; -ber_type_decoder_f RoadRegulatorID_decode_ber; -der_type_encoder_f RoadRegulatorID_encode_der; -xer_type_decoder_f RoadRegulatorID_decode_xer; -xer_type_encoder_f RoadRegulatorID_encode_xer; -oer_type_decoder_f RoadRegulatorID_decode_oer; -oer_type_encoder_f RoadRegulatorID_encode_oer; -per_type_decoder_f RoadRegulatorID_decode_uper; -per_type_encoder_f RoadRegulatorID_encode_uper; -per_type_decoder_f RoadRegulatorID_decode_aper; -per_type_encoder_f RoadRegulatorID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RoadRegulatorID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadRoughness.c b/src/tmx/Asn_J2735/src/r2024/RoadRoughness.c new file mode 100644 index 000000000..7e2a5a0d5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadRoughness.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadRoughness.h" + +asn_TYPE_member_t asn_MBR_RoadRoughness_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RoadRoughness, meanVerticalVariation), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MeanVariation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "meanVerticalVariation" + }, + { ATF_POINTER, 3, offsetof(struct RoadRoughness, verticalVariationStdDev), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VariationStdDev, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "verticalVariationStdDev" + }, + { ATF_POINTER, 2, offsetof(struct RoadRoughness, meanHorizontalVariation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MeanVariation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "meanHorizontalVariation" + }, + { ATF_POINTER, 1, offsetof(struct RoadRoughness, horizontalVariationStdDev), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VariationStdDev, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "horizontalVariationStdDev" + }, +}; +static const int asn_MAP_RoadRoughness_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_RoadRoughness_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RoadRoughness_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* meanVerticalVariation */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* verticalVariationStdDev */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* meanHorizontalVariation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* horizontalVariationStdDev */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RoadRoughness_specs_1 = { + sizeof(struct RoadRoughness), + offsetof(struct RoadRoughness, _asn_ctx), + asn_MAP_RoadRoughness_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_RoadRoughness_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RoadRoughness = { + "RoadRoughness", + "RoadRoughness", + &asn_OP_SEQUENCE, + asn_DEF_RoadRoughness_tags_1, + sizeof(asn_DEF_RoadRoughness_tags_1) + /sizeof(asn_DEF_RoadRoughness_tags_1[0]), /* 1 */ + asn_DEF_RoadRoughness_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadRoughness_tags_1) + /sizeof(asn_DEF_RoadRoughness_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RoadRoughness_1, + 4, /* Elements count */ + &asn_SPC_RoadRoughness_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadRoughness.h b/src/tmx/Asn_J2735/src/r2024/RoadRoughness.h deleted file mode 100644 index c750a2a8d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadRoughness.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadRoughness_H_ -#define _RoadRoughness_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_MeanVariation.h" -#include "VariationStdDev.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RoadRoughness */ -typedef struct RoadRoughness { - Common_MeanVariation_t meanVerticalVariation; - VariationStdDev_t *verticalVariationStdDev; /* OPTIONAL */ - Common_MeanVariation_t *meanHorizontalVariation; /* OPTIONAL */ - VariationStdDev_t *horizontalVariationStdDev; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RoadRoughness_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadRoughness; -extern asn_SEQUENCE_specifics_t asn_SPC_RoadRoughness_specs_1; -extern asn_TYPE_member_t asn_MBR_RoadRoughness_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RoadRoughness_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSafetyMessage.c b/src/tmx/Asn_J2735/src/r2024/RoadSafetyMessage.c new file mode 100644 index 000000000..968c012d1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadSafetyMessage.c @@ -0,0 +1,187 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadSafetyMessage.h" + +static int +memb_content_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_content_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_content_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_content_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_content_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_content_3[] = { + { ATF_POINTER, 0, 0, + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_ContentContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_content_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_content_specs_3 = { + sizeof(struct RoadSafetyMessage__content), + offsetof(struct RoadSafetyMessage__content, _asn_ctx), + 2, /* XER encoding is XMLValueList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_content_3 = { + "content", + "content", + &asn_OP_SEQUENCE_OF, + asn_DEF_content_tags_3, + sizeof(asn_DEF_content_tags_3) + /sizeof(asn_DEF_content_tags_3[0]) - 1, /* 1 */ + asn_DEF_content_tags_3, /* Same as above */ + sizeof(asn_DEF_content_tags_3) + /sizeof(asn_DEF_content_tags_3[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_content_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_content_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_content_3, + 1, /* Single element */ + &asn_SPC_content_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RoadSafetyMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RoadSafetyMessage, commonContainer), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CommonContainer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "commonContainer" + }, + { ATF_NOFLAGS, 0, offsetof(struct RoadSafetyMessage, content), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_content_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_content_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_content_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_content_constraint_1 + }, + 0, 0, /* No default value */ + "content" + }, +}; +static const ber_tlv_tag_t asn_DEF_RoadSafetyMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RoadSafetyMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* commonContainer */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* content */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RoadSafetyMessage_specs_1 = { + sizeof(struct RoadSafetyMessage), + offsetof(struct RoadSafetyMessage, _asn_ctx), + asn_MAP_RoadSafetyMessage_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RoadSafetyMessage = { + "RoadSafetyMessage", + "RoadSafetyMessage", + &asn_OP_SEQUENCE, + asn_DEF_RoadSafetyMessage_tags_1, + sizeof(asn_DEF_RoadSafetyMessage_tags_1) + /sizeof(asn_DEF_RoadSafetyMessage_tags_1[0]), /* 1 */ + asn_DEF_RoadSafetyMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadSafetyMessage_tags_1) + /sizeof(asn_DEF_RoadSafetyMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RoadSafetyMessage_1, + 2, /* Elements count */ + &asn_SPC_RoadSafetyMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSafetyMessage.h b/src/tmx/Asn_J2735/src/r2024/RoadSafetyMessage.h deleted file mode 100644 index c2432eab3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadSafetyMessage.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadSafetyMessage_H_ -#define _RoadSafetyMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "CommonContainer.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct ContentContainer; - -/* RoadSafetyMessage */ -typedef struct RoadSafetyMessage { - CommonContainer_t commonContainer; - struct RoadSafetyMessage__content { - A_SEQUENCE_OF(struct ContentContainer) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } content; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RoadSafetyMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadSafetyMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_RoadSafetyMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_RoadSafetyMessage_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "ContentContainer.h" - -#endif /* _RoadSafetyMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSegment.c b/src/tmx/Asn_J2735/src/r2024/RoadSegment.c new file mode 100644 index 000000000..d54aacd25 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadSegment.c @@ -0,0 +1,297 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadSegment.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_9 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_9 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_9 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_9 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_9[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_RoadSegment, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_9[] = { + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_9 = { + sizeof(struct RoadSegment__regional), + offsetof(struct RoadSegment__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_9 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_9, + sizeof(asn_DEF_regional_tags_9) + /sizeof(asn_DEF_regional_tags_9[0]) - 1, /* 1 */ + asn_DEF_regional_tags_9, /* Same as above */ + sizeof(asn_DEF_regional_tags_9) + /sizeof(asn_DEF_regional_tags_9[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_9, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_9, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_9, + 1, /* Single element */ + &asn_SPC_regional_specs_9 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RoadSegment_1[] = { + { ATF_POINTER, 1, offsetof(struct RoadSegment, name), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveName, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "name" + }, + { ATF_NOFLAGS, 0, offsetof(struct RoadSegment, id), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadSegmentReferenceID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct RoadSegment, revision), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "revision" + }, + { ATF_NOFLAGS, 0, offsetof(struct RoadSegment, refPoint), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "refPoint" + }, + { ATF_POINTER, 2, offsetof(struct RoadSegment, laneWidth), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneWidth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneWidth" + }, + { ATF_POINTER, 1, offsetof(struct RoadSegment, speedLimits), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedLimitList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedLimits" + }, + { ATF_NOFLAGS, 0, offsetof(struct RoadSegment, roadLaneSet), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadLaneSetList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadLaneSet" + }, + { ATF_POINTER, 1, offsetof(struct RoadSegment, regional), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + 0, + &asn_DEF_regional_9, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_9, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_9, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_RoadSegment_oms_1[] = { 0, 4, 5, 7 }; +static const ber_tlv_tag_t asn_DEF_RoadSegment_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RoadSegment_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* name */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* revision */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* refPoint */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* laneWidth */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* speedLimits */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* roadLaneSet */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RoadSegment_specs_1 = { + sizeof(struct RoadSegment), + offsetof(struct RoadSegment, _asn_ctx), + asn_MAP_RoadSegment_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_RoadSegment_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 8, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RoadSegment = { + "RoadSegment", + "RoadSegment", + &asn_OP_SEQUENCE, + asn_DEF_RoadSegment_tags_1, + sizeof(asn_DEF_RoadSegment_tags_1) + /sizeof(asn_DEF_RoadSegment_tags_1[0]), /* 1 */ + asn_DEF_RoadSegment_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadSegment_tags_1) + /sizeof(asn_DEF_RoadSegment_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RoadSegment_1, + 8, /* Elements count */ + &asn_SPC_RoadSegment_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSegment.h b/src/tmx/Asn_J2735/src/r2024/RoadSegment.h deleted file mode 100644 index e3fbef83b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadSegment.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadSegment_H_ -#define _RoadSegment_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DescriptiveName.h" -#include "RoadSegmentReferenceID.h" -#include "Common_MsgCount.h" -#include "Position3D.h" -#include "LaneWidth.h" -#include "RoadLaneSetList.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct SpeedLimitList; -struct Reg_RoadSegment; - -/* RoadSegment */ -typedef struct RoadSegment { - DescriptiveName_t *name; /* OPTIONAL */ - RoadSegmentReferenceID_t id; - Common_MsgCount_t revision; - Position3D_t refPoint; - LaneWidth_t *laneWidth; /* OPTIONAL */ - struct SpeedLimitList *speedLimits; /* OPTIONAL */ - RoadLaneSetList_t roadLaneSet; - struct RoadSegment__regional { - A_SEQUENCE_OF(struct Reg_RoadSegment) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RoadSegment_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadSegment; -extern asn_SEQUENCE_specifics_t asn_SPC_RoadSegment_specs_1; -extern asn_TYPE_member_t asn_MBR_RoadSegment_1[8]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "SpeedLimitList.h" -#include "RegionalExtension.h" - -#endif /* _RoadSegment_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSegmentID.c b/src/tmx/Asn_J2735/src/r2024/RoadSegmentID.c new file mode 100644 index 000000000..45f8af9dd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadSegmentID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadSegmentID.h" + +int +RoadSegmentID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RoadSegmentID_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RoadSegmentID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RoadSegmentID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RoadSegmentID = { + "RoadSegmentID", + "RoadSegmentID", + &asn_OP_NativeInteger, + asn_DEF_RoadSegmentID_tags_1, + sizeof(asn_DEF_RoadSegmentID_tags_1) + /sizeof(asn_DEF_RoadSegmentID_tags_1[0]), /* 1 */ + asn_DEF_RoadSegmentID_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadSegmentID_tags_1) + /sizeof(asn_DEF_RoadSegmentID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RoadSegmentID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RoadSegmentID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RoadSegmentID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSegmentID.h b/src/tmx/Asn_J2735/src/r2024/RoadSegmentID.h deleted file mode 100644 index 536af2713..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadSegmentID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadSegmentID_H_ -#define _RoadSegmentID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RoadSegmentID */ -typedef long RoadSegmentID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RoadSegmentID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RoadSegmentID; -asn_struct_free_f RoadSegmentID_free; -asn_struct_print_f RoadSegmentID_print; -asn_constr_check_f RoadSegmentID_constraint; -ber_type_decoder_f RoadSegmentID_decode_ber; -der_type_encoder_f RoadSegmentID_encode_der; -xer_type_decoder_f RoadSegmentID_decode_xer; -xer_type_encoder_f RoadSegmentID_encode_xer; -oer_type_decoder_f RoadSegmentID_decode_oer; -oer_type_encoder_f RoadSegmentID_encode_oer; -per_type_decoder_f RoadSegmentID_decode_uper; -per_type_encoder_f RoadSegmentID_encode_uper; -per_type_decoder_f RoadSegmentID_decode_aper; -per_type_encoder_f RoadSegmentID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RoadSegmentID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSegmentList.c b/src/tmx/Asn_J2735/src/r2024/RoadSegmentList.c new file mode 100644 index 000000000..643998984 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadSegmentList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadSegmentList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RoadSegmentList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RoadSegmentList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RoadSegmentList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RoadSegment, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RoadSegmentList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_RoadSegmentList_specs_1 = { + sizeof(struct RoadSegmentList), + offsetof(struct RoadSegmentList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_RoadSegmentList = { + "RoadSegmentList", + "RoadSegmentList", + &asn_OP_SEQUENCE_OF, + asn_DEF_RoadSegmentList_tags_1, + sizeof(asn_DEF_RoadSegmentList_tags_1) + /sizeof(asn_DEF_RoadSegmentList_tags_1[0]), /* 1 */ + asn_DEF_RoadSegmentList_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadSegmentList_tags_1) + /sizeof(asn_DEF_RoadSegmentList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RoadSegmentList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RoadSegmentList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_RoadSegmentList_1, + 1, /* Single element */ + &asn_SPC_RoadSegmentList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSegmentList.h b/src/tmx/Asn_J2735/src/r2024/RoadSegmentList.h deleted file mode 100644 index 63148fa12..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadSegmentList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadSegmentList_H_ -#define _RoadSegmentList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RoadSegment; - -/* RoadSegmentList */ -typedef struct RoadSegmentList { - A_SEQUENCE_OF(struct RoadSegment) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RoadSegmentList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadSegmentList; -extern asn_SET_OF_specifics_t asn_SPC_RoadSegmentList_specs_1; -extern asn_TYPE_member_t asn_MBR_RoadSegmentList_1[1]; -extern asn_per_constraints_t asn_PER_type_RoadSegmentList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RoadSegment.h" - -#endif /* _RoadSegmentList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSegmentReferenceID.c b/src/tmx/Asn_J2735/src/r2024/RoadSegmentReferenceID.c new file mode 100644 index 000000000..15a0a5e06 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadSegmentReferenceID.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadSegmentReferenceID.h" + +asn_TYPE_member_t asn_MBR_RoadSegmentReferenceID_1[] = { + { ATF_POINTER, 1, offsetof(struct RoadSegmentReferenceID, region), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadRegulatorID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "region" + }, + { ATF_NOFLAGS, 0, offsetof(struct RoadSegmentReferenceID, id), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadSegmentID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, +}; +static const int asn_MAP_RoadSegmentReferenceID_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_RoadSegmentReferenceID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RoadSegmentReferenceID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* region */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* id */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RoadSegmentReferenceID_specs_1 = { + sizeof(struct RoadSegmentReferenceID), + offsetof(struct RoadSegmentReferenceID, _asn_ctx), + asn_MAP_RoadSegmentReferenceID_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_RoadSegmentReferenceID_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RoadSegmentReferenceID = { + "RoadSegmentReferenceID", + "RoadSegmentReferenceID", + &asn_OP_SEQUENCE, + asn_DEF_RoadSegmentReferenceID_tags_1, + sizeof(asn_DEF_RoadSegmentReferenceID_tags_1) + /sizeof(asn_DEF_RoadSegmentReferenceID_tags_1[0]), /* 1 */ + asn_DEF_RoadSegmentReferenceID_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadSegmentReferenceID_tags_1) + /sizeof(asn_DEF_RoadSegmentReferenceID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RoadSegmentReferenceID_1, + 2, /* Elements count */ + &asn_SPC_RoadSegmentReferenceID_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSegmentReferenceID.h b/src/tmx/Asn_J2735/src/r2024/RoadSegmentReferenceID.h deleted file mode 100644 index cddc8cdb2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadSegmentReferenceID.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadSegmentReferenceID_H_ -#define _RoadSegmentReferenceID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RoadRegulatorID.h" -#include "RoadSegmentID.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RoadSegmentReferenceID */ -typedef struct RoadSegmentReferenceID { - RoadRegulatorID_t *region; /* OPTIONAL */ - RoadSegmentID_t id; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RoadSegmentReferenceID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadSegmentReferenceID; -extern asn_SEQUENCE_specifics_t asn_SPC_RoadSegmentReferenceID_specs_1; -extern asn_TYPE_member_t asn_MBR_RoadSegmentReferenceID_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RoadSegmentReferenceID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSideAlert.c b/src/tmx/Asn_J2735/src/r2024/RoadSideAlert.c new file mode 100644 index 000000000..192fafd7b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadSideAlert.c @@ -0,0 +1,436 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSideAlert" + * found in "J2735-RoadSideAlert-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadSideAlert.h" + +static int +memb_description_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 8UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_description_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_description_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_12 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_12 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_description_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_description_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_12 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_12 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_description_5[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_ITIS_ITIScodes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_description_tags_5[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_description_specs_5 = { + sizeof(struct RoadSideAlert__description), + offsetof(struct RoadSideAlert__description, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_description_5 = { + "description", + "description", + &asn_OP_SEQUENCE_OF, + asn_DEF_description_tags_5, + sizeof(asn_DEF_description_tags_5) + /sizeof(asn_DEF_description_tags_5[0]) - 1, /* 1 */ + asn_DEF_description_tags_5, /* Same as above */ + sizeof(asn_DEF_description_tags_5) + /sizeof(asn_DEF_description_tags_5[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_description_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_description_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_description_5, + 1, /* Single element */ + &asn_SPC_description_specs_5 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regional_12[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_RoadSideAlert, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_12[] = { + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_12 = { + sizeof(struct RoadSideAlert__regional), + offsetof(struct RoadSideAlert__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_12 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_12, + sizeof(asn_DEF_regional_tags_12) + /sizeof(asn_DEF_regional_tags_12[0]) - 1, /* 1 */ + asn_DEF_regional_tags_12, /* Same as above */ + sizeof(asn_DEF_regional_tags_12) + /sizeof(asn_DEF_regional_tags_12[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_12, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_12, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_12, + 1, /* Single element */ + &asn_SPC_regional_specs_12 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RoadSideAlert_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RoadSideAlert, msgCnt), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msgCnt" + }, + { ATF_POINTER, 1, offsetof(struct RoadSideAlert, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_NOFLAGS, 0, offsetof(struct RoadSideAlert, typeEvent), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ITIScodes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "typeEvent" + }, + { ATF_POINTER, 7, offsetof(struct RoadSideAlert, description), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + 0, + &asn_DEF_description_5, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_description_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_description_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_description_constraint_1 + }, + 0, 0, /* No default value */ + "description" + }, + { ATF_POINTER, 6, offsetof(struct RoadSideAlert, priority), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Priority, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "priority" + }, + { ATF_POINTER, 5, offsetof(struct RoadSideAlert, heading), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HeadingSlice, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heading" + }, + { ATF_POINTER, 4, offsetof(struct RoadSideAlert, extent), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Extent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "extent" + }, + { ATF_POINTER, 3, offsetof(struct RoadSideAlert, position), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FullPositionVector, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "position" + }, + { ATF_POINTER, 2, offsetof(struct RoadSideAlert, furtherInfoID), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FurtherInfoID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "furtherInfoID" + }, + { ATF_POINTER, 1, offsetof(struct RoadSideAlert, regional), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + 0, + &asn_DEF_regional_12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_12, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_12, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_RoadSideAlert_oms_1[] = { 1, 3, 4, 5, 6, 7, 8, 9 }; +static const ber_tlv_tag_t asn_DEF_RoadSideAlert_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RoadSideAlert_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* msgCnt */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* typeEvent */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* description */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* priority */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* heading */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* extent */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* position */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* furtherInfoID */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RoadSideAlert_specs_1 = { + sizeof(struct RoadSideAlert), + offsetof(struct RoadSideAlert, _asn_ctx), + asn_MAP_RoadSideAlert_tag2el_1, + 10, /* Count of tags in the map */ + asn_MAP_RoadSideAlert_oms_1, /* Optional members */ + 8, 0, /* Root/Additions */ + 10, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RoadSideAlert = { + "RoadSideAlert", + "RoadSideAlert", + &asn_OP_SEQUENCE, + asn_DEF_RoadSideAlert_tags_1, + sizeof(asn_DEF_RoadSideAlert_tags_1) + /sizeof(asn_DEF_RoadSideAlert_tags_1[0]), /* 1 */ + asn_DEF_RoadSideAlert_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadSideAlert_tags_1) + /sizeof(asn_DEF_RoadSideAlert_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RoadSideAlert_1, + 10, /* Elements count */ + &asn_SPC_RoadSideAlert_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSideAlert.h b/src/tmx/Asn_J2735/src/r2024/RoadSideAlert.h deleted file mode 100644 index 27e597ec2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadSideAlert.h +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSideAlert" - * found in "J2735-RoadSideAlert-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadSideAlert_H_ -#define _RoadSideAlert_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_MsgCount.h" -#include "MinuteOfTheYear.h" -#include "ITIS_ITIScodes.h" -#include "Priority.h" -#include "HeadingSlice.h" -#include "Extent.h" -#include "FurtherInfoID.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct FullPositionVector; -struct Reg_RoadSideAlert; - -/* RoadSideAlert */ -typedef struct RoadSideAlert { - Common_MsgCount_t msgCnt; - MinuteOfTheYear_t *timeStamp; /* OPTIONAL */ - ITIS_ITIScodes_t typeEvent; - struct RoadSideAlert__description { - A_SEQUENCE_OF(ITIS_ITIScodes_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *description; - Priority_t *priority; /* OPTIONAL */ - HeadingSlice_t *heading; /* OPTIONAL */ - Extent_t *extent; /* OPTIONAL */ - struct FullPositionVector *position; /* OPTIONAL */ - FurtherInfoID_t *furtherInfoID; /* OPTIONAL */ - struct RoadSideAlert__regional { - A_SEQUENCE_OF(struct Reg_RoadSideAlert) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RoadSideAlert_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadSideAlert; -extern asn_SEQUENCE_specifics_t asn_SPC_RoadSideAlert_specs_1; -extern asn_TYPE_member_t asn_MBR_RoadSideAlert_1[10]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "FullPositionVector.h" -#include "RegionalExtension.h" - -#endif /* _RoadSideAlert_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSignID.c b/src/tmx/Asn_J2735/src/r2024/RoadSignID.c new file mode 100644 index 000000000..9b86e4e99 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadSignID.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadSignID.h" + +asn_TYPE_member_t asn_MBR_RoadSignID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RoadSignID, position), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "position" + }, + { ATF_NOFLAGS, 0, offsetof(struct RoadSignID, viewAngle), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HeadingSlice, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "viewAngle" + }, + { ATF_POINTER, 2, offsetof(struct RoadSignID, mutcdCode), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MUTCDCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mutcdCode" + }, + { ATF_POINTER, 1, offsetof(struct RoadSignID, crc), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MsgCRC, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "crc" + }, +}; +static const int asn_MAP_RoadSignID_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_RoadSignID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RoadSignID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* position */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* viewAngle */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* mutcdCode */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* crc */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RoadSignID_specs_1 = { + sizeof(struct RoadSignID), + offsetof(struct RoadSignID, _asn_ctx), + asn_MAP_RoadSignID_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_RoadSignID_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RoadSignID = { + "RoadSignID", + "RoadSignID", + &asn_OP_SEQUENCE, + asn_DEF_RoadSignID_tags_1, + sizeof(asn_DEF_RoadSignID_tags_1) + /sizeof(asn_DEF_RoadSignID_tags_1[0]), /* 1 */ + asn_DEF_RoadSignID_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadSignID_tags_1) + /sizeof(asn_DEF_RoadSignID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RoadSignID_1, + 4, /* Elements count */ + &asn_SPC_RoadSignID_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSignID.h b/src/tmx/Asn_J2735/src/r2024/RoadSignID.h deleted file mode 100644 index 2f3c6afad..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadSignID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadSignID_H_ -#define _RoadSignID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Position3D.h" -#include "HeadingSlice.h" -#include "MUTCDCode.h" -#include "MsgCRC.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RoadSignID */ -typedef struct RoadSignID { - Position3D_t position; - HeadingSlice_t viewAngle; - MUTCDCode_t *mutcdCode; /* OPTIONAL */ - MsgCRC_t *crc; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RoadSignID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadSignID; -extern asn_SEQUENCE_specifics_t asn_SPC_RoadSignID_specs_1; -extern asn_TYPE_member_t asn_MBR_RoadSignID_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RoadSignID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSurfaceCondition.c b/src/tmx/Asn_J2735/src/r2024/RoadSurfaceCondition.c new file mode 100644 index 000000000..991d10d19 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadSurfaceCondition.c @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadSurfaceCondition.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RoadSurfaceCondition_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RoadSurfaceCondition_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_RoadSurfaceCondition_value2enum_1[] = { + { 0, 3, "dry" }, + { 1, 3, "wet" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RoadSurfaceCondition_enum2value_1[] = { + 0, /* dry(0) */ + 1 /* wet(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_RoadSurfaceCondition_specs_1 = { + asn_MAP_RoadSurfaceCondition_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RoadSurfaceCondition_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RoadSurfaceCondition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RoadSurfaceCondition = { + "RoadSurfaceCondition", + "RoadSurfaceCondition", + &asn_OP_NativeEnumerated, + asn_DEF_RoadSurfaceCondition_tags_1, + sizeof(asn_DEF_RoadSurfaceCondition_tags_1) + /sizeof(asn_DEF_RoadSurfaceCondition_tags_1[0]), /* 1 */ + asn_DEF_RoadSurfaceCondition_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadSurfaceCondition_tags_1) + /sizeof(asn_DEF_RoadSurfaceCondition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RoadSurfaceCondition_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RoadSurfaceCondition_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RoadSurfaceCondition_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadSurfaceCondition.h b/src/tmx/Asn_J2735/src/r2024/RoadSurfaceCondition.h deleted file mode 100644 index c5be5a376..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadSurfaceCondition.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadSurfaceCondition_H_ -#define _RoadSurfaceCondition_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RoadSurfaceCondition { - RoadSurfaceCondition_dry = 0, - RoadSurfaceCondition_wet = 1 - /* - * Enumeration is extensible - */ -} e_RoadSurfaceCondition; - -/* RoadSurfaceCondition */ -typedef long RoadSurfaceCondition_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RoadSurfaceCondition_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RoadSurfaceCondition; -extern const asn_INTEGER_specifics_t asn_SPC_RoadSurfaceCondition_specs_1; -asn_struct_free_f RoadSurfaceCondition_free; -asn_struct_print_f RoadSurfaceCondition_print; -asn_constr_check_f RoadSurfaceCondition_constraint; -ber_type_decoder_f RoadSurfaceCondition_decode_ber; -der_type_encoder_f RoadSurfaceCondition_encode_der; -xer_type_decoder_f RoadSurfaceCondition_decode_xer; -xer_type_encoder_f RoadSurfaceCondition_encode_xer; -oer_type_decoder_f RoadSurfaceCondition_decode_oer; -oer_type_encoder_f RoadSurfaceCondition_encode_oer; -per_type_decoder_f RoadSurfaceCondition_decode_uper; -per_type_encoder_f RoadSurfaceCondition_encode_uper; -per_type_decoder_f RoadSurfaceCondition_decode_aper; -per_type_encoder_f RoadSurfaceCondition_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RoadSurfaceCondition_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadUserChargingConfigMessage.c b/src/tmx/Asn_J2735/src/r2024/RoadUserChargingConfigMessage.c new file mode 100644 index 000000000..d01aeec1f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadUserChargingConfigMessage.c @@ -0,0 +1,169 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadUserChargingConfigMessage.h" + +static int +memb_chargerInfoTable_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 999UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_chargerInfoTable_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_chargerInfoTable_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 999 } /* (SIZE(1..999,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_chargerInfoTable_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_chargerInfoTable_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 999 } /* (SIZE(1..999,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_chargerInfoTable_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ChargerInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_chargerInfoTable_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_chargerInfoTable_specs_2 = { + sizeof(struct RoadUserChargingConfigMessage__chargerInfoTable), + offsetof(struct RoadUserChargingConfigMessage__chargerInfoTable, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_chargerInfoTable_2 = { + "chargerInfoTable", + "chargerInfoTable", + &asn_OP_SEQUENCE_OF, + asn_DEF_chargerInfoTable_tags_2, + sizeof(asn_DEF_chargerInfoTable_tags_2) + /sizeof(asn_DEF_chargerInfoTable_tags_2[0]) - 1, /* 1 */ + asn_DEF_chargerInfoTable_tags_2, /* Same as above */ + sizeof(asn_DEF_chargerInfoTable_tags_2) + /sizeof(asn_DEF_chargerInfoTable_tags_2[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_chargerInfoTable_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_chargerInfoTable_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_chargerInfoTable_2, + 1, /* Single element */ + &asn_SPC_chargerInfoTable_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RoadUserChargingConfigMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RoadUserChargingConfigMessage, chargerInfoTable), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_chargerInfoTable_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_chargerInfoTable_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_chargerInfoTable_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_chargerInfoTable_constraint_1 + }, + 0, 0, /* No default value */ + "chargerInfoTable" + }, +}; +static const ber_tlv_tag_t asn_DEF_RoadUserChargingConfigMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RoadUserChargingConfigMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* chargerInfoTable */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RoadUserChargingConfigMessage_specs_1 = { + sizeof(struct RoadUserChargingConfigMessage), + offsetof(struct RoadUserChargingConfigMessage, _asn_ctx), + asn_MAP_RoadUserChargingConfigMessage_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RoadUserChargingConfigMessage = { + "RoadUserChargingConfigMessage", + "RoadUserChargingConfigMessage", + &asn_OP_SEQUENCE, + asn_DEF_RoadUserChargingConfigMessage_tags_1, + sizeof(asn_DEF_RoadUserChargingConfigMessage_tags_1) + /sizeof(asn_DEF_RoadUserChargingConfigMessage_tags_1[0]), /* 1 */ + asn_DEF_RoadUserChargingConfigMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadUserChargingConfigMessage_tags_1) + /sizeof(asn_DEF_RoadUserChargingConfigMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RoadUserChargingConfigMessage_1, + 1, /* Elements count */ + &asn_SPC_RoadUserChargingConfigMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadUserChargingConfigMessage.h b/src/tmx/Asn_J2735/src/r2024/RoadUserChargingConfigMessage.h deleted file mode 100644 index cb0ca041f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadUserChargingConfigMessage.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadUserChargingConfigMessage_H_ -#define _RoadUserChargingConfigMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct ChargerInfo; - -/* RoadUserChargingConfigMessage */ -typedef struct RoadUserChargingConfigMessage { - struct RoadUserChargingConfigMessage__chargerInfoTable { - A_SEQUENCE_OF(struct ChargerInfo) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } chargerInfoTable; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RoadUserChargingConfigMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadUserChargingConfigMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_RoadUserChargingConfigMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_RoadUserChargingConfigMessage_1[1]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "ChargerInfo.h" - -#endif /* _RoadUserChargingConfigMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadUserChargingReportMessage.c b/src/tmx/Asn_J2735/src/r2024/RoadUserChargingReportMessage.c new file mode 100644 index 000000000..722b0756c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadUserChargingReportMessage.c @@ -0,0 +1,124 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingReportMessage" + * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadUserChargingReportMessage.h" + +static int +memb_serviceProviderData_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 1024UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_serviceProviderData_constr_3 CC_NOTUSED = { + { 0, 0 }, + 1024 /* (SIZE(1024..1024)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_serviceProviderData_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 1024, 1024 } /* (SIZE(1024..1024)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RoadUserChargingReportMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RoadUserChargingReportMessage, usageReport), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_UsageReport, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "usageReport" + }, + { ATF_POINTER, 1, offsetof(struct RoadUserChargingReportMessage, serviceProviderData), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_serviceProviderData_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_serviceProviderData_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_serviceProviderData_constraint_1 + }, + 0, 0, /* No default value */ + "serviceProviderData" + }, +}; +static const int asn_MAP_RoadUserChargingReportMessage_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_RoadUserChargingReportMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RoadUserChargingReportMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* usageReport */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* serviceProviderData */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RoadUserChargingReportMessage_specs_1 = { + sizeof(struct RoadUserChargingReportMessage), + offsetof(struct RoadUserChargingReportMessage, _asn_ctx), + asn_MAP_RoadUserChargingReportMessage_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_RoadUserChargingReportMessage_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RoadUserChargingReportMessage = { + "RoadUserChargingReportMessage", + "RoadUserChargingReportMessage", + &asn_OP_SEQUENCE, + asn_DEF_RoadUserChargingReportMessage_tags_1, + sizeof(asn_DEF_RoadUserChargingReportMessage_tags_1) + /sizeof(asn_DEF_RoadUserChargingReportMessage_tags_1[0]), /* 1 */ + asn_DEF_RoadUserChargingReportMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadUserChargingReportMessage_tags_1) + /sizeof(asn_DEF_RoadUserChargingReportMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RoadUserChargingReportMessage_1, + 2, /* Elements count */ + &asn_SPC_RoadUserChargingReportMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadUserChargingReportMessage.h b/src/tmx/Asn_J2735/src/r2024/RoadUserChargingReportMessage.h deleted file mode 100644 index 2179fa503..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadUserChargingReportMessage.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingReportMessage" - * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadUserChargingReportMessage_H_ -#define _RoadUserChargingReportMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "UsageReport.h" -#include "OCTET_STRING.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RoadUserChargingReportMessage */ -typedef struct RoadUserChargingReportMessage { - UsageReport_t usageReport; - OCTET_STRING_t *serviceProviderData; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RoadUserChargingReportMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadUserChargingReportMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_RoadUserChargingReportMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_RoadUserChargingReportMessage_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RoadUserChargingReportMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadWeatherDownload.c b/src/tmx/Asn_J2735/src/r2024/RoadWeatherDownload.c new file mode 100644 index 000000000..15ac03ea5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadWeatherDownload.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadWeatherDownload.h" + +asn_TYPE_member_t asn_MBR_RoadWeatherDownload_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RoadWeatherDownload, travelerData), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TravelerDataFrameList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "travelerData" + }, + { ATF_POINTER, 1, offsetof(struct RoadWeatherDownload, wdmsFleetData), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WDMSFleetData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wdmsFleetData" + }, +}; +static const int asn_MAP_RoadWeatherDownload_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_RoadWeatherDownload_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RoadWeatherDownload_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* travelerData */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* wdmsFleetData */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RoadWeatherDownload_specs_1 = { + sizeof(struct RoadWeatherDownload), + offsetof(struct RoadWeatherDownload, _asn_ctx), + asn_MAP_RoadWeatherDownload_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_RoadWeatherDownload_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RoadWeatherDownload = { + "RoadWeatherDownload", + "RoadWeatherDownload", + &asn_OP_SEQUENCE, + asn_DEF_RoadWeatherDownload_tags_1, + sizeof(asn_DEF_RoadWeatherDownload_tags_1) + /sizeof(asn_DEF_RoadWeatherDownload_tags_1[0]), /* 1 */ + asn_DEF_RoadWeatherDownload_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadWeatherDownload_tags_1) + /sizeof(asn_DEF_RoadWeatherDownload_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RoadWeatherDownload_1, + 2, /* Elements count */ + &asn_SPC_RoadWeatherDownload_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadWeatherDownload.h b/src/tmx/Asn_J2735/src/r2024/RoadWeatherDownload.h deleted file mode 100644 index 0c8af53d3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadWeatherDownload.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadWeatherDownload_H_ -#define _RoadWeatherDownload_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TravelerDataFrameList.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct WDMSFleetData; - -/* RoadWeatherDownload */ -typedef struct RoadWeatherDownload { - TravelerDataFrameList_t travelerData; - struct WDMSFleetData *wdmsFleetData; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RoadWeatherDownload_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadWeatherDownload; -extern asn_SEQUENCE_specifics_t asn_SPC_RoadWeatherDownload_specs_1; -extern asn_TYPE_member_t asn_MBR_RoadWeatherDownload_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "WDMSFleetData.h" - -#endif /* _RoadWeatherDownload_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadWeatherMessage.c b/src/tmx/Asn_J2735/src/r2024/RoadWeatherMessage.c new file mode 100644 index 000000000..5472c710a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadWeatherMessage.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadWeatherMessage.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RoadWeatherMessage_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RoadWeatherMessage_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RoadWeatherMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RoadWeatherMessage, choice.upload), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RoadWeatherUpload, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "upload" + }, + { ATF_NOFLAGS, 0, offsetof(struct RoadWeatherMessage, choice.download), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadWeatherDownload, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "download" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RoadWeatherMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* upload */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* download */ +}; +asn_CHOICE_specifics_t asn_SPC_RoadWeatherMessage_specs_1 = { + sizeof(struct RoadWeatherMessage), + offsetof(struct RoadWeatherMessage, _asn_ctx), + offsetof(struct RoadWeatherMessage, present), + sizeof(((struct RoadWeatherMessage *)0)->present), + asn_MAP_RoadWeatherMessage_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RoadWeatherMessage = { + "RoadWeatherMessage", + "RoadWeatherMessage", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RoadWeatherMessage_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RoadWeatherMessage_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_RoadWeatherMessage_1, + 2, /* Elements count */ + &asn_SPC_RoadWeatherMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadWeatherMessage.h b/src/tmx/Asn_J2735/src/r2024/RoadWeatherMessage.h deleted file mode 100644 index 0960c6d15..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadWeatherMessage.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadWeatherMessage_H_ -#define _RoadWeatherMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RoadWeatherUpload.h" -#include "RoadWeatherDownload.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RoadWeatherMessage_PR { - RoadWeatherMessage_PR_NOTHING, /* No components present */ - RoadWeatherMessage_PR_upload, - RoadWeatherMessage_PR_download - /* Extensions may appear below */ - -} RoadWeatherMessage_PR; - -/* RoadWeatherMessage */ -typedef struct RoadWeatherMessage { - RoadWeatherMessage_PR present; - union RoadWeatherMessage_u { - RoadWeatherUpload_t upload; - RoadWeatherDownload_t download; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RoadWeatherMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadWeatherMessage; -extern asn_CHOICE_specifics_t asn_SPC_RoadWeatherMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_RoadWeatherMessage_1[2]; -extern asn_per_constraints_t asn_PER_type_RoadWeatherMessage_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _RoadWeatherMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadWeatherUpload.c b/src/tmx/Asn_J2735/src/r2024/RoadWeatherUpload.c new file mode 100644 index 000000000..bc9ccda1a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadWeatherUpload.c @@ -0,0 +1,196 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadWeatherUpload.h" + +static int +memb_vehicleReport_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 32UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_vehicleReport_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_vehicleReport_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_vehicleReport_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_vehicleReport_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RoadWeatherUpload_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RoadWeatherUpload_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_vehicleReport_2[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_VehicleReport, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_vehicleReport_tags_2[] = { + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_vehicleReport_specs_2 = { + sizeof(struct RoadWeatherUpload__vehicleReport), + offsetof(struct RoadWeatherUpload__vehicleReport, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_vehicleReport_2 = { + "vehicleReport", + "vehicleReport", + &asn_OP_SEQUENCE_OF, + asn_DEF_vehicleReport_tags_2, + sizeof(asn_DEF_vehicleReport_tags_2) + /sizeof(asn_DEF_vehicleReport_tags_2[0]) - 1, /* 1 */ + asn_DEF_vehicleReport_tags_2, /* Same as above */ + sizeof(asn_DEF_vehicleReport_tags_2) + /sizeof(asn_DEF_vehicleReport_tags_2[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_vehicleReport_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_vehicleReport_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_vehicleReport_2, + 1, /* Single element */ + &asn_SPC_vehicleReport_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_RoadWeatherUpload_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RoadWeatherUpload, choice.vehicleReport), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + 0, + &asn_DEF_vehicleReport_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_vehicleReport_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_vehicleReport_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_vehicleReport_constraint_1 + }, + 0, 0, /* No default value */ + "vehicleReport" + }, + { ATF_NOFLAGS, 0, offsetof(struct RoadWeatherUpload, choice.citizenReport), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SnapShot, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "citizenReport" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RoadWeatherUpload_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicleReport */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* citizenReport */ +}; +asn_CHOICE_specifics_t asn_SPC_RoadWeatherUpload_specs_1 = { + sizeof(struct RoadWeatherUpload), + offsetof(struct RoadWeatherUpload, _asn_ctx), + offsetof(struct RoadWeatherUpload, present), + sizeof(((struct RoadWeatherUpload *)0)->present), + asn_MAP_RoadWeatherUpload_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RoadWeatherUpload = { + "RoadWeatherUpload", + "RoadWeatherUpload", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RoadWeatherUpload_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RoadWeatherUpload_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_RoadWeatherUpload_1, + 2, /* Elements count */ + &asn_SPC_RoadWeatherUpload_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadWeatherUpload.h b/src/tmx/Asn_J2735/src/r2024/RoadWeatherUpload.h deleted file mode 100644 index 049032f6e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadWeatherUpload.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadWeatherUpload_H_ -#define _RoadWeatherUpload_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SnapShot.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RoadWeatherUpload_PR { - RoadWeatherUpload_PR_NOTHING, /* No components present */ - RoadWeatherUpload_PR_vehicleReport, - RoadWeatherUpload_PR_citizenReport - /* Extensions may appear below */ - -} RoadWeatherUpload_PR; - -/* Forward declarations */ -struct VehicleReport; - -/* RoadWeatherUpload */ -typedef struct RoadWeatherUpload { - RoadWeatherUpload_PR present; - union RoadWeatherUpload_u { - struct RoadWeatherUpload__vehicleReport { - A_SEQUENCE_OF(struct VehicleReport) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } vehicleReport; - SnapShot_t citizenReport; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RoadWeatherUpload_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadWeatherUpload; -extern asn_CHOICE_specifics_t asn_SPC_RoadWeatherUpload_specs_1; -extern asn_TYPE_member_t asn_MBR_RoadWeatherUpload_1[2]; -extern asn_per_constraints_t asn_PER_type_RoadWeatherUpload_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "VehicleReport.h" - -#endif /* _RoadWeatherUpload_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadsideAssets.c b/src/tmx/Asn_J2735/src/r2024/RoadsideAssets.c new file mode 100644 index 000000000..f1eb5aaad --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadsideAssets.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadsideAssets.h" + +int +RoadsideAssets_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RoadsideAssets_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_RoadsideAssets_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RoadsideAssets_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RoadsideAssets = { + "RoadsideAssets", + "RoadsideAssets", + &asn_OP_NativeInteger, + asn_DEF_RoadsideAssets_tags_1, + sizeof(asn_DEF_RoadsideAssets_tags_1) + /sizeof(asn_DEF_RoadsideAssets_tags_1[0]), /* 1 */ + asn_DEF_RoadsideAssets_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadsideAssets_tags_1) + /sizeof(asn_DEF_RoadsideAssets_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RoadsideAssets_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RoadsideAssets_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RoadsideAssets_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadsideAssets.h b/src/tmx/Asn_J2735/src/r2024/RoadsideAssets.h deleted file mode 100644 index a0d08d1c5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadsideAssets.h +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadsideAssets_H_ -#define _RoadsideAssets_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RoadsideAssets { - RoadsideAssets_none = 10496, - RoadsideAssets_light_pole = 10497, - RoadsideAssets_utility_pole = 10498, - RoadsideAssets_gantry_way = 10499, - RoadsideAssets_sign_support = 10500, - RoadsideAssets_signal_pole = 10501, - RoadsideAssets_signage_public = 10502, - RoadsideAssets_signage_private = 10503, - RoadsideAssets_overhead_sign = 10568, - RoadsideAssets_ground_sign = 10569, - RoadsideAssets_cones = 10504, - RoadsideAssets_cones_post_type = 10505, - RoadsideAssets_cones_glue_post = 10506, - RoadsideAssets_cones_other = 10507, - RoadsideAssets_barriers = 10508, - RoadsideAssets_barrier_Aframe = 10509, - RoadsideAssets_barriers_heavy_duty = 10510, - RoadsideAssets_barricade_type_III = 10511, - RoadsideAssets_barricade_small = 10512, - RoadsideAssets_solid_barrier = 10565, - RoadsideAssets_moveable_barrier = 10566, - RoadsideAssets_barricade_lights = 10513, - RoadsideAssets_beacon = 10514, - RoadsideAssets_t_stand = 10515, - RoadsideAssets_a_stand = 10516, - RoadsideAssets_drums = 10517, - RoadsideAssets_sand_barrel = 10567, - RoadsideAssets_impact_attenuator = 10518, - RoadsideAssets_barricade_tape = 10519, - RoadsideAssets_safety_fence = 10520, - RoadsideAssets_temp_pavement_markings = 10521, - RoadsideAssets_speed_bumps = 10522, - RoadsideAssets_temp_curbs = 10523, - RoadsideAssets_parking_blocks = 10524, - RoadsideAssets_signboard_fixed = 10525, - RoadsideAssets_signboard_portable = 10526, - RoadsideAssets_stripe = 10572, - RoadsideAssets_island = 10573, - RoadsideAssets_har = 10527, - RoadsideAssets_har_AM = 10528, - RoadsideAssets_har_FM = 10529, - RoadsideAssets_har_DSRC = 10530, - RoadsideAssets_traffic_light = 10531, - RoadsideAssets_lane_control_signal = 10532, - RoadsideAssets_traffic_detector = 10533, - RoadsideAssets_vehicle_detector = 10534, - RoadsideAssets_system_alarm = 10535, - RoadsideAssets_arrow_board = 10536, - RoadsideAssets_fixed_VMS = 10537, - RoadsideAssets_mobile_VMS = 10538, - RoadsideAssets_ramp_control = 10539, - RoadsideAssets_gate_control = 10540, - RoadsideAssets_temporary_traffic_light = 10541, - RoadsideAssets_over_height_warning_system = 10542, - RoadsideAssets_over_weight_warning_system = 10543, - RoadsideAssets_emergency_telephones = 10544, - RoadsideAssets_railroad_crossing_equipment = 10545, - RoadsideAssets_tunnel_ventilation = 10546, - RoadsideAssets_ccTV = 10547, - RoadsideAssets_environmental_sensor = 10548, - RoadsideAssets_emergency_signal = 10570, - RoadsideAssets_countdown_pedestrian_sign = 10571, - RoadsideAssets_switch = 10549, - RoadsideAssets_signal = 10550, - RoadsideAssets_third_rail = 10551, - RoadsideAssets_overhead_power = 10552, - RoadsideAssets_concrete_tie = 10553, - RoadsideAssets_wooden_tie = 10554, - RoadsideAssets_manhole_cover = 10559, - RoadsideAssets_culvert = 10560, - RoadsideAssets_escalator = 10555, - RoadsideAssets_elevator = 10556, - RoadsideAssets_snow_poles = 10561, - RoadsideAssets_track = 10557, - RoadsideAssets_guide_poles = 10562, - RoadsideAssets_drawbridge = 10558, - RoadsideAssets_expansion_joint = 10563, - RoadsideAssets_shifted_plate = 10564 -} e_RoadsideAssets; - -/* RoadsideAssets */ -typedef long RoadsideAssets_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RoadsideAssets; -asn_struct_free_f RoadsideAssets_free; -asn_struct_print_f RoadsideAssets_print; -asn_constr_check_f RoadsideAssets_constraint; -ber_type_decoder_f RoadsideAssets_decode_ber; -der_type_encoder_f RoadsideAssets_encode_der; -xer_type_decoder_f RoadsideAssets_decode_xer; -xer_type_encoder_f RoadsideAssets_encode_xer; -oer_type_decoder_f RoadsideAssets_decode_oer; -oer_type_encoder_f RoadsideAssets_encode_oer; -per_type_decoder_f RoadsideAssets_decode_uper; -per_type_encoder_f RoadsideAssets_encode_uper; -per_type_decoder_f RoadsideAssets_decode_aper; -per_type_encoder_f RoadsideAssets_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RoadsideAssets_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RoadwayCrownAngle.c b/src/tmx/Asn_J2735/src/r2024/RoadwayCrownAngle.c new file mode 100644 index 000000000..f68d9d616 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RoadwayCrownAngle.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RoadwayCrownAngle.h" + +int +RoadwayCrownAngle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -128L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RoadwayCrownAngle_constr_1 CC_NOTUSED = { + { 1, 0 } /* (-128..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RoadwayCrownAngle_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -128, 127 } /* (-128..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RoadwayCrownAngle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RoadwayCrownAngle = { + "RoadwayCrownAngle", + "RoadwayCrownAngle", + &asn_OP_NativeInteger, + asn_DEF_RoadwayCrownAngle_tags_1, + sizeof(asn_DEF_RoadwayCrownAngle_tags_1) + /sizeof(asn_DEF_RoadwayCrownAngle_tags_1[0]), /* 1 */ + asn_DEF_RoadwayCrownAngle_tags_1, /* Same as above */ + sizeof(asn_DEF_RoadwayCrownAngle_tags_1) + /sizeof(asn_DEF_RoadwayCrownAngle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RoadwayCrownAngle_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RoadwayCrownAngle_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RoadwayCrownAngle_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RoadwayCrownAngle.h b/src/tmx/Asn_J2735/src/r2024/RoadwayCrownAngle.h deleted file mode 100644 index e0e3b1859..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RoadwayCrownAngle.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RoadwayCrownAngle_H_ -#define _RoadwayCrownAngle_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RoadwayCrownAngle */ -typedef long RoadwayCrownAngle_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RoadwayCrownAngle_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RoadwayCrownAngle; -asn_struct_free_f RoadwayCrownAngle_free; -asn_struct_print_f RoadwayCrownAngle_print; -asn_constr_check_f RoadwayCrownAngle_constraint; -ber_type_decoder_f RoadwayCrownAngle_decode_ber; -der_type_encoder_f RoadwayCrownAngle_encode_der; -xer_type_decoder_f RoadwayCrownAngle_decode_xer; -xer_type_encoder_f RoadwayCrownAngle_encode_xer; -oer_type_decoder_f RoadwayCrownAngle_decode_oer; -oer_type_encoder_f RoadwayCrownAngle_encode_oer; -per_type_decoder_f RoadwayCrownAngle_decode_uper; -per_type_encoder_f RoadwayCrownAngle_encode_uper; -per_type_decoder_f RoadwayCrownAngle_decode_aper; -per_type_encoder_f RoadwayCrownAngle_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RoadwayCrownAngle_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Roadwork.c b/src/tmx/Asn_J2735/src/r2024/Roadwork.c new file mode 100644 index 000000000..ab0892ab5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Roadwork.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Roadwork.h" + +int +Roadwork_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Roadwork_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Roadwork_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Roadwork_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Roadwork = { + "Roadwork", + "Roadwork", + &asn_OP_NativeInteger, + asn_DEF_Roadwork_tags_1, + sizeof(asn_DEF_Roadwork_tags_1) + /sizeof(asn_DEF_Roadwork_tags_1[0]), /* 1 */ + asn_DEF_Roadwork_tags_1, /* Same as above */ + sizeof(asn_DEF_Roadwork_tags_1) + /sizeof(asn_DEF_Roadwork_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Roadwork_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Roadwork_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Roadwork_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Roadwork.h b/src/tmx/Asn_J2735/src/r2024/Roadwork.h deleted file mode 100644 index ce2270e58..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Roadwork.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Roadwork_H_ -#define _Roadwork_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Roadwork { - Roadwork_road_construction = 1025, - Roadwork_major_road_construction = 1026, - Roadwork_long_term_road_construction = 1027, - Roadwork_construction_work = 1028, - Roadwork_paving_operations = 1029, - Roadwork_work_in_the_median = 1030, - Roadwork_road_reconstruction = 1031, - Roadwork_opposing_traffic = 1032, - Roadwork_narrow_lanes = 1033, - Roadwork_construction_traffic_merging = 1034, - Roadwork_single_line_traffic_alternating_directions = 1035, - Roadwork_road_maintenance_operations = 1036, - Roadwork_road_marking_operations = 1037, - Roadwork_road_widening = 1061, - Roadwork_cracks = 1052, - Roadwork_crack_REMOVE = 1058, - Roadwork_bumps = 1053, - Roadwork_drop_off = 1059, - Roadwork_storm_drain = 1054, - Roadwork_bridge_maintenance_operations = 1038, - Roadwork_bridge_construction = 1039, - Roadwork_bridge_demolition_work = 1040, - Roadwork_seismic_retrofit = 1060, - Roadwork_overgrown_grass = 1055, - Roadwork_overgrown_brushshrubs = 1056, - Roadwork_overgrown_trees = 1057, - Roadwork_blasting = 1041, - Roadwork_avalanche_control_activities = 1042, - Roadwork_water_main_work = 1043, - Roadwork_gas_main_work = 1044, - Roadwork_work_on_underground_cables = 1045, - Roadwork_work_on_underground_services = 1046, - Roadwork_new_road_construction_layout = 1047, - Roadwork_new_road_layout = 1048, - Roadwork_temporary_lane_markings = 1049, - Roadwork_temporary_traffic_lights = 1050, - Roadwork_emergency_maintenance = 1051, - Roadwork_utility_work = 1062, - Roadwork_road_maintenance_cleared = 1146, - Roadwork_normal_road_layout_restored = 1147, - Roadwork_road_work_clearance_in_progress = 1148, - Roadwork_road_construction_cleared = 1149, - Roadwork_normal_traffic_lanes_restored = 1150, - Roadwork_road_work_cleared = 1151 -} e_Roadwork; - -/* Roadwork */ -typedef long Roadwork_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Roadwork_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Roadwork; -asn_struct_free_f Roadwork_free; -asn_struct_print_f Roadwork_print; -asn_constr_check_f Roadwork_constraint; -ber_type_decoder_f Roadwork_decode_ber; -der_type_encoder_f Roadwork_encode_der; -xer_type_decoder_f Roadwork_decode_xer; -xer_type_encoder_f Roadwork_encode_xer; -oer_type_decoder_f Roadwork_decode_oer; -oer_type_encoder_f Roadwork_encode_oer; -per_type_decoder_f Roadwork_decode_uper; -per_type_encoder_f Roadwork_encode_uper; -per_type_decoder_f Roadwork_decode_aper; -per_type_encoder_f Roadwork_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Roadwork_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Rock.c b/src/tmx/Asn_J2735/src/r2024/Rock.c new file mode 100644 index 000000000..38dde49c1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Rock.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Rock.h" + +asn_TYPE_member_t asn_MBR_Rock_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Rock, type), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RockType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "type" + }, +}; +static const ber_tlv_tag_t asn_DEF_Rock_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Rock_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* type */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Rock_specs_1 = { + sizeof(struct Rock), + offsetof(struct Rock, _asn_ctx), + asn_MAP_Rock_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Rock = { + "Rock", + "Rock", + &asn_OP_SEQUENCE, + asn_DEF_Rock_tags_1, + sizeof(asn_DEF_Rock_tags_1) + /sizeof(asn_DEF_Rock_tags_1[0]), /* 1 */ + asn_DEF_Rock_tags_1, /* Same as above */ + sizeof(asn_DEF_Rock_tags_1) + /sizeof(asn_DEF_Rock_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Rock_1, + 1, /* Elements count */ + &asn_SPC_Rock_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Rock.h b/src/tmx/Asn_J2735/src/r2024/Rock.h deleted file mode 100644 index 0c676f169..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Rock.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Rock_H_ -#define _Rock_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RockType.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Rock */ -typedef struct Rock { - RockType_t type; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Rock_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Rock; -extern asn_SEQUENCE_specifics_t asn_SPC_Rock_specs_1; -extern asn_TYPE_member_t asn_MBR_Rock_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Rock_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RockType.c b/src/tmx/Asn_J2735/src/r2024/RockType.c new file mode 100644 index 000000000..0a5859d27 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RockType.c @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RockType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RockType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RockType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_RockType_value2enum_1[] = { + { 0, 7, "crushed" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RockType_enum2value_1[] = { + 0 /* crushed(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_RockType_specs_1 = { + asn_MAP_RockType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RockType_enum2value_1, /* N => "tag"; sorted by N */ + 1, /* Number of elements in the maps */ + 2, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RockType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RockType = { + "RockType", + "RockType", + &asn_OP_NativeEnumerated, + asn_DEF_RockType_tags_1, + sizeof(asn_DEF_RockType_tags_1) + /sizeof(asn_DEF_RockType_tags_1[0]), /* 1 */ + asn_DEF_RockType_tags_1, /* Same as above */ + sizeof(asn_DEF_RockType_tags_1) + /sizeof(asn_DEF_RockType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RockType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RockType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RockType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RockType.h b/src/tmx/Asn_J2735/src/r2024/RockType.h deleted file mode 100644 index 19681aafe..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RockType.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RockType_H_ -#define _RockType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RockType { - RockType_crushed = 0 - /* - * Enumeration is extensible - */ -} e_RockType; - -/* RockType */ -typedef long RockType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RockType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RockType; -extern const asn_INTEGER_specifics_t asn_SPC_RockType_specs_1; -asn_struct_free_f RockType_free; -asn_struct_print_f RockType_print; -asn_constr_check_f RockType_constraint; -ber_type_decoder_f RockType_decode_ber; -der_type_encoder_f RockType_encode_der; -xer_type_decoder_f RockType_decode_xer; -xer_type_encoder_f RockType_encode_xer; -oer_type_decoder_f RockType_decode_oer; -oer_type_encoder_f RockType_encode_oer; -per_type_decoder_f RockType_decode_uper; -per_type_encoder_f RockType_encode_uper; -per_type_decoder_f RockType_decode_aper; -per_type_encoder_f RockType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RockType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Roll.c b/src/tmx/Asn_J2735/src/r2024/Roll.c new file mode 100644 index 000000000..f3309bdd8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Roll.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Roll.h" + +int +Roll_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -7200L && value <= 7201L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Roll_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-7200..7201) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Roll_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, -7200, 7201 } /* (-7200..7201) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Roll_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Roll = { + "Roll", + "Roll", + &asn_OP_NativeInteger, + asn_DEF_Roll_tags_1, + sizeof(asn_DEF_Roll_tags_1) + /sizeof(asn_DEF_Roll_tags_1[0]), /* 1 */ + asn_DEF_Roll_tags_1, /* Same as above */ + sizeof(asn_DEF_Roll_tags_1) + /sizeof(asn_DEF_Roll_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Roll_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Roll_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Roll_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Roll.h b/src/tmx/Asn_J2735/src/r2024/Roll.h deleted file mode 100644 index 9d0ddf26b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Roll.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Roll_H_ -#define _Roll_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Roll */ -typedef long Roll_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Roll_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Roll; -asn_struct_free_f Roll_free; -asn_struct_print_f Roll_print; -asn_constr_check_f Roll_constraint; -ber_type_decoder_f Roll_decode_ber; -der_type_encoder_f Roll_encode_der; -xer_type_decoder_f Roll_decode_xer; -xer_type_encoder_f Roll_encode_xer; -oer_type_decoder_f Roll_decode_oer; -oer_type_encoder_f Roll_encode_oer; -per_type_decoder_f Roll_decode_uper; -per_type_encoder_f Roll_encode_uper; -per_type_decoder_f Roll_decode_aper; -per_type_encoder_f Roll_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Roll_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RollDetected.c b/src/tmx/Asn_J2735/src/r2024/RollDetected.c new file mode 100644 index 000000000..2c1af640f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RollDetected.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RollDetected.h" + +int +RollDetected_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -14400L && value <= 14400L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RollDetected_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-14400..14400) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RollDetected_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, -14400, 14400 } /* (-14400..14400) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_RollDetected_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RollDetected = { + "RollDetected", + "RollDetected", + &asn_OP_NativeInteger, + asn_DEF_RollDetected_tags_1, + sizeof(asn_DEF_RollDetected_tags_1) + /sizeof(asn_DEF_RollDetected_tags_1[0]), /* 1 */ + asn_DEF_RollDetected_tags_1, /* Same as above */ + sizeof(asn_DEF_RollDetected_tags_1) + /sizeof(asn_DEF_RollDetected_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RollDetected_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RollDetected_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + RollDetected_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RollDetected.h b/src/tmx/Asn_J2735/src/r2024/RollDetected.h deleted file mode 100644 index d34589154..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RollDetected.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RollDetected_H_ -#define _RollDetected_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RollDetected */ -typedef long RollDetected_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RollDetected_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RollDetected; -asn_struct_free_f RollDetected_free; -asn_struct_print_f RollDetected_print; -asn_constr_check_f RollDetected_constraint; -ber_type_decoder_f RollDetected_decode_ber; -der_type_encoder_f RollDetected_encode_der; -xer_type_decoder_f RollDetected_decode_xer; -xer_type_encoder_f RollDetected_encode_xer; -oer_type_decoder_f RollDetected_decode_oer; -oer_type_encoder_f RollDetected_encode_oer; -per_type_decoder_f RollDetected_decode_uper; -per_type_encoder_f RollDetected_encode_uper; -per_type_decoder_f RollDetected_decode_aper; -per_type_encoder_f RollDetected_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RollDetected_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RollRateConfidence.c b/src/tmx/Asn_J2735/src/r2024/RollRateConfidence.c new file mode 100644 index 000000000..e459a8342 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RollRateConfidence.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RollRateConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RollRateConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RollRateConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_RollRateConfidence_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 13, "degSec-100-00" }, + { 2, 13, "degSec-010-00" }, + { 3, 13, "degSec-005-00" }, + { 4, 13, "degSec-001-00" }, + { 5, 13, "degSec-000-10" }, + { 6, 13, "degSec-000-05" }, + { 7, 13, "degSec-000-01" } +}; +static const unsigned int asn_MAP_RollRateConfidence_enum2value_1[] = { + 7, /* degSec-000-01(7) */ + 6, /* degSec-000-05(6) */ + 5, /* degSec-000-10(5) */ + 4, /* degSec-001-00(4) */ + 3, /* degSec-005-00(3) */ + 2, /* degSec-010-00(2) */ + 1, /* degSec-100-00(1) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_RollRateConfidence_specs_1 = { + asn_MAP_RollRateConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RollRateConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RollRateConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RollRateConfidence = { + "RollRateConfidence", + "RollRateConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_RollRateConfidence_tags_1, + sizeof(asn_DEF_RollRateConfidence_tags_1) + /sizeof(asn_DEF_RollRateConfidence_tags_1[0]), /* 1 */ + asn_DEF_RollRateConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_RollRateConfidence_tags_1) + /sizeof(asn_DEF_RollRateConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RollRateConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RollRateConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RollRateConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RollRateConfidence.h b/src/tmx/Asn_J2735/src/r2024/RollRateConfidence.h deleted file mode 100644 index 90d7b7cb5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RollRateConfidence.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RollRateConfidence_H_ -#define _RollRateConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RollRateConfidence { - RollRateConfidence_unavailable = 0, - RollRateConfidence_degSec_100_00 = 1, - RollRateConfidence_degSec_010_00 = 2, - RollRateConfidence_degSec_005_00 = 3, - RollRateConfidence_degSec_001_00 = 4, - RollRateConfidence_degSec_000_10 = 5, - RollRateConfidence_degSec_000_05 = 6, - RollRateConfidence_degSec_000_01 = 7 -} e_RollRateConfidence; - -/* RollRateConfidence */ -typedef long RollRateConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RollRateConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RollRateConfidence; -extern const asn_INTEGER_specifics_t asn_SPC_RollRateConfidence_specs_1; -asn_struct_free_f RollRateConfidence_free; -asn_struct_print_f RollRateConfidence_print; -asn_constr_check_f RollRateConfidence_constraint; -ber_type_decoder_f RollRateConfidence_decode_ber; -der_type_encoder_f RollRateConfidence_encode_der; -xer_type_decoder_f RollRateConfidence_decode_xer; -xer_type_encoder_f RollRateConfidence_encode_xer; -oer_type_decoder_f RollRateConfidence_decode_oer; -oer_type_encoder_f RollRateConfidence_encode_oer; -per_type_decoder_f RollRateConfidence_decode_uper; -per_type_encoder_f RollRateConfidence_encode_uper; -per_type_decoder_f RollRateConfidence_decode_aper; -per_type_encoder_f RollRateConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RollRateConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptAveragedAndSummaryRecord.c b/src/tmx/Asn_J2735/src/r2024/RptAveragedAndSummaryRecord.c new file mode 100644 index 000000000..3eaf3b2cc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptAveragedAndSummaryRecord.c @@ -0,0 +1,174 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptAveragedAndSummaryRecord.h" + +asn_TYPE_member_t asn_MBR_RptAveragedAndSummaryRecord_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptAveragedAndSummaryRecord, startTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptAveragedAndSummaryRecord, startLoc), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startLoc" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptAveragedAndSummaryRecord, startAccOfPos), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionalAccuracy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startAccOfPos" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptAveragedAndSummaryRecord, endTime), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "endTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptAveragedAndSummaryRecord, endLoc), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "endLoc" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptAveragedAndSummaryRecord, endAccOfPos), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionalAccuracy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "endAccOfPos" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptAveragedAndSummaryRecord, record), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RptAvgAndSummaryRecordData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "record" + }, +}; +static const ber_tlv_tag_t asn_DEF_RptAveragedAndSummaryRecord_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RptAveragedAndSummaryRecord_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* startTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* startLoc */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* startAccOfPos */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* endTime */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* endLoc */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* endAccOfPos */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* record */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RptAveragedAndSummaryRecord_specs_1 = { + sizeof(struct RptAveragedAndSummaryRecord), + offsetof(struct RptAveragedAndSummaryRecord, _asn_ctx), + asn_MAP_RptAveragedAndSummaryRecord_tag2el_1, + 7, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RptAveragedAndSummaryRecord = { + "RptAveragedAndSummaryRecord", + "RptAveragedAndSummaryRecord", + &asn_OP_SEQUENCE, + asn_DEF_RptAveragedAndSummaryRecord_tags_1, + sizeof(asn_DEF_RptAveragedAndSummaryRecord_tags_1) + /sizeof(asn_DEF_RptAveragedAndSummaryRecord_tags_1[0]), /* 1 */ + asn_DEF_RptAveragedAndSummaryRecord_tags_1, /* Same as above */ + sizeof(asn_DEF_RptAveragedAndSummaryRecord_tags_1) + /sizeof(asn_DEF_RptAveragedAndSummaryRecord_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RptAveragedAndSummaryRecord_1, + 7, /* Elements count */ + &asn_SPC_RptAveragedAndSummaryRecord_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptAveragedAndSummaryRecord.h b/src/tmx/Asn_J2735/src/r2024/RptAveragedAndSummaryRecord.h deleted file mode 100644 index 367cec31b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptAveragedAndSummaryRecord.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptAveragedAndSummaryRecord_H_ -#define _RptAveragedAndSummaryRecord_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DDateTime.h" -#include "Position3D.h" -#include "PositionalAccuracy.h" -#include "RptAvgAndSummaryRecordData.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RptAveragedAndSummaryRecord */ -typedef struct RptAveragedAndSummaryRecord { - DDateTime_t startTime; - Position3D_t startLoc; - PositionalAccuracy_t startAccOfPos; - DDateTime_t endTime; - Position3D_t endLoc; - PositionalAccuracy_t endAccOfPos; - RptAvgAndSummaryRecordData_t record; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptAveragedAndSummaryRecord_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptAveragedAndSummaryRecord; -extern asn_SEQUENCE_specifics_t asn_SPC_RptAveragedAndSummaryRecord_specs_1; -extern asn_TYPE_member_t asn_MBR_RptAveragedAndSummaryRecord_1[7]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptAveragedAndSummaryRecord_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptAveragedRecord.c b/src/tmx/Asn_J2735/src/r2024/RptAveragedRecord.c new file mode 100644 index 000000000..d0eefed33 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptAveragedRecord.c @@ -0,0 +1,287 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptAveragedRecord.h" + +static int +memb_avgStopDuration_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 36000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_avgFuelConsumption_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_avgNumOfOccupants_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_avgStopDuration_constr_4 CC_NOTUSED = { + { 2, 1 } /* (1..36000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_avgStopDuration_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 1, 36000 } /* (1..36000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_avgFuelConsumption_constr_6 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_avgFuelConsumption_constr_6 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_avgNumOfOccupants_constr_8 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_avgNumOfOccupants_constr_8 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptAveragedRecord_1[] = { + { ATF_POINTER, 7, offsetof(struct RptAveragedRecord, avgSpeed), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Speed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "avgSpeed" + }, + { ATF_POINTER, 6, offsetof(struct RptAveragedRecord, speedStdDev), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_StdDev, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedStdDev" + }, + { ATF_POINTER, 5, offsetof(struct RptAveragedRecord, avgStopDuration), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_avgStopDuration_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_avgStopDuration_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_avgStopDuration_constraint_1 + }, + 0, 0, /* No default value */ + "avgStopDuration" + }, + { ATF_POINTER, 4, offsetof(struct RptAveragedRecord, avgStopStdDev), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_StdDev, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "avgStopStdDev" + }, + { ATF_POINTER, 3, offsetof(struct RptAveragedRecord, avgFuelConsumption), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_avgFuelConsumption_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_avgFuelConsumption_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_avgFuelConsumption_constraint_1 + }, + 0, 0, /* No default value */ + "avgFuelConsumption" + }, + { ATF_POINTER, 2, offsetof(struct RptAveragedRecord, avgEmissions), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptEmissions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "avgEmissions" + }, + { ATF_POINTER, 1, offsetof(struct RptAveragedRecord, avgNumOfOccupants), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_avgNumOfOccupants_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_avgNumOfOccupants_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_avgNumOfOccupants_constraint_1 + }, + 0, 0, /* No default value */ + "avgNumOfOccupants" + }, +}; +static const int asn_MAP_RptAveragedRecord_oms_1[] = { 0, 1, 2, 3, 4, 5, 6 }; +static const ber_tlv_tag_t asn_DEF_RptAveragedRecord_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RptAveragedRecord_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* avgSpeed */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* speedStdDev */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* avgStopDuration */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* avgStopStdDev */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* avgFuelConsumption */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* avgEmissions */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* avgNumOfOccupants */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RptAveragedRecord_specs_1 = { + sizeof(struct RptAveragedRecord), + offsetof(struct RptAveragedRecord, _asn_ctx), + asn_MAP_RptAveragedRecord_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_RptAveragedRecord_oms_1, /* Optional members */ + 7, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RptAveragedRecord = { + "RptAveragedRecord", + "RptAveragedRecord", + &asn_OP_SEQUENCE, + asn_DEF_RptAveragedRecord_tags_1, + sizeof(asn_DEF_RptAveragedRecord_tags_1) + /sizeof(asn_DEF_RptAveragedRecord_tags_1[0]), /* 1 */ + asn_DEF_RptAveragedRecord_tags_1, /* Same as above */ + sizeof(asn_DEF_RptAveragedRecord_tags_1) + /sizeof(asn_DEF_RptAveragedRecord_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RptAveragedRecord_1, + 7, /* Elements count */ + &asn_SPC_RptAveragedRecord_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptAveragedRecord.h b/src/tmx/Asn_J2735/src/r2024/RptAveragedRecord.h deleted file mode 100644 index 48ee9793a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptAveragedRecord.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptAveragedRecord_H_ -#define _RptAveragedRecord_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Speed.h" -#include "StdDev.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RptEmissions; - -/* RptAveragedRecord */ -typedef struct RptAveragedRecord { - Speed_t *avgSpeed; /* OPTIONAL */ - StdDev_t *speedStdDev; /* OPTIONAL */ - long *avgStopDuration; /* OPTIONAL */ - StdDev_t *avgStopStdDev; /* OPTIONAL */ - long *avgFuelConsumption; /* OPTIONAL */ - struct RptEmissions *avgEmissions; /* OPTIONAL */ - long *avgNumOfOccupants; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptAveragedRecord_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptAveragedRecord; -extern asn_SEQUENCE_specifics_t asn_SPC_RptAveragedRecord_specs_1; -extern asn_TYPE_member_t asn_MBR_RptAveragedRecord_1[7]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RptEmissions.h" - -#endif /* _RptAveragedRecord_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptAvgAndSummaryRecordData.c b/src/tmx/Asn_J2735/src/r2024/RptAvgAndSummaryRecordData.c new file mode 100644 index 000000000..253fd559a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptAvgAndSummaryRecordData.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptAvgAndSummaryRecordData.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RptAvgAndSummaryRecordData_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RptAvgAndSummaryRecordData_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptAvgAndSummaryRecordData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptAvgAndSummaryRecordData, choice.averagedRecord), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptAveragedRecord, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "averagedRecord" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptAvgAndSummaryRecordData, choice.summaryRecord), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptSummaryRecord, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "summaryRecord" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RptAvgAndSummaryRecordData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* averagedRecord */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* summaryRecord */ +}; +asn_CHOICE_specifics_t asn_SPC_RptAvgAndSummaryRecordData_specs_1 = { + sizeof(struct RptAvgAndSummaryRecordData), + offsetof(struct RptAvgAndSummaryRecordData, _asn_ctx), + offsetof(struct RptAvgAndSummaryRecordData, present), + sizeof(((struct RptAvgAndSummaryRecordData *)0)->present), + asn_MAP_RptAvgAndSummaryRecordData_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RptAvgAndSummaryRecordData = { + "RptAvgAndSummaryRecordData", + "RptAvgAndSummaryRecordData", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RptAvgAndSummaryRecordData_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RptAvgAndSummaryRecordData_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_RptAvgAndSummaryRecordData_1, + 2, /* Elements count */ + &asn_SPC_RptAvgAndSummaryRecordData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptAvgAndSummaryRecordData.h b/src/tmx/Asn_J2735/src/r2024/RptAvgAndSummaryRecordData.h deleted file mode 100644 index 4cb7d990e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptAvgAndSummaryRecordData.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptAvgAndSummaryRecordData_H_ -#define _RptAvgAndSummaryRecordData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RptAveragedRecord.h" -#include "RptSummaryRecord.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RptAvgAndSummaryRecordData_PR { - RptAvgAndSummaryRecordData_PR_NOTHING, /* No components present */ - RptAvgAndSummaryRecordData_PR_averagedRecord, - RptAvgAndSummaryRecordData_PR_summaryRecord - /* Extensions may appear below */ - -} RptAvgAndSummaryRecordData_PR; - -/* RptAvgAndSummaryRecordData */ -typedef struct RptAvgAndSummaryRecordData { - RptAvgAndSummaryRecordData_PR present; - union RptAvgAndSummaryRecordData_u { - RptAveragedRecord_t averagedRecord; - RptSummaryRecord_t summaryRecord; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptAvgAndSummaryRecordData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptAvgAndSummaryRecordData; -extern asn_CHOICE_specifics_t asn_SPC_RptAvgAndSummaryRecordData_specs_1; -extern asn_TYPE_member_t asn_MBR_RptAvgAndSummaryRecordData_1[2]; -extern asn_per_constraints_t asn_PER_type_RptAvgAndSummaryRecordData_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptAvgAndSummaryRecordData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptCommSysPerfEvents.c b/src/tmx/Asn_J2735/src/r2024/RptCommSysPerfEvents.c new file mode 100644 index 000000000..78ee06e09 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptCommSysPerfEvents.c @@ -0,0 +1,330 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptCommSysPerfEvents.h" + +static int +memb_rfDataRsuInfo_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 6UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_numOfRsusObserved_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_rfDataRsuInfo_constr_3 CC_NOTUSED = { + { 0, 0 }, + 6 /* (SIZE(6..6)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_rfDataRsuInfo_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 6, 6 } /* (SIZE(6..6)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_numOfRsusObserved_constr_4 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_numOfRsusObserved_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RptCommSysPerfEvents_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RptCommSysPerfEvents_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 10 } /* (0..10,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptCommSysPerfEvents_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptCommSysPerfEvents, choice.j2945_1ChanBusy), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "j2945-1ChanBusy" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptCommSysPerfEvents, choice.rfDataRsuInfo), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_rfDataRsuInfo_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_rfDataRsuInfo_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_rfDataRsuInfo_constraint_1 + }, + 0, 0, /* No default value */ + "rfDataRsuInfo" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptCommSysPerfEvents, choice.numOfRsusObserved), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_numOfRsusObserved_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_numOfRsusObserved_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_numOfRsusObserved_constraint_1 + }, + 0, 0, /* No default value */ + "numOfRsusObserved" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptCommSysPerfEvents, choice.rfV2xJamDetect), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rfV2xJamDetect" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptCommSysPerfEvents, choice.j2945_1VehDens), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "j2945-1VehDens" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptCommSysPerfEvents, choice.j2945_1CqiBelow), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "j2945-1CqiBelow" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptCommSysPerfEvents, choice.j2945_1TrackingError), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "j2945-1TrackingError" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptCommSysPerfEvents, choice.gnssHdopExceeds), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "gnssHdopExceeds" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptCommSysPerfEvents, choice.gnssErrElipse), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "gnssErrElipse" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptCommSysPerfEvents, choice.gnssSatsBelow), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "gnssSatsBelow" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptCommSysPerfEvents, choice.jammingDetect), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "jammingDetect" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RptCommSysPerfEvents_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* j2945-1ChanBusy */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rfDataRsuInfo */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* numOfRsusObserved */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* rfV2xJamDetect */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* j2945-1VehDens */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* j2945-1CqiBelow */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* j2945-1TrackingError */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* gnssHdopExceeds */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* gnssErrElipse */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* gnssSatsBelow */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 } /* jammingDetect */ +}; +asn_CHOICE_specifics_t asn_SPC_RptCommSysPerfEvents_specs_1 = { + sizeof(struct RptCommSysPerfEvents), + offsetof(struct RptCommSysPerfEvents, _asn_ctx), + offsetof(struct RptCommSysPerfEvents, present), + sizeof(((struct RptCommSysPerfEvents *)0)->present), + asn_MAP_RptCommSysPerfEvents_tag2el_1, + 11, /* Count of tags in the map */ + 0, 0, + 11 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RptCommSysPerfEvents = { + "RptCommSysPerfEvents", + "RptCommSysPerfEvents", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RptCommSysPerfEvents_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RptCommSysPerfEvents_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_RptCommSysPerfEvents_1, + 11, /* Elements count */ + &asn_SPC_RptCommSysPerfEvents_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptCommSysPerfEvents.h b/src/tmx/Asn_J2735/src/r2024/RptCommSysPerfEvents.h deleted file mode 100644 index 4915dae15..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptCommSysPerfEvents.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptCommSysPerfEvents_H_ -#define _RptCommSysPerfEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NULL.h" -#include "OCTET_STRING.h" -#include "NativeInteger.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RptCommSysPerfEvents_PR { - RptCommSysPerfEvents_PR_NOTHING, /* No components present */ - RptCommSysPerfEvents_PR_j2945_1ChanBusy, - RptCommSysPerfEvents_PR_rfDataRsuInfo, - RptCommSysPerfEvents_PR_numOfRsusObserved, - RptCommSysPerfEvents_PR_rfV2xJamDetect, - RptCommSysPerfEvents_PR_j2945_1VehDens, - RptCommSysPerfEvents_PR_j2945_1CqiBelow, - RptCommSysPerfEvents_PR_j2945_1TrackingError, - RptCommSysPerfEvents_PR_gnssHdopExceeds, - RptCommSysPerfEvents_PR_gnssErrElipse, - RptCommSysPerfEvents_PR_gnssSatsBelow, - RptCommSysPerfEvents_PR_jammingDetect - /* Extensions may appear below */ - -} RptCommSysPerfEvents_PR; - -/* RptCommSysPerfEvents */ -typedef struct RptCommSysPerfEvents { - RptCommSysPerfEvents_PR present; - union RptCommSysPerfEvents_u { - NULL_t j2945_1ChanBusy; - OCTET_STRING_t rfDataRsuInfo; - long numOfRsusObserved; - NULL_t rfV2xJamDetect; - NULL_t j2945_1VehDens; - NULL_t j2945_1CqiBelow; - NULL_t j2945_1TrackingError; - NULL_t gnssHdopExceeds; - NULL_t gnssErrElipse; - NULL_t gnssSatsBelow; - NULL_t jammingDetect; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptCommSysPerfEvents_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptCommSysPerfEvents; -extern asn_CHOICE_specifics_t asn_SPC_RptCommSysPerfEvents_specs_1; -extern asn_TYPE_member_t asn_MBR_RptCommSysPerfEvents_1[11]; -extern asn_per_constraints_t asn_PER_type_RptCommSysPerfEvents_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptCommSysPerfEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptDevType.c b/src/tmx/Asn_J2735/src/r2024/RptDevType.c new file mode 100644 index 000000000..3a93d5ceb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptDevType.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptDevType.h" + +asn_TYPE_member_t asn_MBR_RptDevType_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptDevType, oemOrAftermarket), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "oemOrAftermarket" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptDevType, canOrIvnConnected), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "canOrIvnConnected" + }, + { ATF_POINTER, 1, offsetof(struct RptDevType, mcoCapable), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mcoCapable" + }, +}; +static const int asn_MAP_RptDevType_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_RptDevType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RptDevType_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* oemOrAftermarket */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* canOrIvnConnected */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* mcoCapable */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RptDevType_specs_1 = { + sizeof(struct RptDevType), + offsetof(struct RptDevType, _asn_ctx), + asn_MAP_RptDevType_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_RptDevType_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RptDevType = { + "RptDevType", + "RptDevType", + &asn_OP_SEQUENCE, + asn_DEF_RptDevType_tags_1, + sizeof(asn_DEF_RptDevType_tags_1) + /sizeof(asn_DEF_RptDevType_tags_1[0]), /* 1 */ + asn_DEF_RptDevType_tags_1, /* Same as above */ + sizeof(asn_DEF_RptDevType_tags_1) + /sizeof(asn_DEF_RptDevType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RptDevType_1, + 3, /* Elements count */ + &asn_SPC_RptDevType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptDevType.h b/src/tmx/Asn_J2735/src/r2024/RptDevType.h deleted file mode 100644 index 461d8585d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptDevType.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptDevType_H_ -#define _RptDevType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RptDevType */ -typedef struct RptDevType { - BOOLEAN_t oemOrAftermarket; - BOOLEAN_t canOrIvnConnected; - BOOLEAN_t *mcoCapable; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptDevType_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptDevType; -extern asn_SEQUENCE_specifics_t asn_SPC_RptDevType_specs_1; -extern asn_TYPE_member_t asn_MBR_RptDevType_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptDevType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptDriverAlertsAndWarnings.c b/src/tmx/Asn_J2735/src/r2024/RptDriverAlertsAndWarnings.c new file mode 100644 index 000000000..0e9ffd33e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptDriverAlertsAndWarnings.c @@ -0,0 +1,237 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptDriverAlertsAndWarnings.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RptDriverAlertsAndWarnings_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RptDriverAlertsAndWarnings_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 9 } /* (0..9,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptDriverAlertsAndWarnings_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptDriverAlertsAndWarnings, choice.j2945Slash1Eebl), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "j2945Slash1Eebl" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptDriverAlertsAndWarnings, choice.j2945Slash1Fcw), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "j2945Slash1Fcw" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptDriverAlertsAndWarnings, choice.j2945Slash1BswLcw), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "j2945Slash1BswLcw" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptDriverAlertsAndWarnings, choice.j2945Slash1Ima), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "j2945Slash1Ima" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptDriverAlertsAndWarnings, choice.j2945Slash1Lta), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "j2945Slash1Lta" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptDriverAlertsAndWarnings, choice.j2945Slash1Clw), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "j2945Slash1Clw" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptDriverAlertsAndWarnings, choice.redLightViolationWarn), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "redLightViolationWarn" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptDriverAlertsAndWarnings, choice.emerVehAlert), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emerVehAlert" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptDriverAlertsAndWarnings, choice.otherAlert), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "otherAlert" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptDriverAlertsAndWarnings, choice.otherWarning), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "otherWarning" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RptDriverAlertsAndWarnings_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* j2945Slash1Eebl */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* j2945Slash1Fcw */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* j2945Slash1BswLcw */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* j2945Slash1Ima */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* j2945Slash1Lta */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* j2945Slash1Clw */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* redLightViolationWarn */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* emerVehAlert */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* otherAlert */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* otherWarning */ +}; +asn_CHOICE_specifics_t asn_SPC_RptDriverAlertsAndWarnings_specs_1 = { + sizeof(struct RptDriverAlertsAndWarnings), + offsetof(struct RptDriverAlertsAndWarnings, _asn_ctx), + offsetof(struct RptDriverAlertsAndWarnings, present), + sizeof(((struct RptDriverAlertsAndWarnings *)0)->present), + asn_MAP_RptDriverAlertsAndWarnings_tag2el_1, + 10, /* Count of tags in the map */ + 0, 0, + 10 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RptDriverAlertsAndWarnings = { + "RptDriverAlertsAndWarnings", + "RptDriverAlertsAndWarnings", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RptDriverAlertsAndWarnings_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RptDriverAlertsAndWarnings_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_RptDriverAlertsAndWarnings_1, + 10, /* Elements count */ + &asn_SPC_RptDriverAlertsAndWarnings_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptDriverAlertsAndWarnings.h b/src/tmx/Asn_J2735/src/r2024/RptDriverAlertsAndWarnings.h deleted file mode 100644 index 288c007a2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptDriverAlertsAndWarnings.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptDriverAlertsAndWarnings_H_ -#define _RptDriverAlertsAndWarnings_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NULL.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RptDriverAlertsAndWarnings_PR { - RptDriverAlertsAndWarnings_PR_NOTHING, /* No components present */ - RptDriverAlertsAndWarnings_PR_j2945Slash1Eebl, - RptDriverAlertsAndWarnings_PR_j2945Slash1Fcw, - RptDriverAlertsAndWarnings_PR_j2945Slash1BswLcw, - RptDriverAlertsAndWarnings_PR_j2945Slash1Ima, - RptDriverAlertsAndWarnings_PR_j2945Slash1Lta, - RptDriverAlertsAndWarnings_PR_j2945Slash1Clw, - RptDriverAlertsAndWarnings_PR_redLightViolationWarn, - RptDriverAlertsAndWarnings_PR_emerVehAlert, - RptDriverAlertsAndWarnings_PR_otherAlert, - RptDriverAlertsAndWarnings_PR_otherWarning - /* Extensions may appear below */ - -} RptDriverAlertsAndWarnings_PR; - -/* RptDriverAlertsAndWarnings */ -typedef struct RptDriverAlertsAndWarnings { - RptDriverAlertsAndWarnings_PR present; - union RptDriverAlertsAndWarnings_u { - NULL_t j2945Slash1Eebl; - NULL_t j2945Slash1Fcw; - NULL_t j2945Slash1BswLcw; - NULL_t j2945Slash1Ima; - NULL_t j2945Slash1Lta; - NULL_t j2945Slash1Clw; - NULL_t redLightViolationWarn; - NULL_t emerVehAlert; - NULL_t otherAlert; - NULL_t otherWarning; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptDriverAlertsAndWarnings_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptDriverAlertsAndWarnings; -extern asn_CHOICE_specifics_t asn_SPC_RptDriverAlertsAndWarnings_specs_1; -extern asn_TYPE_member_t asn_MBR_RptDriverAlertsAndWarnings_1[10]; -extern asn_per_constraints_t asn_PER_type_RptDriverAlertsAndWarnings_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptDriverAlertsAndWarnings_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptEmissions.c b/src/tmx/Asn_J2735/src/r2024/RptEmissions.c new file mode 100644 index 000000000..49a69276b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptEmissions.c @@ -0,0 +1,545 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptEmissions.h" + +static int +memb_hydrocarbons_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 1000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_co_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 1000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_co2_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 1000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_no_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 1000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_no2_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 1000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_so2_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 1000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_o3_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 1000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_pm10_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 1000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_pm25_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 1000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_hydrocarbons_constr_2 CC_NOTUSED = { + { 2, 1 } /* (1..1000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_hydrocarbons_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 1, 1000 } /* (1..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_co_constr_3 CC_NOTUSED = { + { 2, 1 } /* (1..1000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_co_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 1, 1000 } /* (1..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_co2_constr_4 CC_NOTUSED = { + { 2, 1 } /* (1..1000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_co2_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 1, 1000 } /* (1..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_no_constr_5 CC_NOTUSED = { + { 2, 1 } /* (1..1000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_no_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 1, 1000 } /* (1..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_no2_constr_6 CC_NOTUSED = { + { 2, 1 } /* (1..1000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_no2_constr_6 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 1, 1000 } /* (1..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_so2_constr_7 CC_NOTUSED = { + { 2, 1 } /* (1..1000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_so2_constr_7 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 1, 1000 } /* (1..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_o3_constr_8 CC_NOTUSED = { + { 2, 1 } /* (1..1000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_o3_constr_8 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 1, 1000 } /* (1..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_pm10_constr_9 CC_NOTUSED = { + { 2, 1 } /* (1..1000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_pm10_constr_9 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 1, 1000 } /* (1..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_pm25_constr_10 CC_NOTUSED = { + { 2, 1 } /* (1..1000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_pm25_constr_10 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 1, 1000 } /* (1..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptEmissions_1[] = { + { ATF_POINTER, 9, offsetof(struct RptEmissions, hydrocarbons), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_hydrocarbons_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_hydrocarbons_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_hydrocarbons_constraint_1 + }, + 0, 0, /* No default value */ + "hydrocarbons" + }, + { ATF_POINTER, 8, offsetof(struct RptEmissions, co), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_co_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_co_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_co_constraint_1 + }, + 0, 0, /* No default value */ + "co" + }, + { ATF_POINTER, 7, offsetof(struct RptEmissions, co2), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_co2_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_co2_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_co2_constraint_1 + }, + 0, 0, /* No default value */ + "co2" + }, + { ATF_POINTER, 6, offsetof(struct RptEmissions, no), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_no_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_no_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_no_constraint_1 + }, + 0, 0, /* No default value */ + "no" + }, + { ATF_POINTER, 5, offsetof(struct RptEmissions, no2), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_no2_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_no2_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_no2_constraint_1 + }, + 0, 0, /* No default value */ + "no2" + }, + { ATF_POINTER, 4, offsetof(struct RptEmissions, so2), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_so2_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_so2_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_so2_constraint_1 + }, + 0, 0, /* No default value */ + "so2" + }, + { ATF_POINTER, 3, offsetof(struct RptEmissions, o3), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_o3_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_o3_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_o3_constraint_1 + }, + 0, 0, /* No default value */ + "o3" + }, + { ATF_POINTER, 2, offsetof(struct RptEmissions, pm10), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_pm10_constr_9, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_pm10_constr_9, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_pm10_constraint_1 + }, + 0, 0, /* No default value */ + "pm10" + }, + { ATF_POINTER, 1, offsetof(struct RptEmissions, pm25), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_pm25_constr_10, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_pm25_constr_10, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_pm25_constraint_1 + }, + 0, 0, /* No default value */ + "pm25" + }, +}; +static const int asn_MAP_RptEmissions_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8 }; +static const ber_tlv_tag_t asn_DEF_RptEmissions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RptEmissions_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hydrocarbons */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* co */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* co2 */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* no */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* no2 */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* so2 */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* o3 */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* pm10 */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* pm25 */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RptEmissions_specs_1 = { + sizeof(struct RptEmissions), + offsetof(struct RptEmissions, _asn_ctx), + asn_MAP_RptEmissions_tag2el_1, + 9, /* Count of tags in the map */ + asn_MAP_RptEmissions_oms_1, /* Optional members */ + 9, 0, /* Root/Additions */ + 9, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RptEmissions = { + "RptEmissions", + "RptEmissions", + &asn_OP_SEQUENCE, + asn_DEF_RptEmissions_tags_1, + sizeof(asn_DEF_RptEmissions_tags_1) + /sizeof(asn_DEF_RptEmissions_tags_1[0]), /* 1 */ + asn_DEF_RptEmissions_tags_1, /* Same as above */ + sizeof(asn_DEF_RptEmissions_tags_1) + /sizeof(asn_DEF_RptEmissions_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RptEmissions_1, + 9, /* Elements count */ + &asn_SPC_RptEmissions_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptEmissions.h b/src/tmx/Asn_J2735/src/r2024/RptEmissions.h deleted file mode 100644 index be5c11e82..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptEmissions.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptEmissions_H_ -#define _RptEmissions_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RptEmissions */ -typedef struct RptEmissions { - long *hydrocarbons; /* OPTIONAL */ - long *co; /* OPTIONAL */ - long *co2; /* OPTIONAL */ - long *no; /* OPTIONAL */ - long *no2; /* OPTIONAL */ - long *so2; /* OPTIONAL */ - long *o3; /* OPTIONAL */ - long *pm10; /* OPTIONAL */ - long *pm25; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptEmissions_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptEmissions; -extern asn_SEQUENCE_specifics_t asn_SPC_RptEmissions_specs_1; -extern asn_TYPE_member_t asn_MBR_RptEmissions_1[9]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptEmissions_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptEvents.c b/src/tmx/Asn_J2735/src/r2024/RptEvents.c new file mode 100644 index 000000000..a2976095b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptEvents.c @@ -0,0 +1,147 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptEvents.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RptEvents_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RptEvents_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 4 } /* (0..4,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptEvents_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptEvents, choice.absActive), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "absActive" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptEvents, choice.tractionCtlLoss), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tractionCtlLoss" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptEvents, choice.stabilityCtlActive), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "stabilityCtlActive" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptEvents, choice.hardBraking), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hardBraking" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptEvents, choice.swerve), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "swerve" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RptEvents_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* absActive */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tractionCtlLoss */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* stabilityCtlActive */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* hardBraking */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* swerve */ +}; +asn_CHOICE_specifics_t asn_SPC_RptEvents_specs_1 = { + sizeof(struct RptEvents), + offsetof(struct RptEvents, _asn_ctx), + offsetof(struct RptEvents, present), + sizeof(((struct RptEvents *)0)->present), + asn_MAP_RptEvents_tag2el_1, + 5, /* Count of tags in the map */ + 0, 0, + 5 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RptEvents = { + "RptEvents", + "RptEvents", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RptEvents_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RptEvents_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_RptEvents_1, + 5, /* Elements count */ + &asn_SPC_RptEvents_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptEvents.h b/src/tmx/Asn_J2735/src/r2024/RptEvents.h deleted file mode 100644 index 557159408..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptEvents.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptEvents_H_ -#define _RptEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RptEvents_PR { - RptEvents_PR_NOTHING, /* No components present */ - RptEvents_PR_absActive, - RptEvents_PR_tractionCtlLoss, - RptEvents_PR_stabilityCtlActive, - RptEvents_PR_hardBraking, - RptEvents_PR_swerve - /* Extensions may appear below */ - -} RptEvents_PR; - -/* RptEvents */ -typedef struct RptEvents { - RptEvents_PR present; - union RptEvents_u { - BOOLEAN_t absActive; - BOOLEAN_t tractionCtlLoss; - BOOLEAN_t stabilityCtlActive; - BOOLEAN_t hardBraking; - BOOLEAN_t swerve; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptEvents_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptEvents; -extern asn_CHOICE_specifics_t asn_SPC_RptEvents_specs_1; -extern asn_TYPE_member_t asn_MBR_RptEvents_1[5]; -extern asn_per_constraints_t asn_PER_type_RptEvents_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptHysteresis.c b/src/tmx/Asn_J2735/src/r2024/RptHysteresis.c new file mode 100644 index 000000000..762e30066 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptHysteresis.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptHysteresis.h" + +asn_TYPE_member_t asn_MBR_RptHysteresis_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptHysteresis, time), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "time" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptHysteresis, position), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "position" + }, + { ATF_POINTER, 1, offsetof(struct RptHysteresis, positionalAccuracy), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionalAccuracy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "positionalAccuracy" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptHysteresis, velocity), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptVelocity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "velocity" + }, +}; +static const int asn_MAP_RptHysteresis_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_RptHysteresis_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RptHysteresis_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* time */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* position */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* positionalAccuracy */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* velocity */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RptHysteresis_specs_1 = { + sizeof(struct RptHysteresis), + offsetof(struct RptHysteresis, _asn_ctx), + asn_MAP_RptHysteresis_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_RptHysteresis_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RptHysteresis = { + "RptHysteresis", + "RptHysteresis", + &asn_OP_SEQUENCE, + asn_DEF_RptHysteresis_tags_1, + sizeof(asn_DEF_RptHysteresis_tags_1) + /sizeof(asn_DEF_RptHysteresis_tags_1[0]), /* 1 */ + asn_DEF_RptHysteresis_tags_1, /* Same as above */ + sizeof(asn_DEF_RptHysteresis_tags_1) + /sizeof(asn_DEF_RptHysteresis_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RptHysteresis_1, + 4, /* Elements count */ + &asn_SPC_RptHysteresis_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptHysteresis.h b/src/tmx/Asn_J2735/src/r2024/RptHysteresis.h deleted file mode 100644 index 7707a2720..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptHysteresis.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptHysteresis_H_ -#define _RptHysteresis_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DTime.h" -#include "Position3D.h" -#include "RptVelocity.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct PositionalAccuracy; - -/* RptHysteresis */ -typedef struct RptHysteresis { - DTime_t time; - Position3D_t position; - struct PositionalAccuracy *positionalAccuracy; /* OPTIONAL */ - RptVelocity_t velocity; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptHysteresis_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptHysteresis; -extern asn_SEQUENCE_specifics_t asn_SPC_RptHysteresis_specs_1; -extern asn_TYPE_member_t asn_MBR_RptHysteresis_1[4]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "PositionalAccuracy.h" - -#endif /* _RptHysteresis_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptHysteresisRecord.c b/src/tmx/Asn_J2735/src/r2024/RptHysteresisRecord.c new file mode 100644 index 000000000..b332da658 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptHysteresisRecord.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptHysteresisRecord.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RptHysteresisRecord_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..20)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RptHysteresisRecord_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 20 } /* (SIZE(1..20)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptHysteresisRecord_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RptHysteresis, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RptHysteresisRecord_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_RptHysteresisRecord_specs_1 = { + sizeof(struct RptHysteresisRecord), + offsetof(struct RptHysteresisRecord, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_RptHysteresisRecord = { + "RptHysteresisRecord", + "RptHysteresisRecord", + &asn_OP_SEQUENCE_OF, + asn_DEF_RptHysteresisRecord_tags_1, + sizeof(asn_DEF_RptHysteresisRecord_tags_1) + /sizeof(asn_DEF_RptHysteresisRecord_tags_1[0]), /* 1 */ + asn_DEF_RptHysteresisRecord_tags_1, /* Same as above */ + sizeof(asn_DEF_RptHysteresisRecord_tags_1) + /sizeof(asn_DEF_RptHysteresisRecord_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RptHysteresisRecord_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RptHysteresisRecord_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_RptHysteresisRecord_1, + 1, /* Single element */ + &asn_SPC_RptHysteresisRecord_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptHysteresisRecord.h b/src/tmx/Asn_J2735/src/r2024/RptHysteresisRecord.h deleted file mode 100644 index 6c27105e7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptHysteresisRecord.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptHysteresisRecord_H_ -#define _RptHysteresisRecord_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RptHysteresis; - -/* RptHysteresisRecord */ -typedef struct RptHysteresisRecord { - A_SEQUENCE_OF(struct RptHysteresis) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptHysteresisRecord_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptHysteresisRecord; -extern asn_SET_OF_specifics_t asn_SPC_RptHysteresisRecord_specs_1; -extern asn_TYPE_member_t asn_MBR_RptHysteresisRecord_1[1]; -extern asn_per_constraints_t asn_PER_type_RptHysteresisRecord_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RptHysteresis.h" - -#endif /* _RptHysteresisRecord_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecord.c b/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecord.c new file mode 100644 index 000000000..2b1a5e611 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecord.c @@ -0,0 +1,140 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptInstantaneousRecord.h" + +asn_TYPE_member_t asn_MBR_RptInstantaneousRecord_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptInstantaneousRecord, timeOfInstantRec), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeOfInstantRec" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptInstantaneousRecord, locOfInstantRec), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "locOfInstantRec" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptInstantaneousRecord, accOfPosition), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionalAccuracy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accOfPosition" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptInstantaneousRecord, velOfInstantRec), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptVelocity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "velOfInstantRec" + }, + { ATF_POINTER, 1, offsetof(struct RptInstantaneousRecord, record), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RptInstantaneousRecordData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "record" + }, +}; +static const int asn_MAP_RptInstantaneousRecord_oms_1[] = { 4 }; +static const ber_tlv_tag_t asn_DEF_RptInstantaneousRecord_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RptInstantaneousRecord_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeOfInstantRec */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* locOfInstantRec */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* accOfPosition */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* velOfInstantRec */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* record */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RptInstantaneousRecord_specs_1 = { + sizeof(struct RptInstantaneousRecord), + offsetof(struct RptInstantaneousRecord, _asn_ctx), + asn_MAP_RptInstantaneousRecord_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_RptInstantaneousRecord_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RptInstantaneousRecord = { + "RptInstantaneousRecord", + "RptInstantaneousRecord", + &asn_OP_SEQUENCE, + asn_DEF_RptInstantaneousRecord_tags_1, + sizeof(asn_DEF_RptInstantaneousRecord_tags_1) + /sizeof(asn_DEF_RptInstantaneousRecord_tags_1[0]), /* 1 */ + asn_DEF_RptInstantaneousRecord_tags_1, /* Same as above */ + sizeof(asn_DEF_RptInstantaneousRecord_tags_1) + /sizeof(asn_DEF_RptInstantaneousRecord_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RptInstantaneousRecord_1, + 5, /* Elements count */ + &asn_SPC_RptInstantaneousRecord_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecord.h b/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecord.h deleted file mode 100644 index b7528411f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecord.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptInstantaneousRecord_H_ -#define _RptInstantaneousRecord_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DDateTime.h" -#include "Position3D.h" -#include "PositionalAccuracy.h" -#include "RptVelocity.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RptInstantaneousRecordData; - -/* RptInstantaneousRecord */ -typedef struct RptInstantaneousRecord { - DDateTime_t timeOfInstantRec; - Position3D_t locOfInstantRec; - PositionalAccuracy_t accOfPosition; - RptVelocity_t velOfInstantRec; - struct RptInstantaneousRecordData *record; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptInstantaneousRecord_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptInstantaneousRecord; -extern asn_SEQUENCE_specifics_t asn_SPC_RptInstantaneousRecord_specs_1; -extern asn_TYPE_member_t asn_MBR_RptInstantaneousRecord_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RptInstantaneousRecordData.h" - -#endif /* _RptInstantaneousRecord_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecordData.c b/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecordData.c new file mode 100644 index 000000000..b906e6252 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecordData.c @@ -0,0 +1,129 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptInstantaneousRecordData.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RptInstantaneousRecordData_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RptInstantaneousRecordData_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptInstantaneousRecordData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptInstantaneousRecordData, choice.intervalEvents), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptIntervalEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "intervalEvents" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptInstantaneousRecordData, choice.vehEvents), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RptVehicleEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehEvents" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptInstantaneousRecordData, choice.roadwayEvents), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RptRoadwayEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadwayEvents" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptInstantaneousRecordData, choice.commSysPerfEvents), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RptCommSysPerfEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "commSysPerfEvents" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RptInstantaneousRecordData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* intervalEvents */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* vehEvents */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* roadwayEvents */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* commSysPerfEvents */ +}; +asn_CHOICE_specifics_t asn_SPC_RptInstantaneousRecordData_specs_1 = { + sizeof(struct RptInstantaneousRecordData), + offsetof(struct RptInstantaneousRecordData, _asn_ctx), + offsetof(struct RptInstantaneousRecordData, present), + sizeof(((struct RptInstantaneousRecordData *)0)->present), + asn_MAP_RptInstantaneousRecordData_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, + 4 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RptInstantaneousRecordData = { + "RptInstantaneousRecordData", + "RptInstantaneousRecordData", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RptInstantaneousRecordData_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RptInstantaneousRecordData_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_RptInstantaneousRecordData_1, + 4, /* Elements count */ + &asn_SPC_RptInstantaneousRecordData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecordData.h b/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecordData.h deleted file mode 100644 index 5fd24af61..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecordData.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptInstantaneousRecordData_H_ -#define _RptInstantaneousRecordData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RptIntervalEvents.h" -#include "RptVehicleEvents.h" -#include "RptRoadwayEvents.h" -#include "RptCommSysPerfEvents.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RptInstantaneousRecordData_PR { - RptInstantaneousRecordData_PR_NOTHING, /* No components present */ - RptInstantaneousRecordData_PR_intervalEvents, - RptInstantaneousRecordData_PR_vehEvents, - RptInstantaneousRecordData_PR_roadwayEvents, - RptInstantaneousRecordData_PR_commSysPerfEvents - /* Extensions may appear below */ - -} RptInstantaneousRecordData_PR; - -/* RptInstantaneousRecordData */ -typedef struct RptInstantaneousRecordData { - RptInstantaneousRecordData_PR present; - union RptInstantaneousRecordData_u { - RptIntervalEvents_t intervalEvents; - RptVehicleEvents_t vehEvents; - RptRoadwayEvents_t roadwayEvents; - RptCommSysPerfEvents_t commSysPerfEvents; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptInstantaneousRecordData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptInstantaneousRecordData; -extern asn_CHOICE_specifics_t asn_SPC_RptInstantaneousRecordData_specs_1; -extern asn_TYPE_member_t asn_MBR_RptInstantaneousRecordData_1[4]; -extern asn_per_constraints_t asn_PER_type_RptInstantaneousRecordData_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptInstantaneousRecordData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecords.c b/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecords.c new file mode 100644 index 000000000..bde449880 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecords.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptInstantaneousRecords.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RptInstantaneousRecords_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RptInstantaneousRecords_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 8, 8, 1, 255 } /* (SIZE(1..255,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptInstantaneousRecords_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RptInstantaneousRecord, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RptInstantaneousRecords_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_RptInstantaneousRecords_specs_1 = { + sizeof(struct RptInstantaneousRecords), + offsetof(struct RptInstantaneousRecords, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_RptInstantaneousRecords = { + "RptInstantaneousRecords", + "RptInstantaneousRecords", + &asn_OP_SEQUENCE_OF, + asn_DEF_RptInstantaneousRecords_tags_1, + sizeof(asn_DEF_RptInstantaneousRecords_tags_1) + /sizeof(asn_DEF_RptInstantaneousRecords_tags_1[0]), /* 1 */ + asn_DEF_RptInstantaneousRecords_tags_1, /* Same as above */ + sizeof(asn_DEF_RptInstantaneousRecords_tags_1) + /sizeof(asn_DEF_RptInstantaneousRecords_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RptInstantaneousRecords_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RptInstantaneousRecords_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_RptInstantaneousRecords_1, + 1, /* Single element */ + &asn_SPC_RptInstantaneousRecords_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecords.h b/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecords.h deleted file mode 100644 index 3f1073047..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptInstantaneousRecords.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptInstantaneousRecords_H_ -#define _RptInstantaneousRecords_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RptInstantaneousRecord; - -/* RptInstantaneousRecords */ -typedef struct RptInstantaneousRecords { - A_SEQUENCE_OF(struct RptInstantaneousRecord) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptInstantaneousRecords_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptInstantaneousRecords; -extern asn_SET_OF_specifics_t asn_SPC_RptInstantaneousRecords_specs_1; -extern asn_TYPE_member_t asn_MBR_RptInstantaneousRecords_1[1]; -extern asn_per_constraints_t asn_PER_type_RptInstantaneousRecords_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RptInstantaneousRecord.h" - -#endif /* _RptInstantaneousRecords_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptIntervalEvents.c b/src/tmx/Asn_J2735/src/r2024/RptIntervalEvents.c new file mode 100644 index 000000000..6751d1ab9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptIntervalEvents.c @@ -0,0 +1,214 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptIntervalEvents.h" + +static int +memb_vehCount_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 10000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_numOfOccupants_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_vehCount_constr_3 CC_NOTUSED = { + { 2, 1 } /* (0..10000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_vehCount_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 0, 10000 } /* (0..10000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_numOfOccupants_constr_6 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_numOfOccupants_constr_6 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptIntervalEvents_1[] = { + { ATF_POINTER, 5, offsetof(struct RptIntervalEvents, wiperStatus), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptWiperStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wiperStatus" + }, + { ATF_POINTER, 4, offsetof(struct RptIntervalEvents, vehCount), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_vehCount_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_vehCount_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_vehCount_constraint_1 + }, + 0, 0, /* No default value */ + "vehCount" + }, + { ATF_POINTER, 3, offsetof(struct RptIntervalEvents, weatherData), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptVehicleReport, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "weatherData" + }, + { ATF_POINTER, 2, offsetof(struct RptIntervalEvents, transitVehData), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptTransitVehData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transitVehData" + }, + { ATF_POINTER, 1, offsetof(struct RptIntervalEvents, numOfOccupants), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_numOfOccupants_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_numOfOccupants_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_numOfOccupants_constraint_1 + }, + 0, 0, /* No default value */ + "numOfOccupants" + }, +}; +static const int asn_MAP_RptIntervalEvents_oms_1[] = { 0, 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_RptIntervalEvents_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RptIntervalEvents_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* wiperStatus */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* vehCount */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* weatherData */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* transitVehData */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* numOfOccupants */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RptIntervalEvents_specs_1 = { + sizeof(struct RptIntervalEvents), + offsetof(struct RptIntervalEvents, _asn_ctx), + asn_MAP_RptIntervalEvents_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_RptIntervalEvents_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RptIntervalEvents = { + "RptIntervalEvents", + "RptIntervalEvents", + &asn_OP_SEQUENCE, + asn_DEF_RptIntervalEvents_tags_1, + sizeof(asn_DEF_RptIntervalEvents_tags_1) + /sizeof(asn_DEF_RptIntervalEvents_tags_1[0]), /* 1 */ + asn_DEF_RptIntervalEvents_tags_1, /* Same as above */ + sizeof(asn_DEF_RptIntervalEvents_tags_1) + /sizeof(asn_DEF_RptIntervalEvents_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RptIntervalEvents_1, + 5, /* Elements count */ + &asn_SPC_RptIntervalEvents_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptIntervalEvents.h b/src/tmx/Asn_J2735/src/r2024/RptIntervalEvents.h deleted file mode 100644 index 763ba928e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptIntervalEvents.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptIntervalEvents_H_ -#define _RptIntervalEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RptWiperStatus.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RptVehicleReport; -struct RptTransitVehData; - -/* RptIntervalEvents */ -typedef struct RptIntervalEvents { - RptWiperStatus_t *wiperStatus; /* OPTIONAL */ - long *vehCount; /* OPTIONAL */ - struct RptVehicleReport *weatherData; /* OPTIONAL */ - struct RptTransitVehData *transitVehData; /* OPTIONAL */ - long *numOfOccupants; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptIntervalEvents_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptIntervalEvents; -extern asn_SEQUENCE_specifics_t asn_SPC_RptIntervalEvents_specs_1; -extern asn_TYPE_member_t asn_MBR_RptIntervalEvents_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RptVehicleReport.h" -#include "RptTransitVehData.h" - -#endif /* _RptIntervalEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptKinematicEvents.c b/src/tmx/Asn_J2735/src/r2024/RptKinematicEvents.c new file mode 100644 index 000000000..6bc59f6b2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptKinematicEvents.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptKinematicEvents.h" + +asn_TYPE_member_t asn_MBR_RptKinematicEvents_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptKinematicEvents, events), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RptEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "events" + }, + { ATF_POINTER, 1, offsetof(struct RptKinematicEvents, hysteresis), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptHysteresisRecord, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hysteresis" + }, +}; +static const int asn_MAP_RptKinematicEvents_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_RptKinematicEvents_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RptKinematicEvents_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* events */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* hysteresis */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RptKinematicEvents_specs_1 = { + sizeof(struct RptKinematicEvents), + offsetof(struct RptKinematicEvents, _asn_ctx), + asn_MAP_RptKinematicEvents_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_RptKinematicEvents_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RptKinematicEvents = { + "RptKinematicEvents", + "RptKinematicEvents", + &asn_OP_SEQUENCE, + asn_DEF_RptKinematicEvents_tags_1, + sizeof(asn_DEF_RptKinematicEvents_tags_1) + /sizeof(asn_DEF_RptKinematicEvents_tags_1[0]), /* 1 */ + asn_DEF_RptKinematicEvents_tags_1, /* Same as above */ + sizeof(asn_DEF_RptKinematicEvents_tags_1) + /sizeof(asn_DEF_RptKinematicEvents_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RptKinematicEvents_1, + 2, /* Elements count */ + &asn_SPC_RptKinematicEvents_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptKinematicEvents.h b/src/tmx/Asn_J2735/src/r2024/RptKinematicEvents.h deleted file mode 100644 index ada3afa70..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptKinematicEvents.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptKinematicEvents_H_ -#define _RptKinematicEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RptEvents.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RptHysteresisRecord; - -/* RptKinematicEvents */ -typedef struct RptKinematicEvents { - RptEvents_t events; - struct RptHysteresisRecord *hysteresis; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptKinematicEvents_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptKinematicEvents; -extern asn_SEQUENCE_specifics_t asn_SPC_RptKinematicEvents_specs_1; -extern asn_TYPE_member_t asn_MBR_RptKinematicEvents_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RptHysteresisRecord.h" - -#endif /* _RptKinematicEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptLocOfStops.c b/src/tmx/Asn_J2735/src/r2024/RptLocOfStops.c new file mode 100644 index 000000000..7d4da2d89 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptLocOfStops.c @@ -0,0 +1,139 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptLocOfStops.h" + +static int +memb_durationOfStop_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 36000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_durationOfStop_constr_4 CC_NOTUSED = { + { 2, 1 } /* (1..36000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_durationOfStop_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 1, 36000 } /* (1..36000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptLocOfStops_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptLocOfStops, locationOfStop), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "locationOfStop" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptLocOfStops, locAccOfStop), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionalAccuracy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "locAccOfStop" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptLocOfStops, durationOfStop), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_durationOfStop_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_durationOfStop_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_durationOfStop_constraint_1 + }, + 0, 0, /* No default value */ + "durationOfStop" + }, +}; +static const ber_tlv_tag_t asn_DEF_RptLocOfStops_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RptLocOfStops_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* locationOfStop */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* locAccOfStop */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* durationOfStop */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RptLocOfStops_specs_1 = { + sizeof(struct RptLocOfStops), + offsetof(struct RptLocOfStops, _asn_ctx), + asn_MAP_RptLocOfStops_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RptLocOfStops = { + "RptLocOfStops", + "RptLocOfStops", + &asn_OP_SEQUENCE, + asn_DEF_RptLocOfStops_tags_1, + sizeof(asn_DEF_RptLocOfStops_tags_1) + /sizeof(asn_DEF_RptLocOfStops_tags_1[0]), /* 1 */ + asn_DEF_RptLocOfStops_tags_1, /* Same as above */ + sizeof(asn_DEF_RptLocOfStops_tags_1) + /sizeof(asn_DEF_RptLocOfStops_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RptLocOfStops_1, + 3, /* Elements count */ + &asn_SPC_RptLocOfStops_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptLocOfStops.h b/src/tmx/Asn_J2735/src/r2024/RptLocOfStops.h deleted file mode 100644 index a3753284c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptLocOfStops.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptLocOfStops_H_ -#define _RptLocOfStops_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Position3D.h" -#include "PositionalAccuracy.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RptLocOfStops */ -typedef struct RptLocOfStops { - Position3D_t locationOfStop; - PositionalAccuracy_t locAccOfStop; - long durationOfStop; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptLocOfStops_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptLocOfStops; -extern asn_SEQUENCE_specifics_t asn_SPC_RptLocOfStops_specs_1; -extern asn_TYPE_member_t asn_MBR_RptLocOfStops_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptLocOfStops_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptRoadRoughness.c b/src/tmx/Asn_J2735/src/r2024/RptRoadRoughness.c new file mode 100644 index 000000000..58ed95261 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptRoadRoughness.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptRoadRoughness.h" + +asn_TYPE_member_t asn_MBR_RptRoadRoughness_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptRoadRoughness, meanVerticalVariation), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProbeDataReport_MeanVariation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "meanVerticalVariation" + }, + { ATF_POINTER, 3, offsetof(struct RptRoadRoughness, verticalVariationStdDev), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_StdDev, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "verticalVariationStdDev" + }, + { ATF_POINTER, 2, offsetof(struct RptRoadRoughness, meanHorizontalVariation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ProbeDataReport_MeanVariation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "meanHorizontalVariation" + }, + { ATF_POINTER, 1, offsetof(struct RptRoadRoughness, horizontalVariationStdDev), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_StdDev, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "horizontalVariationStdDev" + }, +}; +static const int asn_MAP_RptRoadRoughness_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_RptRoadRoughness_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RptRoadRoughness_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* meanVerticalVariation */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* verticalVariationStdDev */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* meanHorizontalVariation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* horizontalVariationStdDev */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RptRoadRoughness_specs_1 = { + sizeof(struct RptRoadRoughness), + offsetof(struct RptRoadRoughness, _asn_ctx), + asn_MAP_RptRoadRoughness_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_RptRoadRoughness_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RptRoadRoughness = { + "RptRoadRoughness", + "RptRoadRoughness", + &asn_OP_SEQUENCE, + asn_DEF_RptRoadRoughness_tags_1, + sizeof(asn_DEF_RptRoadRoughness_tags_1) + /sizeof(asn_DEF_RptRoadRoughness_tags_1[0]), /* 1 */ + asn_DEF_RptRoadRoughness_tags_1, /* Same as above */ + sizeof(asn_DEF_RptRoadRoughness_tags_1) + /sizeof(asn_DEF_RptRoadRoughness_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RptRoadRoughness_1, + 4, /* Elements count */ + &asn_SPC_RptRoadRoughness_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptRoadRoughness.h b/src/tmx/Asn_J2735/src/r2024/RptRoadRoughness.h deleted file mode 100644 index e90158f26..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptRoadRoughness.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptRoadRoughness_H_ -#define _RptRoadRoughness_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ProbeDataReport_MeanVariation.h" -#include "StdDev.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RptRoadRoughness */ -typedef struct RptRoadRoughness { - ProbeDataReport_MeanVariation_t meanVerticalVariation; - StdDev_t *verticalVariationStdDev; /* OPTIONAL */ - ProbeDataReport_MeanVariation_t *meanHorizontalVariation; /* OPTIONAL */ - StdDev_t *horizontalVariationStdDev; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptRoadRoughness_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptRoadRoughness; -extern asn_SEQUENCE_specifics_t asn_SPC_RptRoadRoughness_specs_1; -extern asn_TYPE_member_t asn_MBR_RptRoadRoughness_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptRoadRoughness_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptRoadwayEvents.c b/src/tmx/Asn_J2735/src/r2024/RptRoadwayEvents.c new file mode 100644 index 000000000..507641f90 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptRoadwayEvents.c @@ -0,0 +1,327 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptRoadwayEvents.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RptRoadwayEvents_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RptRoadwayEvents_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 14 } /* (0..14,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptRoadwayEvents_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.obstacleDetected), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "obstacleDetected" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.adverseRoadSurface), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptRoadRoughness, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "adverseRoadSurface" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.trfsigEncounters), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptTrafficSigEncounters, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigEncounters" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.trfsigLightOut), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigLightOut" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.trfsigRoadGeoMismatch), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigRoadGeoMismatch" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.roadsignDetection), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadsignDetection" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.lowRoadsignReflect), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lowRoadsignReflect" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.lowLaneMarkReflect), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lowLaneMarkReflect" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.roadsignIncnstncy), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadsignIncnstncy" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.laneGeoIncnstncy), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneGeoIncnstncy" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.incidentDetect), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "incidentDetect" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.workZoneCharDetect), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "workZoneCharDetect" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.inclWeatherDetect), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "inclWeatherDetect" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.railrdCrossActiv), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "railrdCrossActiv" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptRoadwayEvents, choice.drawBridgeActiv), + (ASN_TAG_CLASS_CONTEXT | (14 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "drawBridgeActiv" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RptRoadwayEvents_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* obstacleDetected */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* adverseRoadSurface */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* trfsigEncounters */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* trfsigLightOut */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* trfsigRoadGeoMismatch */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* roadsignDetection */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* lowRoadsignReflect */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* lowLaneMarkReflect */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* roadsignIncnstncy */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* laneGeoIncnstncy */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* incidentDetect */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* workZoneCharDetect */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* inclWeatherDetect */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* railrdCrossActiv */ + { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 } /* drawBridgeActiv */ +}; +asn_CHOICE_specifics_t asn_SPC_RptRoadwayEvents_specs_1 = { + sizeof(struct RptRoadwayEvents), + offsetof(struct RptRoadwayEvents, _asn_ctx), + offsetof(struct RptRoadwayEvents, present), + sizeof(((struct RptRoadwayEvents *)0)->present), + asn_MAP_RptRoadwayEvents_tag2el_1, + 15, /* Count of tags in the map */ + 0, 0, + 15 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RptRoadwayEvents = { + "RptRoadwayEvents", + "RptRoadwayEvents", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RptRoadwayEvents_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RptRoadwayEvents_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_RptRoadwayEvents_1, + 15, /* Elements count */ + &asn_SPC_RptRoadwayEvents_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptRoadwayEvents.h b/src/tmx/Asn_J2735/src/r2024/RptRoadwayEvents.h deleted file mode 100644 index 5bd46dd1d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptRoadwayEvents.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptRoadwayEvents_H_ -#define _RptRoadwayEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NULL.h" -#include "RptRoadRoughness.h" -#include "RptTrafficSigEncounters.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RptRoadwayEvents_PR { - RptRoadwayEvents_PR_NOTHING, /* No components present */ - RptRoadwayEvents_PR_obstacleDetected, - RptRoadwayEvents_PR_adverseRoadSurface, - RptRoadwayEvents_PR_trfsigEncounters, - RptRoadwayEvents_PR_trfsigLightOut, - RptRoadwayEvents_PR_trfsigRoadGeoMismatch, - RptRoadwayEvents_PR_roadsignDetection, - RptRoadwayEvents_PR_lowRoadsignReflect, - RptRoadwayEvents_PR_lowLaneMarkReflect, - RptRoadwayEvents_PR_roadsignIncnstncy, - RptRoadwayEvents_PR_laneGeoIncnstncy, - RptRoadwayEvents_PR_incidentDetect, - RptRoadwayEvents_PR_workZoneCharDetect, - RptRoadwayEvents_PR_inclWeatherDetect, - RptRoadwayEvents_PR_railrdCrossActiv, - RptRoadwayEvents_PR_drawBridgeActiv - /* Extensions may appear below */ - -} RptRoadwayEvents_PR; - -/* RptRoadwayEvents */ -typedef struct RptRoadwayEvents { - RptRoadwayEvents_PR present; - union RptRoadwayEvents_u { - NULL_t obstacleDetected; - RptRoadRoughness_t adverseRoadSurface; - RptTrafficSigEncounters_t trfsigEncounters; - NULL_t trfsigLightOut; - NULL_t trfsigRoadGeoMismatch; - NULL_t roadsignDetection; - NULL_t lowRoadsignReflect; - NULL_t lowLaneMarkReflect; - NULL_t roadsignIncnstncy; - NULL_t laneGeoIncnstncy; - NULL_t incidentDetect; - NULL_t workZoneCharDetect; - NULL_t inclWeatherDetect; - NULL_t railrdCrossActiv; - NULL_t drawBridgeActiv; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptRoadwayEvents_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptRoadwayEvents; -extern asn_CHOICE_specifics_t asn_SPC_RptRoadwayEvents_specs_1; -extern asn_TYPE_member_t asn_MBR_RptRoadwayEvents_1[15]; -extern asn_per_constraints_t asn_PER_type_RptRoadwayEvents_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptRoadwayEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptSummaryRecord.c b/src/tmx/Asn_J2735/src/r2024/RptSummaryRecord.c new file mode 100644 index 000000000..aa35d6d7f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptSummaryRecord.c @@ -0,0 +1,636 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptSummaryRecord.h" + +static int +memb_regTravelTime_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 3600L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regVehDistTraveled_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 500L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regVehTimeTraveled_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 3600L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_fuelConsumption_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_numOfLowSpeedEvents_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_timeStopped_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 36000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_numOfStopped_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regNumOfVehPassed_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_regNumOfSurpassedVeh_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_totalMsgsReceived_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regTravelTime_constr_2 CC_NOTUSED = { + { 2, 1 } /* (1..3600) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regTravelTime_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 1, 3600 } /* (1..3600) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regVehDistTraveled_constr_3 CC_NOTUSED = { + { 2, 1 } /* (1..500) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regVehDistTraveled_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, 1, 500 } /* (1..500) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regVehTimeTraveled_constr_4 CC_NOTUSED = { + { 2, 1 } /* (1..3600) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regVehTimeTraveled_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 1, 3600 } /* (1..3600) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_fuelConsumption_constr_5 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_fuelConsumption_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_numOfLowSpeedEvents_constr_7 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_numOfLowSpeedEvents_constr_7 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_timeStopped_constr_8 CC_NOTUSED = { + { 2, 1 } /* (1..36000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_timeStopped_constr_8 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 1, 36000 } /* (1..36000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_numOfStopped_constr_9 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_numOfStopped_constr_9 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regNumOfVehPassed_constr_11 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regNumOfVehPassed_constr_11 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regNumOfSurpassedVeh_constr_12 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regNumOfSurpassedVeh_constr_12 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_totalMsgsReceived_constr_13 CC_NOTUSED = { + { 1, 1 } /* (1..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_totalMsgsReceived_constr_13 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (1..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptSummaryRecord_1[] = { + { ATF_POINTER, 12, offsetof(struct RptSummaryRecord, regTravelTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regTravelTime_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regTravelTime_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regTravelTime_constraint_1 + }, + 0, 0, /* No default value */ + "regTravelTime" + }, + { ATF_POINTER, 11, offsetof(struct RptSummaryRecord, regVehDistTraveled), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regVehDistTraveled_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regVehDistTraveled_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regVehDistTraveled_constraint_1 + }, + 0, 0, /* No default value */ + "regVehDistTraveled" + }, + { ATF_POINTER, 10, offsetof(struct RptSummaryRecord, regVehTimeTraveled), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regVehTimeTraveled_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regVehTimeTraveled_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regVehTimeTraveled_constraint_1 + }, + 0, 0, /* No default value */ + "regVehTimeTraveled" + }, + { ATF_POINTER, 9, offsetof(struct RptSummaryRecord, fuelConsumption), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_fuelConsumption_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_fuelConsumption_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_fuelConsumption_constraint_1 + }, + 0, 0, /* No default value */ + "fuelConsumption" + }, + { ATF_POINTER, 8, offsetof(struct RptSummaryRecord, totalVehEmissions), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptEmissions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "totalVehEmissions" + }, + { ATF_POINTER, 7, offsetof(struct RptSummaryRecord, numOfLowSpeedEvents), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_numOfLowSpeedEvents_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_numOfLowSpeedEvents_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_numOfLowSpeedEvents_constraint_1 + }, + 0, 0, /* No default value */ + "numOfLowSpeedEvents" + }, + { ATF_POINTER, 6, offsetof(struct RptSummaryRecord, timeStopped), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_timeStopped_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_timeStopped_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_timeStopped_constraint_1 + }, + 0, 0, /* No default value */ + "timeStopped" + }, + { ATF_POINTER, 5, offsetof(struct RptSummaryRecord, numOfStopped), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_numOfStopped_constr_9, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_numOfStopped_constr_9, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_numOfStopped_constraint_1 + }, + 0, 0, /* No default value */ + "numOfStopped" + }, + { ATF_POINTER, 4, offsetof(struct RptSummaryRecord, locOfStops), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptLocOfStops, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "locOfStops" + }, + { ATF_POINTER, 3, offsetof(struct RptSummaryRecord, regNumOfVehPassed), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regNumOfVehPassed_constr_11, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regNumOfVehPassed_constr_11, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regNumOfVehPassed_constraint_1 + }, + 0, 0, /* No default value */ + "regNumOfVehPassed" + }, + { ATF_POINTER, 2, offsetof(struct RptSummaryRecord, regNumOfSurpassedVeh), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regNumOfSurpassedVeh_constr_12, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regNumOfSurpassedVeh_constr_12, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regNumOfSurpassedVeh_constraint_1 + }, + 0, 0, /* No default value */ + "regNumOfSurpassedVeh" + }, + { ATF_POINTER, 1, offsetof(struct RptSummaryRecord, totalMsgsReceived), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_totalMsgsReceived_constr_13, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_totalMsgsReceived_constr_13, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_totalMsgsReceived_constraint_1 + }, + 0, 0, /* No default value */ + "totalMsgsReceived" + }, +}; +static const int asn_MAP_RptSummaryRecord_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 }; +static const ber_tlv_tag_t asn_DEF_RptSummaryRecord_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RptSummaryRecord_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* regTravelTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* regVehDistTraveled */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* regVehTimeTraveled */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* fuelConsumption */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* totalVehEmissions */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* numOfLowSpeedEvents */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* timeStopped */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* numOfStopped */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* locOfStops */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* regNumOfVehPassed */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* regNumOfSurpassedVeh */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* totalMsgsReceived */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RptSummaryRecord_specs_1 = { + sizeof(struct RptSummaryRecord), + offsetof(struct RptSummaryRecord, _asn_ctx), + asn_MAP_RptSummaryRecord_tag2el_1, + 12, /* Count of tags in the map */ + asn_MAP_RptSummaryRecord_oms_1, /* Optional members */ + 12, 0, /* Root/Additions */ + 12, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RptSummaryRecord = { + "RptSummaryRecord", + "RptSummaryRecord", + &asn_OP_SEQUENCE, + asn_DEF_RptSummaryRecord_tags_1, + sizeof(asn_DEF_RptSummaryRecord_tags_1) + /sizeof(asn_DEF_RptSummaryRecord_tags_1[0]), /* 1 */ + asn_DEF_RptSummaryRecord_tags_1, /* Same as above */ + sizeof(asn_DEF_RptSummaryRecord_tags_1) + /sizeof(asn_DEF_RptSummaryRecord_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RptSummaryRecord_1, + 12, /* Elements count */ + &asn_SPC_RptSummaryRecord_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptSummaryRecord.h b/src/tmx/Asn_J2735/src/r2024/RptSummaryRecord.h deleted file mode 100644 index 82f54abc2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptSummaryRecord.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptSummaryRecord_H_ -#define _RptSummaryRecord_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RptEmissions; -struct RptLocOfStops; - -/* RptSummaryRecord */ -typedef struct RptSummaryRecord { - long *regTravelTime; /* OPTIONAL */ - long *regVehDistTraveled; /* OPTIONAL */ - long *regVehTimeTraveled; /* OPTIONAL */ - long *fuelConsumption; /* OPTIONAL */ - struct RptEmissions *totalVehEmissions; /* OPTIONAL */ - long *numOfLowSpeedEvents; /* OPTIONAL */ - long *timeStopped; /* OPTIONAL */ - long *numOfStopped; /* OPTIONAL */ - struct RptLocOfStops *locOfStops; /* OPTIONAL */ - long *regNumOfVehPassed; /* OPTIONAL */ - long *regNumOfSurpassedVeh; /* OPTIONAL */ - long *totalMsgsReceived; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptSummaryRecord_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptSummaryRecord; -extern asn_SEQUENCE_specifics_t asn_SPC_RptSummaryRecord_specs_1; -extern asn_TYPE_member_t asn_MBR_RptSummaryRecord_1[12]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RptEmissions.h" -#include "RptLocOfStops.h" - -#endif /* _RptSummaryRecord_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptTrafficMetrics.c b/src/tmx/Asn_J2735/src/r2024/RptTrafficMetrics.c new file mode 100644 index 000000000..f671e52a4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptTrafficMetrics.c @@ -0,0 +1,183 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptTrafficMetrics.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RptTrafficMetrics_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RptTrafficMetrics_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptTrafficMetrics_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptTrafficMetrics, choice.trfsigApproachDelay), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigApproachDelay" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptTrafficMetrics, choice.trfsigApproachSpeed), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigApproachSpeed" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptTrafficMetrics, choice.trfsigArrivalGreen), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigArrivalGreen" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptTrafficMetrics, choice.trfsigArrivalRed), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigArrivalRed" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptTrafficMetrics, choice.trfsigPedDelay), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigPedDelay" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptTrafficMetrics, choice.trfsigSpatMismatch), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigSpatMismatch" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptTrafficMetrics, choice.trfsigSpatTimingError), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trfsigSpatTimingError" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RptTrafficMetrics_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* trfsigApproachDelay */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* trfsigApproachSpeed */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* trfsigArrivalGreen */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* trfsigArrivalRed */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* trfsigPedDelay */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* trfsigSpatMismatch */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* trfsigSpatTimingError */ +}; +asn_CHOICE_specifics_t asn_SPC_RptTrafficMetrics_specs_1 = { + sizeof(struct RptTrafficMetrics), + offsetof(struct RptTrafficMetrics, _asn_ctx), + offsetof(struct RptTrafficMetrics, present), + sizeof(((struct RptTrafficMetrics *)0)->present), + asn_MAP_RptTrafficMetrics_tag2el_1, + 7, /* Count of tags in the map */ + 0, 0, + 7 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RptTrafficMetrics = { + "RptTrafficMetrics", + "RptTrafficMetrics", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RptTrafficMetrics_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RptTrafficMetrics_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_RptTrafficMetrics_1, + 7, /* Elements count */ + &asn_SPC_RptTrafficMetrics_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptTrafficMetrics.h b/src/tmx/Asn_J2735/src/r2024/RptTrafficMetrics.h deleted file mode 100644 index 23a0e1a6a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptTrafficMetrics.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptTrafficMetrics_H_ -#define _RptTrafficMetrics_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NULL.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RptTrafficMetrics_PR { - RptTrafficMetrics_PR_NOTHING, /* No components present */ - RptTrafficMetrics_PR_trfsigApproachDelay, - RptTrafficMetrics_PR_trfsigApproachSpeed, - RptTrafficMetrics_PR_trfsigArrivalGreen, - RptTrafficMetrics_PR_trfsigArrivalRed, - RptTrafficMetrics_PR_trfsigPedDelay, - RptTrafficMetrics_PR_trfsigSpatMismatch, - RptTrafficMetrics_PR_trfsigSpatTimingError - /* Extensions may appear below */ - -} RptTrafficMetrics_PR; - -/* RptTrafficMetrics */ -typedef struct RptTrafficMetrics { - RptTrafficMetrics_PR present; - union RptTrafficMetrics_u { - NULL_t trfsigApproachDelay; - NULL_t trfsigApproachSpeed; - NULL_t trfsigArrivalGreen; - NULL_t trfsigArrivalRed; - NULL_t trfsigPedDelay; - NULL_t trfsigSpatMismatch; - NULL_t trfsigSpatTimingError; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptTrafficMetrics_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptTrafficMetrics; -extern asn_CHOICE_specifics_t asn_SPC_RptTrafficMetrics_specs_1; -extern asn_TYPE_member_t asn_MBR_RptTrafficMetrics_1[7]; -extern asn_per_constraints_t asn_PER_type_RptTrafficMetrics_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptTrafficMetrics_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptTrafficSigEncounters.c b/src/tmx/Asn_J2735/src/r2024/RptTrafficSigEncounters.c new file mode 100644 index 000000000..7dbd58912 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptTrafficSigEncounters.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptTrafficSigEncounters.h" + +asn_TYPE_member_t asn_MBR_RptTrafficSigEncounters_1[] = { + { ATF_POINTER, 1, offsetof(struct RptTrafficSigEncounters, intersectionID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IntersectionID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "intersectionID" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptTrafficSigEncounters, trafficMetrics), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RptTrafficMetrics, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trafficMetrics" + }, +}; +static const int asn_MAP_RptTrafficSigEncounters_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_RptTrafficSigEncounters_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RptTrafficSigEncounters_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* intersectionID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* trafficMetrics */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RptTrafficSigEncounters_specs_1 = { + sizeof(struct RptTrafficSigEncounters), + offsetof(struct RptTrafficSigEncounters, _asn_ctx), + asn_MAP_RptTrafficSigEncounters_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_RptTrafficSigEncounters_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RptTrafficSigEncounters = { + "RptTrafficSigEncounters", + "RptTrafficSigEncounters", + &asn_OP_SEQUENCE, + asn_DEF_RptTrafficSigEncounters_tags_1, + sizeof(asn_DEF_RptTrafficSigEncounters_tags_1) + /sizeof(asn_DEF_RptTrafficSigEncounters_tags_1[0]), /* 1 */ + asn_DEF_RptTrafficSigEncounters_tags_1, /* Same as above */ + sizeof(asn_DEF_RptTrafficSigEncounters_tags_1) + /sizeof(asn_DEF_RptTrafficSigEncounters_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RptTrafficSigEncounters_1, + 2, /* Elements count */ + &asn_SPC_RptTrafficSigEncounters_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptTrafficSigEncounters.h b/src/tmx/Asn_J2735/src/r2024/RptTrafficSigEncounters.h deleted file mode 100644 index a3455d4c5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptTrafficSigEncounters.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptTrafficSigEncounters_H_ -#define _RptTrafficSigEncounters_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IntersectionID.h" -#include "RptTrafficMetrics.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RptTrafficSigEncounters */ -typedef struct RptTrafficSigEncounters { - IntersectionID_t *intersectionID; /* OPTIONAL */ - RptTrafficMetrics_t trafficMetrics; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptTrafficSigEncounters_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptTrafficSigEncounters; -extern asn_SEQUENCE_specifics_t asn_SPC_RptTrafficSigEncounters_specs_1; -extern asn_TYPE_member_t asn_MBR_RptTrafficSigEncounters_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptTrafficSigEncounters_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptTransitVehData.c b/src/tmx/Asn_J2735/src/r2024/RptTransitVehData.c new file mode 100644 index 000000000..b543dc1aa --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptTransitVehData.c @@ -0,0 +1,215 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptTransitVehData.h" + +static int +memb_currNumPasngers_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_avgNumPasngers_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_trnstVehSchAdh_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -200L && value <= 55L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_currNumPasngers_constr_2 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_currNumPasngers_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_avgNumPasngers_constr_3 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_avgNumPasngers_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_trnstVehSchAdh_constr_4 CC_NOTUSED = { + { 2, 0 } /* (-200..55) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_trnstVehSchAdh_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -200, 55 } /* (-200..55) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptTransitVehData_1[] = { + { ATF_POINTER, 3, offsetof(struct RptTransitVehData, currNumPasngers), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_currNumPasngers_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_currNumPasngers_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_currNumPasngers_constraint_1 + }, + 0, 0, /* No default value */ + "currNumPasngers" + }, + { ATF_POINTER, 2, offsetof(struct RptTransitVehData, avgNumPasngers), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_avgNumPasngers_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_avgNumPasngers_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_avgNumPasngers_constraint_1 + }, + 0, 0, /* No default value */ + "avgNumPasngers" + }, + { ATF_POINTER, 1, offsetof(struct RptTransitVehData, trnstVehSchAdh), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_trnstVehSchAdh_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_trnstVehSchAdh_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_trnstVehSchAdh_constraint_1 + }, + 0, 0, /* No default value */ + "trnstVehSchAdh" + }, +}; +static const int asn_MAP_RptTransitVehData_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_RptTransitVehData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RptTransitVehData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* currNumPasngers */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* avgNumPasngers */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* trnstVehSchAdh */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RptTransitVehData_specs_1 = { + sizeof(struct RptTransitVehData), + offsetof(struct RptTransitVehData, _asn_ctx), + asn_MAP_RptTransitVehData_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_RptTransitVehData_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RptTransitVehData = { + "RptTransitVehData", + "RptTransitVehData", + &asn_OP_SEQUENCE, + asn_DEF_RptTransitVehData_tags_1, + sizeof(asn_DEF_RptTransitVehData_tags_1) + /sizeof(asn_DEF_RptTransitVehData_tags_1[0]), /* 1 */ + asn_DEF_RptTransitVehData_tags_1, /* Same as above */ + sizeof(asn_DEF_RptTransitVehData_tags_1) + /sizeof(asn_DEF_RptTransitVehData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RptTransitVehData_1, + 3, /* Elements count */ + &asn_SPC_RptTransitVehData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptTransitVehData.h b/src/tmx/Asn_J2735/src/r2024/RptTransitVehData.h deleted file mode 100644 index 0a96bf32c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptTransitVehData.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptTransitVehData_H_ -#define _RptTransitVehData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RptTransitVehData */ -typedef struct RptTransitVehData { - long *currNumPasngers; /* OPTIONAL */ - long *avgNumPasngers; /* OPTIONAL */ - long *trnstVehSchAdh; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptTransitVehData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptTransitVehData; -extern asn_SEQUENCE_specifics_t asn_SPC_RptTransitVehData_specs_1; -extern asn_TYPE_member_t asn_MBR_RptTransitVehData_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptTransitVehData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptVehicleClass.c b/src/tmx/Asn_J2735/src/r2024/RptVehicleClass.c new file mode 100644 index 000000000..61d0d259b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptVehicleClass.c @@ -0,0 +1,92 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptVehicleClass.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RptVehicleClass_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RptVehicleClass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 12 } /* (0..12,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_RptVehicleClass_value2enum_1[] = { + { 1, 11, "motorcycles" }, + { 2, 13, "passengerCars" }, + { 3, 29, "other2axle4tireSingleUnitVehs" }, + { 4, 5, "buses" }, + { 5, 28, "twoAxle6TireSingleUnitTrucks" }, + { 6, 25, "threeAxleSingleUnitTrucks" }, + { 7, 30, "fourOrMoreAxleSingleUnitTrucks" }, + { 8, 34, "fourOrFewerAxleSingleTrailerTrucks" }, + { 9, 27, "fiveAxleSingleTrailerTrucks" }, + { 10, 32, "sixOrMoreAxleSingleTrailerTrucks" }, + { 11, 33, "fiveOrFewerAxleMultiTrailerTrucks" }, + { 12, 25, "sixAxleMultiTrailerTrucks" }, + { 13, 33, "sevenOrMoreAxleMultiTrailerTrucks" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RptVehicleClass_enum2value_1[] = { + 3, /* buses(4) */ + 8, /* fiveAxleSingleTrailerTrucks(9) */ + 10, /* fiveOrFewerAxleMultiTrailerTrucks(11) */ + 7, /* fourOrFewerAxleSingleTrailerTrucks(8) */ + 6, /* fourOrMoreAxleSingleUnitTrucks(7) */ + 0, /* motorcycles(1) */ + 2, /* other2axle4tireSingleUnitVehs(3) */ + 1, /* passengerCars(2) */ + 12, /* sevenOrMoreAxleMultiTrailerTrucks(13) */ + 11, /* sixAxleMultiTrailerTrucks(12) */ + 9, /* sixOrMoreAxleSingleTrailerTrucks(10) */ + 5, /* threeAxleSingleUnitTrucks(6) */ + 4 /* twoAxle6TireSingleUnitTrucks(5) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_RptVehicleClass_specs_1 = { + asn_MAP_RptVehicleClass_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RptVehicleClass_enum2value_1, /* N => "tag"; sorted by N */ + 13, /* Number of elements in the maps */ + 14, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RptVehicleClass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RptVehicleClass = { + "RptVehicleClass", + "RptVehicleClass", + &asn_OP_NativeEnumerated, + asn_DEF_RptVehicleClass_tags_1, + sizeof(asn_DEF_RptVehicleClass_tags_1) + /sizeof(asn_DEF_RptVehicleClass_tags_1[0]), /* 1 */ + asn_DEF_RptVehicleClass_tags_1, /* Same as above */ + sizeof(asn_DEF_RptVehicleClass_tags_1) + /sizeof(asn_DEF_RptVehicleClass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RptVehicleClass_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RptVehicleClass_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RptVehicleClass_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptVehicleClass.h b/src/tmx/Asn_J2735/src/r2024/RptVehicleClass.h deleted file mode 100644 index 48df2f95e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptVehicleClass.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptVehicleClass_H_ -#define _RptVehicleClass_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RptVehicleClass { - RptVehicleClass_motorcycles = 1, - RptVehicleClass_passengerCars = 2, - RptVehicleClass_other2axle4tireSingleUnitVehs = 3, - RptVehicleClass_buses = 4, - RptVehicleClass_twoAxle6TireSingleUnitTrucks = 5, - RptVehicleClass_threeAxleSingleUnitTrucks = 6, - RptVehicleClass_fourOrMoreAxleSingleUnitTrucks = 7, - RptVehicleClass_fourOrFewerAxleSingleTrailerTrucks = 8, - RptVehicleClass_fiveAxleSingleTrailerTrucks = 9, - RptVehicleClass_sixOrMoreAxleSingleTrailerTrucks = 10, - RptVehicleClass_fiveOrFewerAxleMultiTrailerTrucks = 11, - RptVehicleClass_sixAxleMultiTrailerTrucks = 12, - RptVehicleClass_sevenOrMoreAxleMultiTrailerTrucks = 13 - /* - * Enumeration is extensible - */ -} e_RptVehicleClass; - -/* RptVehicleClass */ -typedef long RptVehicleClass_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RptVehicleClass_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RptVehicleClass; -extern const asn_INTEGER_specifics_t asn_SPC_RptVehicleClass_specs_1; -asn_struct_free_f RptVehicleClass_free; -asn_struct_print_f RptVehicleClass_print; -asn_constr_check_f RptVehicleClass_constraint; -ber_type_decoder_f RptVehicleClass_decode_ber; -der_type_encoder_f RptVehicleClass_encode_der; -xer_type_decoder_f RptVehicleClass_decode_xer; -xer_type_encoder_f RptVehicleClass_encode_xer; -oer_type_decoder_f RptVehicleClass_decode_oer; -oer_type_encoder_f RptVehicleClass_encode_oer; -per_type_decoder_f RptVehicleClass_decode_uper; -per_type_encoder_f RptVehicleClass_encode_uper; -per_type_decoder_f RptVehicleClass_decode_aper; -per_type_encoder_f RptVehicleClass_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptVehicleClass_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptVehicleEvents.c b/src/tmx/Asn_J2735/src/r2024/RptVehicleEvents.c new file mode 100644 index 000000000..4d1c65259 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptVehicleEvents.c @@ -0,0 +1,327 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptVehicleEvents.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RptVehicleEvents_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RptVehicleEvents_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 14 } /* (0..14,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptVehicleEvents_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.headLights), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "headLights" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.fogLights), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "fogLights" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.hazardLights), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hazardLights" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.kinematicEvents), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptKinematicEvents, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "kinematicEvents" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.wiperStatusChange), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wiperStatusChange" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.lowSpeed), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lowSpeed" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.resumedSpeed), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "resumedSpeed" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.vehEntrsExitsRegion), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehEntrsExitsRegion" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.emerVehDetect), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emerVehDetect" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.emerVehLightBar), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emerVehLightBar" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.reqTspEvp), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reqTspEvp" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.transitVehPassCnt), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transitVehPassCnt" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.transitVehDoor), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transitVehDoor" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.v2xMsgRecption), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "v2xMsgRecption" + }, + { ATF_NOFLAGS, 0, offsetof(struct RptVehicleEvents, choice.driverAlertsAndWarnings), + (ASN_TAG_CLASS_CONTEXT | (14 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_RptDriverAlertsAndWarnings, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "driverAlertsAndWarnings" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_RptVehicleEvents_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* headLights */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* fogLights */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* hazardLights */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* kinematicEvents */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* wiperStatusChange */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* lowSpeed */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* resumedSpeed */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* vehEntrsExitsRegion */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* emerVehDetect */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* emerVehLightBar */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* reqTspEvp */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* transitVehPassCnt */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* transitVehDoor */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* v2xMsgRecption */ + { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 } /* driverAlertsAndWarnings */ +}; +asn_CHOICE_specifics_t asn_SPC_RptVehicleEvents_specs_1 = { + sizeof(struct RptVehicleEvents), + offsetof(struct RptVehicleEvents, _asn_ctx), + offsetof(struct RptVehicleEvents, present), + sizeof(((struct RptVehicleEvents *)0)->present), + asn_MAP_RptVehicleEvents_tag2el_1, + 15, /* Count of tags in the map */ + 0, 0, + 15 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_RptVehicleEvents = { + "RptVehicleEvents", + "RptVehicleEvents", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RptVehicleEvents_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RptVehicleEvents_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_RptVehicleEvents_1, + 15, /* Elements count */ + &asn_SPC_RptVehicleEvents_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptVehicleEvents.h b/src/tmx/Asn_J2735/src/r2024/RptVehicleEvents.h deleted file mode 100644 index be49382e5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptVehicleEvents.h +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptVehicleEvents_H_ -#define _RptVehicleEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NULL.h" -#include "RptKinematicEvents.h" -#include "RptDriverAlertsAndWarnings.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RptVehicleEvents_PR { - RptVehicleEvents_PR_NOTHING, /* No components present */ - RptVehicleEvents_PR_headLights, - RptVehicleEvents_PR_fogLights, - RptVehicleEvents_PR_hazardLights, - RptVehicleEvents_PR_kinematicEvents, - RptVehicleEvents_PR_wiperStatusChange, - RptVehicleEvents_PR_lowSpeed, - RptVehicleEvents_PR_resumedSpeed, - RptVehicleEvents_PR_vehEntrsExitsRegion, - RptVehicleEvents_PR_emerVehDetect, - RptVehicleEvents_PR_emerVehLightBar, - RptVehicleEvents_PR_reqTspEvp, - RptVehicleEvents_PR_transitVehPassCnt, - RptVehicleEvents_PR_transitVehDoor, - RptVehicleEvents_PR_v2xMsgRecption, - RptVehicleEvents_PR_driverAlertsAndWarnings - /* Extensions may appear below */ - -} RptVehicleEvents_PR; - -/* RptVehicleEvents */ -typedef struct RptVehicleEvents { - RptVehicleEvents_PR present; - union RptVehicleEvents_u { - NULL_t headLights; - NULL_t fogLights; - NULL_t hazardLights; - RptKinematicEvents_t kinematicEvents; - NULL_t wiperStatusChange; - NULL_t lowSpeed; - NULL_t resumedSpeed; - NULL_t vehEntrsExitsRegion; - NULL_t emerVehDetect; - NULL_t emerVehLightBar; - NULL_t reqTspEvp; - NULL_t transitVehPassCnt; - NULL_t transitVehDoor; - NULL_t v2xMsgRecption; - RptDriverAlertsAndWarnings_t driverAlertsAndWarnings; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptVehicleEvents_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptVehicleEvents; -extern asn_CHOICE_specifics_t asn_SPC_RptVehicleEvents_specs_1; -extern asn_TYPE_member_t asn_MBR_RptVehicleEvents_1[15]; -extern asn_per_constraints_t asn_PER_type_RptVehicleEvents_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptVehicleEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptVehicleReport.c b/src/tmx/Asn_J2735/src/r2024/RptVehicleReport.c new file mode 100644 index 000000000..e4f2a69fa --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptVehicleReport.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptVehicleReport.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RptVehicleReport_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RptVehicleReport_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_RptVehicleReport_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_NtcipEssData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_RptVehicleReport_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_RptVehicleReport_specs_1 = { + sizeof(struct RptVehicleReport), + offsetof(struct RptVehicleReport, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_RptVehicleReport = { + "RptVehicleReport", + "RptVehicleReport", + &asn_OP_SEQUENCE_OF, + asn_DEF_RptVehicleReport_tags_1, + sizeof(asn_DEF_RptVehicleReport_tags_1) + /sizeof(asn_DEF_RptVehicleReport_tags_1[0]), /* 1 */ + asn_DEF_RptVehicleReport_tags_1, /* Same as above */ + sizeof(asn_DEF_RptVehicleReport_tags_1) + /sizeof(asn_DEF_RptVehicleReport_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RptVehicleReport_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RptVehicleReport_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_RptVehicleReport_1, + 1, /* Single element */ + &asn_SPC_RptVehicleReport_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptVehicleReport.h b/src/tmx/Asn_J2735/src/r2024/RptVehicleReport.h deleted file mode 100644 index 4b5c111c1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptVehicleReport.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptVehicleReport_H_ -#define _RptVehicleReport_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct NtcipEssData; - -/* RptVehicleReport */ -typedef struct RptVehicleReport { - A_SEQUENCE_OF(struct NtcipEssData) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptVehicleReport_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptVehicleReport; -extern asn_SET_OF_specifics_t asn_SPC_RptVehicleReport_specs_1; -extern asn_TYPE_member_t asn_MBR_RptVehicleReport_1[1]; -extern asn_per_constraints_t asn_PER_type_RptVehicleReport_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "NtcipEssData.h" - -#endif /* _RptVehicleReport_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptVelocity.c b/src/tmx/Asn_J2735/src/r2024/RptVelocity.c new file mode 100644 index 000000000..0c02b2d1e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptVelocity.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptVelocity.h" + +asn_TYPE_member_t asn_MBR_RptVelocity_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct RptVelocity, speed), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Speed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed" + }, + { ATF_POINTER, 2, offsetof(struct RptVelocity, speedStdDev), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_StdDev, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedStdDev" + }, + { ATF_POINTER, 1, offsetof(struct RptVelocity, heading), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Heading, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heading" + }, +}; +static const int asn_MAP_RptVelocity_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_RptVelocity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_RptVelocity_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* speed */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* speedStdDev */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* heading */ +}; +asn_SEQUENCE_specifics_t asn_SPC_RptVelocity_specs_1 = { + sizeof(struct RptVelocity), + offsetof(struct RptVelocity, _asn_ctx), + asn_MAP_RptVelocity_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_RptVelocity_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_RptVelocity = { + "RptVelocity", + "RptVelocity", + &asn_OP_SEQUENCE, + asn_DEF_RptVelocity_tags_1, + sizeof(asn_DEF_RptVelocity_tags_1) + /sizeof(asn_DEF_RptVelocity_tags_1[0]), /* 1 */ + asn_DEF_RptVelocity_tags_1, /* Same as above */ + sizeof(asn_DEF_RptVelocity_tags_1) + /sizeof(asn_DEF_RptVelocity_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_RptVelocity_1, + 3, /* Elements count */ + &asn_SPC_RptVelocity_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptVelocity.h b/src/tmx/Asn_J2735/src/r2024/RptVelocity.h deleted file mode 100644 index 17e99dc7b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptVelocity.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptVelocity_H_ -#define _RptVelocity_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Speed.h" -#include "StdDev.h" -#include "Heading.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* RptVelocity */ -typedef struct RptVelocity { - Speed_t speed; - StdDev_t *speedStdDev; /* OPTIONAL */ - Heading_t *heading; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} RptVelocity_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_RptVelocity; -extern asn_SEQUENCE_specifics_t asn_SPC_RptVelocity_specs_1; -extern asn_TYPE_member_t asn_MBR_RptVelocity_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptVelocity_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/RptWiperStatus.c b/src/tmx/Asn_J2735/src/r2024/RptWiperStatus.c new file mode 100644 index 000000000..654f7010c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/RptWiperStatus.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "RptWiperStatus.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_RptWiperStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_RptWiperStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_RptWiperStatus_value2enum_1[] = { + { 0, 3, "off" }, + { 1, 3, "low" }, + { 2, 6, "medium" }, + { 3, 4, "high" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_RptWiperStatus_enum2value_1[] = { + 3, /* high(3) */ + 1, /* low(1) */ + 2, /* medium(2) */ + 0 /* off(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_RptWiperStatus_specs_1 = { + asn_MAP_RptWiperStatus_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_RptWiperStatus_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_RptWiperStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_RptWiperStatus = { + "RptWiperStatus", + "RptWiperStatus", + &asn_OP_NativeEnumerated, + asn_DEF_RptWiperStatus_tags_1, + sizeof(asn_DEF_RptWiperStatus_tags_1) + /sizeof(asn_DEF_RptWiperStatus_tags_1[0]), /* 1 */ + asn_DEF_RptWiperStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_RptWiperStatus_tags_1) + /sizeof(asn_DEF_RptWiperStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_RptWiperStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_RptWiperStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_RptWiperStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/RptWiperStatus.h b/src/tmx/Asn_J2735/src/r2024/RptWiperStatus.h deleted file mode 100644 index ee8922065..000000000 --- a/src/tmx/Asn_J2735/src/r2024/RptWiperStatus.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _RptWiperStatus_H_ -#define _RptWiperStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum RptWiperStatus { - RptWiperStatus_off = 0, - RptWiperStatus_low = 1, - RptWiperStatus_medium = 2, - RptWiperStatus_high = 3 - /* - * Enumeration is extensible - */ -} e_RptWiperStatus; - -/* RptWiperStatus */ -typedef long RptWiperStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_RptWiperStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_RptWiperStatus; -extern const asn_INTEGER_specifics_t asn_SPC_RptWiperStatus_specs_1; -asn_struct_free_f RptWiperStatus_free; -asn_struct_print_f RptWiperStatus_print; -asn_constr_check_f RptWiperStatus_constraint; -ber_type_decoder_f RptWiperStatus_decode_ber; -der_type_encoder_f RptWiperStatus_encode_der; -xer_type_decoder_f RptWiperStatus_decode_xer; -xer_type_encoder_f RptWiperStatus_encode_xer; -oer_type_decoder_f RptWiperStatus_decode_oer; -oer_type_encoder_f RptWiperStatus_encode_oer; -per_type_decoder_f RptWiperStatus_decode_uper; -per_type_encoder_f RptWiperStatus_encode_uper; -per_type_decoder_f RptWiperStatus_decode_aper; -per_type_encoder_f RptWiperStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _RptWiperStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SPAT.c b/src/tmx/Asn_J2735/src/r2024/SPAT.c new file mode 100644 index 000000000..6970ea87f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SPAT.c @@ -0,0 +1,225 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SPAT.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_5[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_SPAT, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_5[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_5 = { + sizeof(struct SPAT__regional), + offsetof(struct SPAT__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_5 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_5, + sizeof(asn_DEF_regional_tags_5) + /sizeof(asn_DEF_regional_tags_5[0]) - 1, /* 1 */ + asn_DEF_regional_tags_5, /* Same as above */ + sizeof(asn_DEF_regional_tags_5) + /sizeof(asn_DEF_regional_tags_5[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_5, + 1, /* Single element */ + &asn_SPC_regional_specs_5 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SPAT_1[] = { + { ATF_POINTER, 2, offsetof(struct SPAT, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_POINTER, 1, offsetof(struct SPAT, name), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveName, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "name" + }, + { ATF_NOFLAGS, 0, offsetof(struct SPAT, intersections), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IntersectionStateList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "intersections" + }, + { ATF_POINTER, 1, offsetof(struct SPAT, regional), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + 0, + &asn_DEF_regional_5, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_SPAT_oms_1[] = { 0, 1, 3 }; +static const ber_tlv_tag_t asn_DEF_SPAT_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SPAT_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* name */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* intersections */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SPAT_specs_1 = { + sizeof(struct SPAT), + offsetof(struct SPAT, _asn_ctx), + asn_MAP_SPAT_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_SPAT_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SPAT = { + "SPAT", + "SPAT", + &asn_OP_SEQUENCE, + asn_DEF_SPAT_tags_1, + sizeof(asn_DEF_SPAT_tags_1) + /sizeof(asn_DEF_SPAT_tags_1[0]), /* 1 */ + asn_DEF_SPAT_tags_1, /* Same as above */ + sizeof(asn_DEF_SPAT_tags_1) + /sizeof(asn_DEF_SPAT_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SPAT_1, + 4, /* Elements count */ + &asn_SPC_SPAT_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SPAT.h b/src/tmx/Asn_J2735/src/r2024/SPAT.h deleted file mode 100644 index d0223eae6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SPAT.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SPAT_H_ -#define _SPAT_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "MinuteOfTheYear.h" -#include "DescriptiveName.h" -#include "IntersectionStateList.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_SPAT; - -/* SPAT */ -typedef struct SPAT { - MinuteOfTheYear_t *timeStamp; /* OPTIONAL */ - DescriptiveName_t *name; /* OPTIONAL */ - IntersectionStateList_t intersections; - struct SPAT__regional { - A_SEQUENCE_OF(struct Reg_SPAT) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SPAT_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SPAT; -extern asn_SEQUENCE_specifics_t asn_SPC_SPAT_specs_1; -extern asn_TYPE_member_t asn_MBR_SPAT_1[4]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _SPAT_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SPAT_TimeMark.c b/src/tmx/Asn_J2735/src/r2024/SPAT_TimeMark.c new file mode 100644 index 000000000..009d6fdc0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SPAT_TimeMark.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SPAT_TimeMark.h" + +int +SPAT_TimeMark_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 36111L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SPAT_TimeMark_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..36111) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SPAT_TimeMark_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 36111 } /* (0..36111) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SPAT_TimeMark_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SPAT_TimeMark = { + "TimeMark", + "TimeMark", + &asn_OP_NativeInteger, + asn_DEF_SPAT_TimeMark_tags_1, + sizeof(asn_DEF_SPAT_TimeMark_tags_1) + /sizeof(asn_DEF_SPAT_TimeMark_tags_1[0]), /* 1 */ + asn_DEF_SPAT_TimeMark_tags_1, /* Same as above */ + sizeof(asn_DEF_SPAT_TimeMark_tags_1) + /sizeof(asn_DEF_SPAT_TimeMark_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SPAT_TimeMark_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SPAT_TimeMark_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SPAT_TimeMark_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SPAT_TimeMark.h b/src/tmx/Asn_J2735/src/r2024/SPAT_TimeMark.h deleted file mode 100644 index 0a77e8235..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SPAT_TimeMark.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SPAT_TimeMark_H_ -#define _SPAT_TimeMark_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SPAT_TimeMark */ -typedef long SPAT_TimeMark_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SPAT_TimeMark_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SPAT_TimeMark; -asn_struct_free_f SPAT_TimeMark_free; -asn_struct_print_f SPAT_TimeMark_print; -asn_constr_check_f SPAT_TimeMark_constraint; -ber_type_decoder_f SPAT_TimeMark_decode_ber; -der_type_encoder_f SPAT_TimeMark_encode_der; -xer_type_decoder_f SPAT_TimeMark_decode_xer; -xer_type_encoder_f SPAT_TimeMark_encode_xer; -oer_type_decoder_f SPAT_TimeMark_decode_oer; -oer_type_encoder_f SPAT_TimeMark_encode_oer; -per_type_decoder_f SPAT_TimeMark_decode_uper; -per_type_encoder_f SPAT_TimeMark_encode_uper; -per_type_decoder_f SPAT_TimeMark_decode_aper; -per_type_encoder_f SPAT_TimeMark_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SPAT_TimeMark_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SSPindex.c b/src/tmx/Asn_J2735/src/r2024/SSPindex.c new file mode 100644 index 000000000..22984b8e3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SSPindex.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SSPindex.h" + +int +SSPindex_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 31L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SSPindex_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..31) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SSPindex_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 31 } /* (0..31) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SSPindex_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SSPindex = { + "SSPindex", + "SSPindex", + &asn_OP_NativeInteger, + asn_DEF_SSPindex_tags_1, + sizeof(asn_DEF_SSPindex_tags_1) + /sizeof(asn_DEF_SSPindex_tags_1[0]), /* 1 */ + asn_DEF_SSPindex_tags_1, /* Same as above */ + sizeof(asn_DEF_SSPindex_tags_1) + /sizeof(asn_DEF_SSPindex_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SSPindex_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SSPindex_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SSPindex_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SSPindex.h b/src/tmx/Asn_J2735/src/r2024/SSPindex.h deleted file mode 100644 index b0abf546d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SSPindex.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SSPindex_H_ -#define _SSPindex_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SSPindex */ -typedef long SSPindex_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SSPindex_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SSPindex; -asn_struct_free_f SSPindex_free; -asn_struct_print_f SSPindex_print; -asn_constr_check_f SSPindex_constraint; -ber_type_decoder_f SSPindex_decode_ber; -der_type_encoder_f SSPindex_encode_der; -xer_type_decoder_f SSPindex_decode_xer; -xer_type_encoder_f SSPindex_encode_xer; -oer_type_decoder_f SSPindex_decode_oer; -oer_type_encoder_f SSPindex_encode_oer; -per_type_decoder_f SSPindex_decode_uper; -per_type_encoder_f SSPindex_encode_uper; -per_type_decoder_f SSPindex_decode_aper; -per_type_encoder_f SSPindex_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SSPindex_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Sample.c b/src/tmx/Asn_J2735/src/r2024/Sample.c new file mode 100644 index 000000000..36e1ae3a7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Sample.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataManagement" + * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Sample.h" + +static int +memb_sampleStart_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_sampleEnd_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_sampleStart_constr_2 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_sampleStart_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_sampleEnd_constr_3 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_sampleEnd_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_Sample_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Sample, sampleStart), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_sampleStart_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_sampleStart_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_sampleStart_constraint_1 + }, + 0, 0, /* No default value */ + "sampleStart" + }, + { ATF_NOFLAGS, 0, offsetof(struct Sample, sampleEnd), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_sampleEnd_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_sampleEnd_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_sampleEnd_constraint_1 + }, + 0, 0, /* No default value */ + "sampleEnd" + }, +}; +static const ber_tlv_tag_t asn_DEF_Sample_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Sample_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sampleStart */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sampleEnd */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Sample_specs_1 = { + sizeof(struct Sample), + offsetof(struct Sample, _asn_ctx), + asn_MAP_Sample_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Sample = { + "Sample", + "Sample", + &asn_OP_SEQUENCE, + asn_DEF_Sample_tags_1, + sizeof(asn_DEF_Sample_tags_1) + /sizeof(asn_DEF_Sample_tags_1[0]), /* 1 */ + asn_DEF_Sample_tags_1, /* Same as above */ + sizeof(asn_DEF_Sample_tags_1) + /sizeof(asn_DEF_Sample_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Sample_1, + 2, /* Elements count */ + &asn_SPC_Sample_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Sample.h b/src/tmx/Asn_J2735/src/r2024/Sample.h deleted file mode 100644 index e318b137e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Sample.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataManagement" - * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Sample_H_ -#define _Sample_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Sample */ -typedef struct Sample { - long sampleStart; - long sampleEnd; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Sample_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Sample; -extern asn_SEQUENCE_specifics_t asn_SPC_Sample_specs_1; -extern asn_TYPE_member_t asn_MBR_Sample_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Sample_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Scale-B12.c b/src/tmx/Asn_J2735/src/r2024/Scale-B12.c new file mode 100644 index 000000000..6dc908011 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Scale-B12.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Scale-B12.h" + +int +Scale_B12_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -2048L && value <= 2047L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Scale_B12_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-2048..2047) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Scale_B12_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, -2048, 2047 } /* (-2048..2047) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Scale_B12_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Scale_B12 = { + "Scale-B12", + "Scale-B12", + &asn_OP_NativeInteger, + asn_DEF_Scale_B12_tags_1, + sizeof(asn_DEF_Scale_B12_tags_1) + /sizeof(asn_DEF_Scale_B12_tags_1[0]), /* 1 */ + asn_DEF_Scale_B12_tags_1, /* Same as above */ + sizeof(asn_DEF_Scale_B12_tags_1) + /sizeof(asn_DEF_Scale_B12_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Scale_B12_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Scale_B12_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Scale_B12_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Scale-B12.h b/src/tmx/Asn_J2735/src/r2024/Scale-B12.h deleted file mode 100644 index 7959c79d1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Scale-B12.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Scale_B12_H_ -#define _Scale_B12_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Scale-B12 */ -typedef long Scale_B12_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Scale_B12_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Scale_B12; -asn_struct_free_f Scale_B12_free; -asn_struct_print_f Scale_B12_print; -asn_constr_check_f Scale_B12_constraint; -ber_type_decoder_f Scale_B12_decode_ber; -der_type_encoder_f Scale_B12_encode_der; -xer_type_decoder_f Scale_B12_decode_xer; -xer_type_encoder_f Scale_B12_encode_xer; -oer_type_decoder_f Scale_B12_decode_oer; -oer_type_encoder_f Scale_B12_encode_oer; -per_type_decoder_f Scale_B12_decode_uper; -per_type_encoder_f Scale_B12_encode_uper; -per_type_decoder_f Scale_B12_decode_aper; -per_type_encoder_f Scale_B12_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Scale_B12_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SchoolBusJ2945Slash1C.c b/src/tmx/Asn_J2735/src/r2024/SchoolBusJ2945Slash1C.c new file mode 100644 index 000000000..36d1c0b52 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SchoolBusJ2945Slash1C.c @@ -0,0 +1,248 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SchoolBusJ2945Slash1C.h" + +asn_TYPE_member_t asn_MBR_SchoolBusJ2945Slash1C_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SchoolBusJ2945Slash1C, flashingAmberLights), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "flashingAmberLights" + }, + { ATF_NOFLAGS, 0, offsetof(struct SchoolBusJ2945Slash1C, flashingRedLights), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "flashingRedLights" + }, + { ATF_POINTER, 9, offsetof(struct SchoolBusJ2945Slash1C, studentsCrossingFront), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "studentsCrossingFront" + }, + { ATF_POINTER, 8, offsetof(struct SchoolBusJ2945Slash1C, studentsCrossingBehind), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "studentsCrossingBehind" + }, + { ATF_POINTER, 7, offsetof(struct SchoolBusJ2945Slash1C, studentsLoading), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "studentsLoading" + }, + { ATF_POINTER, 6, offsetof(struct SchoolBusJ2945Slash1C, studentsUnloading), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "studentsUnloading" + }, + { ATF_POINTER, 5, offsetof(struct SchoolBusJ2945Slash1C, wheelchairLiftInUse), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wheelchairLiftInUse" + }, + { ATF_POINTER, 4, offsetof(struct SchoolBusJ2945Slash1C, emergencyExitOpen), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emergencyExitOpen" + }, + { ATF_POINTER, 3, offsetof(struct SchoolBusJ2945Slash1C, emergencyRequestMedical), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emergencyRequestMedical" + }, + { ATF_POINTER, 2, offsetof(struct SchoolBusJ2945Slash1C, emergencyRequestFire), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emergencyRequestFire" + }, + { ATF_POINTER, 1, offsetof(struct SchoolBusJ2945Slash1C, emergencyRequestPolice), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "emergencyRequestPolice" + }, +}; +static const int asn_MAP_SchoolBusJ2945Slash1C_oms_1[] = { 2, 3, 4, 5, 6, 7, 8, 9, 10 }; +static const ber_tlv_tag_t asn_DEF_SchoolBusJ2945Slash1C_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SchoolBusJ2945Slash1C_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* flashingAmberLights */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* flashingRedLights */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* studentsCrossingFront */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* studentsCrossingBehind */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* studentsLoading */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* studentsUnloading */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* wheelchairLiftInUse */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* emergencyExitOpen */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* emergencyRequestMedical */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* emergencyRequestFire */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 } /* emergencyRequestPolice */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SchoolBusJ2945Slash1C_specs_1 = { + sizeof(struct SchoolBusJ2945Slash1C), + offsetof(struct SchoolBusJ2945Slash1C, _asn_ctx), + asn_MAP_SchoolBusJ2945Slash1C_tag2el_1, + 11, /* Count of tags in the map */ + asn_MAP_SchoolBusJ2945Slash1C_oms_1, /* Optional members */ + 9, 0, /* Root/Additions */ + 11, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SchoolBusJ2945Slash1C = { + "SchoolBusJ2945Slash1C", + "SchoolBusJ2945Slash1C", + &asn_OP_SEQUENCE, + asn_DEF_SchoolBusJ2945Slash1C_tags_1, + sizeof(asn_DEF_SchoolBusJ2945Slash1C_tags_1) + /sizeof(asn_DEF_SchoolBusJ2945Slash1C_tags_1[0]), /* 1 */ + asn_DEF_SchoolBusJ2945Slash1C_tags_1, /* Same as above */ + sizeof(asn_DEF_SchoolBusJ2945Slash1C_tags_1) + /sizeof(asn_DEF_SchoolBusJ2945Slash1C_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SchoolBusJ2945Slash1C_1, + 11, /* Elements count */ + &asn_SPC_SchoolBusJ2945Slash1C_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SchoolBusJ2945Slash1C.h b/src/tmx/Asn_J2735/src/r2024/SchoolBusJ2945Slash1C.h deleted file mode 100644 index f1def02fa..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SchoolBusJ2945Slash1C.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SchoolBusJ2945Slash1C_H_ -#define _SchoolBusJ2945Slash1C_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SchoolBusJ2945Slash1C */ -typedef struct SchoolBusJ2945Slash1C { - BOOLEAN_t flashingAmberLights; - BOOLEAN_t flashingRedLights; - BOOLEAN_t *studentsCrossingFront; /* OPTIONAL */ - BOOLEAN_t *studentsCrossingBehind; /* OPTIONAL */ - BOOLEAN_t *studentsLoading; /* OPTIONAL */ - BOOLEAN_t *studentsUnloading; /* OPTIONAL */ - BOOLEAN_t *wheelchairLiftInUse; /* OPTIONAL */ - BOOLEAN_t *emergencyExitOpen; /* OPTIONAL */ - BOOLEAN_t *emergencyRequestMedical; /* OPTIONAL */ - BOOLEAN_t *emergencyRequestFire; /* OPTIONAL */ - BOOLEAN_t *emergencyRequestPolice; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SchoolBusJ2945Slash1C_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SchoolBusJ2945Slash1C; -extern asn_SEQUENCE_specifics_t asn_SPC_SchoolBusJ2945Slash1C_specs_1; -extern asn_TYPE_member_t asn_MBR_SchoolBusJ2945Slash1C_1[11]; - -#ifdef __cplusplus -} -#endif - -#endif /* _SchoolBusJ2945Slash1C_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Second.c b/src/tmx/Asn_J2735/src/r2024/Second.c new file mode 100644 index 000000000..faaf870c7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Second.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Second.h" + +int +Second_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 60L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Second_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..60) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Second_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 60 } /* (0..60) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Second_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Second = { + "Second", + "Second", + &asn_OP_NativeInteger, + asn_DEF_Second_tags_1, + sizeof(asn_DEF_Second_tags_1) + /sizeof(asn_DEF_Second_tags_1[0]), /* 1 */ + asn_DEF_Second_tags_1, /* Same as above */ + sizeof(asn_DEF_Second_tags_1) + /sizeof(asn_DEF_Second_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Second_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Second_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Second_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Second.h b/src/tmx/Asn_J2735/src/r2024/Second.h deleted file mode 100644 index 17b3e61a0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Second.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Second_H_ -#define _Second_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Second */ -typedef long Second_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Second_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Second; -asn_struct_free_f Second_free; -asn_struct_print_f Second_print; -asn_constr_check_f Second_constraint; -ber_type_decoder_f Second_decode_ber; -der_type_encoder_f Second_encode_der; -xer_type_decoder_f Second_decode_xer; -xer_type_encoder_f Second_encode_xer; -oer_type_decoder_f Second_decode_oer; -oer_type_encoder_f Second_encode_oer; -per_type_decoder_f Second_decode_uper; -per_type_encoder_f Second_encode_uper; -per_type_decoder_f Second_decode_aper; -per_type_encoder_f Second_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Second_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SecondOfTime.c b/src/tmx/Asn_J2735/src/r2024/SecondOfTime.c new file mode 100644 index 000000000..2366f9d19 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SecondOfTime.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataManagement" + * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SecondOfTime.h" + +int +SecondOfTime_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 61L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SecondOfTime_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..61) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SecondOfTime_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 61 } /* (0..61) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SecondOfTime_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SecondOfTime = { + "SecondOfTime", + "SecondOfTime", + &asn_OP_NativeInteger, + asn_DEF_SecondOfTime_tags_1, + sizeof(asn_DEF_SecondOfTime_tags_1) + /sizeof(asn_DEF_SecondOfTime_tags_1[0]), /* 1 */ + asn_DEF_SecondOfTime_tags_1, /* Same as above */ + sizeof(asn_DEF_SecondOfTime_tags_1) + /sizeof(asn_DEF_SecondOfTime_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SecondOfTime_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SecondOfTime_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SecondOfTime_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SecondOfTime.h b/src/tmx/Asn_J2735/src/r2024/SecondOfTime.h deleted file mode 100644 index 930fcfc1a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SecondOfTime.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataManagement" - * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SecondOfTime_H_ -#define _SecondOfTime_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SecondOfTime */ -typedef long SecondOfTime_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SecondOfTime_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SecondOfTime; -asn_struct_free_f SecondOfTime_free; -asn_struct_print_f SecondOfTime_print; -asn_constr_check_f SecondOfTime_constraint; -ber_type_decoder_f SecondOfTime_decode_ber; -der_type_encoder_f SecondOfTime_encode_der; -xer_type_decoder_f SecondOfTime_decode_xer; -xer_type_encoder_f SecondOfTime_encode_xer; -oer_type_decoder_f SecondOfTime_decode_oer; -oer_type_encoder_f SecondOfTime_encode_oer; -per_type_decoder_f SecondOfTime_decode_uper; -per_type_encoder_f SecondOfTime_encode_uper; -per_type_decoder_f SecondOfTime_decode_aper; -per_type_encoder_f SecondOfTime_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SecondOfTime_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SecondsAngle.c b/src/tmx/Asn_J2735/src/r2024/SecondsAngle.c new file mode 100644 index 000000000..47ae330ff --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SecondsAngle.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SecondsAngle.h" + +int +SecondsAngle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 5999L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SecondsAngle_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..5999) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SecondsAngle_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 13, 13, 0, 5999 } /* (0..5999) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SecondsAngle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SecondsAngle = { + "SecondsAngle", + "SecondsAngle", + &asn_OP_NativeInteger, + asn_DEF_SecondsAngle_tags_1, + sizeof(asn_DEF_SecondsAngle_tags_1) + /sizeof(asn_DEF_SecondsAngle_tags_1[0]), /* 1 */ + asn_DEF_SecondsAngle_tags_1, /* Same as above */ + sizeof(asn_DEF_SecondsAngle_tags_1) + /sizeof(asn_DEF_SecondsAngle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SecondsAngle_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SecondsAngle_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SecondsAngle_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SecondsAngle.h b/src/tmx/Asn_J2735/src/r2024/SecondsAngle.h deleted file mode 100644 index a1c542a1c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SecondsAngle.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SecondsAngle_H_ -#define _SecondsAngle_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SecondsAngle */ -typedef long SecondsAngle_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SecondsAngle_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SecondsAngle; -asn_struct_free_f SecondsAngle_free; -asn_struct_print_f SecondsAngle_print; -asn_constr_check_f SecondsAngle_constraint; -ber_type_decoder_f SecondsAngle_decode_ber; -der_type_encoder_f SecondsAngle_encode_der; -xer_type_decoder_f SecondsAngle_decode_xer; -xer_type_encoder_f SecondsAngle_encode_xer; -oer_type_decoder_f SecondsAngle_decode_oer; -oer_type_encoder_f SecondsAngle_encode_oer; -per_type_decoder_f SecondsAngle_decode_uper; -per_type_encoder_f SecondsAngle_encode_uper; -per_type_decoder_f SecondsAngle_decode_aper; -per_type_encoder_f SecondsAngle_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SecondsAngle_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Segment.c b/src/tmx/Asn_J2735/src/r2024/Segment.c new file mode 100644 index 000000000..263aaf413 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Segment.c @@ -0,0 +1,207 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Segment.h" + +static int +memb_chargingSegment_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 999UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_chargingSegment_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_chargingSegment_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 999 } /* (SIZE(1..999,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_chargingSegment_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_chargingSegment_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 999 } /* (SIZE(1..999,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_chargingSegment_3[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TollAdvertisementMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_chargingSegment_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_chargingSegment_specs_3 = { + sizeof(struct Segment__chargingSegment), + offsetof(struct Segment__chargingSegment, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_chargingSegment_3 = { + "chargingSegment", + "chargingSegment", + &asn_OP_SEQUENCE_OF, + asn_DEF_chargingSegment_tags_3, + sizeof(asn_DEF_chargingSegment_tags_3) + /sizeof(asn_DEF_chargingSegment_tags_3[0]) - 1, /* 1 */ + asn_DEF_chargingSegment_tags_3, /* Same as above */ + sizeof(asn_DEF_chargingSegment_tags_3) + /sizeof(asn_DEF_chargingSegment_tags_3[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_chargingSegment_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_chargingSegment_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_chargingSegment_3, + 1, /* Single element */ + &asn_SPC_chargingSegment_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_Segment_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Segment, segmentID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OBJECT_IDENTIFIER, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "segmentID" + }, + { ATF_NOFLAGS, 0, offsetof(struct Segment, chargingSegment), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_chargingSegment_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_chargingSegment_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_chargingSegment_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_chargingSegment_constraint_1 + }, + 0, 0, /* No default value */ + "chargingSegment" + }, + { ATF_POINTER, 1, offsetof(struct Segment, chargingUnits), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ChargingUnits, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargingUnits" + }, +}; +static const int asn_MAP_Segment_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_Segment_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Segment_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* segmentID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* chargingSegment */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* chargingUnits */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Segment_specs_1 = { + sizeof(struct Segment), + offsetof(struct Segment, _asn_ctx), + asn_MAP_Segment_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Segment_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Segment = { + "Segment", + "Segment", + &asn_OP_SEQUENCE, + asn_DEF_Segment_tags_1, + sizeof(asn_DEF_Segment_tags_1) + /sizeof(asn_DEF_Segment_tags_1[0]), /* 1 */ + asn_DEF_Segment_tags_1, /* Same as above */ + sizeof(asn_DEF_Segment_tags_1) + /sizeof(asn_DEF_Segment_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Segment_1, + 3, /* Elements count */ + &asn_SPC_Segment_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Segment.h b/src/tmx/Asn_J2735/src/r2024/Segment.h deleted file mode 100644 index a4599cefc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Segment.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Segment_H_ -#define _Segment_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OBJECT_IDENTIFIER.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct ChargingUnits; -struct TollAdvertisementMessage; - -/* Segment */ -typedef struct Segment { - OBJECT_IDENTIFIER_t segmentID; - struct Segment__chargingSegment { - A_SEQUENCE_OF(struct TollAdvertisementMessage) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } chargingSegment; - struct ChargingUnits *chargingUnits; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Segment_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Segment; -extern asn_SEQUENCE_specifics_t asn_SPC_Segment_specs_1; -extern asn_TYPE_member_t asn_MBR_Segment_1[3]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "ChargingUnits.h" -#include "TollAdvertisementMessage.h" - -#endif /* _Segment_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SegmentAttributeLL.c b/src/tmx/Asn_J2735/src/r2024/SegmentAttributeLL.c new file mode 100644 index 000000000..c0b369929 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SegmentAttributeLL.c @@ -0,0 +1,142 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SegmentAttributeLL.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SegmentAttributeLL_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SegmentAttributeLL_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 6, 6, 0, 37 } /* (0..37,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_SegmentAttributeLL_value2enum_1[] = { + { 0, 8, "reserved" }, + { 1, 10, "doNotBlock" }, + { 2, 9, "whiteLine" }, + { 3, 15, "mergingLaneLeft" }, + { 4, 16, "mergingLaneRight" }, + { 5, 10, "curbOnLeft" }, + { 6, 11, "curbOnRight" }, + { 7, 17, "loadingzoneOnLeft" }, + { 8, 18, "loadingzoneOnRight" }, + { 9, 18, "turnOutPointOnLeft" }, + { 10, 19, "turnOutPointOnRight" }, + { 11, 21, "adjacentParkingOnLeft" }, + { 12, 22, "adjacentParkingOnRight" }, + { 13, 22, "adjacentBikeLaneOnLeft" }, + { 14, 23, "adjacentBikeLaneOnRight" }, + { 15, 14, "sharedBikeLane" }, + { 16, 14, "bikeBoxInFront" }, + { 17, 17, "transitStopOnLeft" }, + { 18, 18, "transitStopOnRight" }, + { 19, 17, "transitStopInLane" }, + { 20, 24, "sharedWithTrackedVehicle" }, + { 21, 10, "safeIsland" }, + { 22, 15, "lowCurbsPresent" }, + { 23, 18, "rumbleStripPresent" }, + { 24, 23, "audibleSignalingPresent" }, + { 25, 21, "adaptiveTimingPresent" }, + { 26, 22, "rfSignalRequestPresent" }, + { 27, 20, "partialCurbIntrusion" }, + { 28, 11, "taperToLeft" }, + { 29, 12, "taperToRight" }, + { 30, 17, "taperToCenterLine" }, + { 31, 15, "parallelParking" }, + { 32, 13, "headInParking" }, + { 33, 11, "freeParking" }, + { 34, 25, "timeRestrictionsOnParking" }, + { 35, 10, "costToPark" }, + { 36, 19, "midBlockCurbPresent" }, + { 37, 21, "unEvenPavementPresent" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_SegmentAttributeLL_enum2value_1[] = { + 25, /* adaptiveTimingPresent(25) */ + 13, /* adjacentBikeLaneOnLeft(13) */ + 14, /* adjacentBikeLaneOnRight(14) */ + 11, /* adjacentParkingOnLeft(11) */ + 12, /* adjacentParkingOnRight(12) */ + 24, /* audibleSignalingPresent(24) */ + 16, /* bikeBoxInFront(16) */ + 35, /* costToPark(35) */ + 5, /* curbOnLeft(5) */ + 6, /* curbOnRight(6) */ + 1, /* doNotBlock(1) */ + 33, /* freeParking(33) */ + 32, /* headInParking(32) */ + 7, /* loadingzoneOnLeft(7) */ + 8, /* loadingzoneOnRight(8) */ + 22, /* lowCurbsPresent(22) */ + 3, /* mergingLaneLeft(3) */ + 4, /* mergingLaneRight(4) */ + 36, /* midBlockCurbPresent(36) */ + 31, /* parallelParking(31) */ + 27, /* partialCurbIntrusion(27) */ + 0, /* reserved(0) */ + 26, /* rfSignalRequestPresent(26) */ + 23, /* rumbleStripPresent(23) */ + 21, /* safeIsland(21) */ + 15, /* sharedBikeLane(15) */ + 20, /* sharedWithTrackedVehicle(20) */ + 30, /* taperToCenterLine(30) */ + 28, /* taperToLeft(28) */ + 29, /* taperToRight(29) */ + 34, /* timeRestrictionsOnParking(34) */ + 19, /* transitStopInLane(19) */ + 17, /* transitStopOnLeft(17) */ + 18, /* transitStopOnRight(18) */ + 9, /* turnOutPointOnLeft(9) */ + 10, /* turnOutPointOnRight(10) */ + 37, /* unEvenPavementPresent(37) */ + 2 /* whiteLine(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_SegmentAttributeLL_specs_1 = { + asn_MAP_SegmentAttributeLL_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SegmentAttributeLL_enum2value_1, /* N => "tag"; sorted by N */ + 38, /* Number of elements in the maps */ + 39, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SegmentAttributeLL_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SegmentAttributeLL = { + "SegmentAttributeLL", + "SegmentAttributeLL", + &asn_OP_NativeEnumerated, + asn_DEF_SegmentAttributeLL_tags_1, + sizeof(asn_DEF_SegmentAttributeLL_tags_1) + /sizeof(asn_DEF_SegmentAttributeLL_tags_1[0]), /* 1 */ + asn_DEF_SegmentAttributeLL_tags_1, /* Same as above */ + sizeof(asn_DEF_SegmentAttributeLL_tags_1) + /sizeof(asn_DEF_SegmentAttributeLL_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SegmentAttributeLL_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SegmentAttributeLL_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SegmentAttributeLL_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SegmentAttributeLL.h b/src/tmx/Asn_J2735/src/r2024/SegmentAttributeLL.h deleted file mode 100644 index b28ddb75d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SegmentAttributeLL.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SegmentAttributeLL_H_ -#define _SegmentAttributeLL_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SegmentAttributeLL { - SegmentAttributeLL_reserved = 0, - SegmentAttributeLL_doNotBlock = 1, - SegmentAttributeLL_whiteLine = 2, - SegmentAttributeLL_mergingLaneLeft = 3, - SegmentAttributeLL_mergingLaneRight = 4, - SegmentAttributeLL_curbOnLeft = 5, - SegmentAttributeLL_curbOnRight = 6, - SegmentAttributeLL_loadingzoneOnLeft = 7, - SegmentAttributeLL_loadingzoneOnRight = 8, - SegmentAttributeLL_turnOutPointOnLeft = 9, - SegmentAttributeLL_turnOutPointOnRight = 10, - SegmentAttributeLL_adjacentParkingOnLeft = 11, - SegmentAttributeLL_adjacentParkingOnRight = 12, - SegmentAttributeLL_adjacentBikeLaneOnLeft = 13, - SegmentAttributeLL_adjacentBikeLaneOnRight = 14, - SegmentAttributeLL_sharedBikeLane = 15, - SegmentAttributeLL_bikeBoxInFront = 16, - SegmentAttributeLL_transitStopOnLeft = 17, - SegmentAttributeLL_transitStopOnRight = 18, - SegmentAttributeLL_transitStopInLane = 19, - SegmentAttributeLL_sharedWithTrackedVehicle = 20, - SegmentAttributeLL_safeIsland = 21, - SegmentAttributeLL_lowCurbsPresent = 22, - SegmentAttributeLL_rumbleStripPresent = 23, - SegmentAttributeLL_audibleSignalingPresent = 24, - SegmentAttributeLL_adaptiveTimingPresent = 25, - SegmentAttributeLL_rfSignalRequestPresent = 26, - SegmentAttributeLL_partialCurbIntrusion = 27, - SegmentAttributeLL_taperToLeft = 28, - SegmentAttributeLL_taperToRight = 29, - SegmentAttributeLL_taperToCenterLine = 30, - SegmentAttributeLL_parallelParking = 31, - SegmentAttributeLL_headInParking = 32, - SegmentAttributeLL_freeParking = 33, - SegmentAttributeLL_timeRestrictionsOnParking = 34, - SegmentAttributeLL_costToPark = 35, - SegmentAttributeLL_midBlockCurbPresent = 36, - SegmentAttributeLL_unEvenPavementPresent = 37 - /* - * Enumeration is extensible - */ -} e_SegmentAttributeLL; - -/* SegmentAttributeLL */ -typedef long SegmentAttributeLL_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SegmentAttributeLL_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SegmentAttributeLL; -extern const asn_INTEGER_specifics_t asn_SPC_SegmentAttributeLL_specs_1; -asn_struct_free_f SegmentAttributeLL_free; -asn_struct_print_f SegmentAttributeLL_print; -asn_constr_check_f SegmentAttributeLL_constraint; -ber_type_decoder_f SegmentAttributeLL_decode_ber; -der_type_encoder_f SegmentAttributeLL_encode_der; -xer_type_decoder_f SegmentAttributeLL_decode_xer; -xer_type_encoder_f SegmentAttributeLL_encode_xer; -oer_type_decoder_f SegmentAttributeLL_decode_oer; -oer_type_encoder_f SegmentAttributeLL_encode_oer; -per_type_decoder_f SegmentAttributeLL_decode_uper; -per_type_encoder_f SegmentAttributeLL_encode_uper; -per_type_decoder_f SegmentAttributeLL_decode_aper; -per_type_encoder_f SegmentAttributeLL_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SegmentAttributeLL_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SegmentAttributeLLList.c b/src/tmx/Asn_J2735/src/r2024/SegmentAttributeLLList.c new file mode 100644 index 000000000..1b0afba73 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SegmentAttributeLLList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SegmentAttributeLLList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SegmentAttributeLLList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SegmentAttributeLLList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_SegmentAttributeLLList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SegmentAttributeLL, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_SegmentAttributeLLList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_SegmentAttributeLLList_specs_1 = { + sizeof(struct SegmentAttributeLLList), + offsetof(struct SegmentAttributeLLList, _asn_ctx), + 1, /* XER encoding is XMLValueList */ +}; +asn_TYPE_descriptor_t asn_DEF_SegmentAttributeLLList = { + "SegmentAttributeLLList", + "SegmentAttributeLLList", + &asn_OP_SEQUENCE_OF, + asn_DEF_SegmentAttributeLLList_tags_1, + sizeof(asn_DEF_SegmentAttributeLLList_tags_1) + /sizeof(asn_DEF_SegmentAttributeLLList_tags_1[0]), /* 1 */ + asn_DEF_SegmentAttributeLLList_tags_1, /* Same as above */ + sizeof(asn_DEF_SegmentAttributeLLList_tags_1) + /sizeof(asn_DEF_SegmentAttributeLLList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SegmentAttributeLLList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SegmentAttributeLLList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_SegmentAttributeLLList_1, + 1, /* Single element */ + &asn_SPC_SegmentAttributeLLList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SegmentAttributeLLList.h b/src/tmx/Asn_J2735/src/r2024/SegmentAttributeLLList.h deleted file mode 100644 index 109fe3c97..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SegmentAttributeLLList.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SegmentAttributeLLList_H_ -#define _SegmentAttributeLLList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SegmentAttributeLL.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SegmentAttributeLLList */ -typedef struct SegmentAttributeLLList { - A_SEQUENCE_OF(SegmentAttributeLL_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SegmentAttributeLLList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SegmentAttributeLLList; -extern asn_SET_OF_specifics_t asn_SPC_SegmentAttributeLLList_specs_1; -extern asn_TYPE_member_t asn_MBR_SegmentAttributeLLList_1[1]; -extern asn_per_constraints_t asn_PER_type_SegmentAttributeLLList_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _SegmentAttributeLLList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SegmentAttributeXY.c b/src/tmx/Asn_J2735/src/r2024/SegmentAttributeXY.c new file mode 100644 index 000000000..6e83083b3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SegmentAttributeXY.c @@ -0,0 +1,142 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SegmentAttributeXY.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SegmentAttributeXY_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SegmentAttributeXY_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 6, 6, 0, 37 } /* (0..37,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_SegmentAttributeXY_value2enum_1[] = { + { 0, 8, "reserved" }, + { 1, 10, "doNotBlock" }, + { 2, 9, "whiteLine" }, + { 3, 15, "mergingLaneLeft" }, + { 4, 16, "mergingLaneRight" }, + { 5, 10, "curbOnLeft" }, + { 6, 11, "curbOnRight" }, + { 7, 17, "loadingzoneOnLeft" }, + { 8, 18, "loadingzoneOnRight" }, + { 9, 18, "turnOutPointOnLeft" }, + { 10, 19, "turnOutPointOnRight" }, + { 11, 21, "adjacentParkingOnLeft" }, + { 12, 22, "adjacentParkingOnRight" }, + { 13, 22, "adjacentBikeLaneOnLeft" }, + { 14, 23, "adjacentBikeLaneOnRight" }, + { 15, 14, "sharedBikeLane" }, + { 16, 14, "bikeBoxInFront" }, + { 17, 17, "transitStopOnLeft" }, + { 18, 18, "transitStopOnRight" }, + { 19, 17, "transitStopInLane" }, + { 20, 24, "sharedWithTrackedVehicle" }, + { 21, 10, "safeIsland" }, + { 22, 15, "lowCurbsPresent" }, + { 23, 18, "rumbleStripPresent" }, + { 24, 23, "audibleSignalingPresent" }, + { 25, 21, "adaptiveTimingPresent" }, + { 26, 22, "rfSignalRequestPresent" }, + { 27, 20, "partialCurbIntrusion" }, + { 28, 11, "taperToLeft" }, + { 29, 12, "taperToRight" }, + { 30, 17, "taperToCenterLine" }, + { 31, 15, "parallelParking" }, + { 32, 13, "headInParking" }, + { 33, 11, "freeParking" }, + { 34, 25, "timeRestrictionsOnParking" }, + { 35, 10, "costToPark" }, + { 36, 19, "midBlockCurbPresent" }, + { 37, 21, "unEvenPavementPresent" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_SegmentAttributeXY_enum2value_1[] = { + 25, /* adaptiveTimingPresent(25) */ + 13, /* adjacentBikeLaneOnLeft(13) */ + 14, /* adjacentBikeLaneOnRight(14) */ + 11, /* adjacentParkingOnLeft(11) */ + 12, /* adjacentParkingOnRight(12) */ + 24, /* audibleSignalingPresent(24) */ + 16, /* bikeBoxInFront(16) */ + 35, /* costToPark(35) */ + 5, /* curbOnLeft(5) */ + 6, /* curbOnRight(6) */ + 1, /* doNotBlock(1) */ + 33, /* freeParking(33) */ + 32, /* headInParking(32) */ + 7, /* loadingzoneOnLeft(7) */ + 8, /* loadingzoneOnRight(8) */ + 22, /* lowCurbsPresent(22) */ + 3, /* mergingLaneLeft(3) */ + 4, /* mergingLaneRight(4) */ + 36, /* midBlockCurbPresent(36) */ + 31, /* parallelParking(31) */ + 27, /* partialCurbIntrusion(27) */ + 0, /* reserved(0) */ + 26, /* rfSignalRequestPresent(26) */ + 23, /* rumbleStripPresent(23) */ + 21, /* safeIsland(21) */ + 15, /* sharedBikeLane(15) */ + 20, /* sharedWithTrackedVehicle(20) */ + 30, /* taperToCenterLine(30) */ + 28, /* taperToLeft(28) */ + 29, /* taperToRight(29) */ + 34, /* timeRestrictionsOnParking(34) */ + 19, /* transitStopInLane(19) */ + 17, /* transitStopOnLeft(17) */ + 18, /* transitStopOnRight(18) */ + 9, /* turnOutPointOnLeft(9) */ + 10, /* turnOutPointOnRight(10) */ + 37, /* unEvenPavementPresent(37) */ + 2 /* whiteLine(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_SegmentAttributeXY_specs_1 = { + asn_MAP_SegmentAttributeXY_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SegmentAttributeXY_enum2value_1, /* N => "tag"; sorted by N */ + 38, /* Number of elements in the maps */ + 39, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SegmentAttributeXY_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SegmentAttributeXY = { + "SegmentAttributeXY", + "SegmentAttributeXY", + &asn_OP_NativeEnumerated, + asn_DEF_SegmentAttributeXY_tags_1, + sizeof(asn_DEF_SegmentAttributeXY_tags_1) + /sizeof(asn_DEF_SegmentAttributeXY_tags_1[0]), /* 1 */ + asn_DEF_SegmentAttributeXY_tags_1, /* Same as above */ + sizeof(asn_DEF_SegmentAttributeXY_tags_1) + /sizeof(asn_DEF_SegmentAttributeXY_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SegmentAttributeXY_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SegmentAttributeXY_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SegmentAttributeXY_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SegmentAttributeXY.h b/src/tmx/Asn_J2735/src/r2024/SegmentAttributeXY.h deleted file mode 100644 index d4beb2fa6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SegmentAttributeXY.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SegmentAttributeXY_H_ -#define _SegmentAttributeXY_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SegmentAttributeXY { - SegmentAttributeXY_reserved = 0, - SegmentAttributeXY_doNotBlock = 1, - SegmentAttributeXY_whiteLine = 2, - SegmentAttributeXY_mergingLaneLeft = 3, - SegmentAttributeXY_mergingLaneRight = 4, - SegmentAttributeXY_curbOnLeft = 5, - SegmentAttributeXY_curbOnRight = 6, - SegmentAttributeXY_loadingzoneOnLeft = 7, - SegmentAttributeXY_loadingzoneOnRight = 8, - SegmentAttributeXY_turnOutPointOnLeft = 9, - SegmentAttributeXY_turnOutPointOnRight = 10, - SegmentAttributeXY_adjacentParkingOnLeft = 11, - SegmentAttributeXY_adjacentParkingOnRight = 12, - SegmentAttributeXY_adjacentBikeLaneOnLeft = 13, - SegmentAttributeXY_adjacentBikeLaneOnRight = 14, - SegmentAttributeXY_sharedBikeLane = 15, - SegmentAttributeXY_bikeBoxInFront = 16, - SegmentAttributeXY_transitStopOnLeft = 17, - SegmentAttributeXY_transitStopOnRight = 18, - SegmentAttributeXY_transitStopInLane = 19, - SegmentAttributeXY_sharedWithTrackedVehicle = 20, - SegmentAttributeXY_safeIsland = 21, - SegmentAttributeXY_lowCurbsPresent = 22, - SegmentAttributeXY_rumbleStripPresent = 23, - SegmentAttributeXY_audibleSignalingPresent = 24, - SegmentAttributeXY_adaptiveTimingPresent = 25, - SegmentAttributeXY_rfSignalRequestPresent = 26, - SegmentAttributeXY_partialCurbIntrusion = 27, - SegmentAttributeXY_taperToLeft = 28, - SegmentAttributeXY_taperToRight = 29, - SegmentAttributeXY_taperToCenterLine = 30, - SegmentAttributeXY_parallelParking = 31, - SegmentAttributeXY_headInParking = 32, - SegmentAttributeXY_freeParking = 33, - SegmentAttributeXY_timeRestrictionsOnParking = 34, - SegmentAttributeXY_costToPark = 35, - SegmentAttributeXY_midBlockCurbPresent = 36, - SegmentAttributeXY_unEvenPavementPresent = 37 - /* - * Enumeration is extensible - */ -} e_SegmentAttributeXY; - -/* SegmentAttributeXY */ -typedef long SegmentAttributeXY_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SegmentAttributeXY_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SegmentAttributeXY; -extern const asn_INTEGER_specifics_t asn_SPC_SegmentAttributeXY_specs_1; -asn_struct_free_f SegmentAttributeXY_free; -asn_struct_print_f SegmentAttributeXY_print; -asn_constr_check_f SegmentAttributeXY_constraint; -ber_type_decoder_f SegmentAttributeXY_decode_ber; -der_type_encoder_f SegmentAttributeXY_encode_der; -xer_type_decoder_f SegmentAttributeXY_decode_xer; -xer_type_encoder_f SegmentAttributeXY_encode_xer; -oer_type_decoder_f SegmentAttributeXY_decode_oer; -oer_type_encoder_f SegmentAttributeXY_encode_oer; -per_type_decoder_f SegmentAttributeXY_decode_uper; -per_type_encoder_f SegmentAttributeXY_encode_uper; -per_type_decoder_f SegmentAttributeXY_decode_aper; -per_type_encoder_f SegmentAttributeXY_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SegmentAttributeXY_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SegmentAttributeXYList.c b/src/tmx/Asn_J2735/src/r2024/SegmentAttributeXYList.c new file mode 100644 index 000000000..c7b7b26dc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SegmentAttributeXYList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SegmentAttributeXYList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SegmentAttributeXYList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SegmentAttributeXYList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_SegmentAttributeXYList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), + 0, + &asn_DEF_SegmentAttributeXY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_SegmentAttributeXYList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_SegmentAttributeXYList_specs_1 = { + sizeof(struct SegmentAttributeXYList), + offsetof(struct SegmentAttributeXYList, _asn_ctx), + 1, /* XER encoding is XMLValueList */ +}; +asn_TYPE_descriptor_t asn_DEF_SegmentAttributeXYList = { + "SegmentAttributeXYList", + "SegmentAttributeXYList", + &asn_OP_SEQUENCE_OF, + asn_DEF_SegmentAttributeXYList_tags_1, + sizeof(asn_DEF_SegmentAttributeXYList_tags_1) + /sizeof(asn_DEF_SegmentAttributeXYList_tags_1[0]), /* 1 */ + asn_DEF_SegmentAttributeXYList_tags_1, /* Same as above */ + sizeof(asn_DEF_SegmentAttributeXYList_tags_1) + /sizeof(asn_DEF_SegmentAttributeXYList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SegmentAttributeXYList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SegmentAttributeXYList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_SegmentAttributeXYList_1, + 1, /* Single element */ + &asn_SPC_SegmentAttributeXYList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SegmentAttributeXYList.h b/src/tmx/Asn_J2735/src/r2024/SegmentAttributeXYList.h deleted file mode 100644 index 9e64573b3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SegmentAttributeXYList.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SegmentAttributeXYList_H_ -#define _SegmentAttributeXYList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SegmentAttributeXY.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SegmentAttributeXYList */ -typedef struct SegmentAttributeXYList { - A_SEQUENCE_OF(SegmentAttributeXY_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SegmentAttributeXYList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SegmentAttributeXYList; -extern asn_SET_OF_specifics_t asn_SPC_SegmentAttributeXYList_specs_1; -extern asn_TYPE_member_t asn_MBR_SegmentAttributeXYList_1[1]; -extern asn_per_constraints_t asn_PER_type_SegmentAttributeXYList_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _SegmentAttributeXYList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SemiMajorAxisAccuracy.c b/src/tmx/Asn_J2735/src/r2024/SemiMajorAxisAccuracy.c new file mode 100644 index 000000000..0daaebcfd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SemiMajorAxisAccuracy.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SemiMajorAxisAccuracy.h" + +int +SemiMajorAxisAccuracy_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SemiMajorAxisAccuracy_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SemiMajorAxisAccuracy_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SemiMajorAxisAccuracy_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SemiMajorAxisAccuracy = { + "SemiMajorAxisAccuracy", + "SemiMajorAxisAccuracy", + &asn_OP_NativeInteger, + asn_DEF_SemiMajorAxisAccuracy_tags_1, + sizeof(asn_DEF_SemiMajorAxisAccuracy_tags_1) + /sizeof(asn_DEF_SemiMajorAxisAccuracy_tags_1[0]), /* 1 */ + asn_DEF_SemiMajorAxisAccuracy_tags_1, /* Same as above */ + sizeof(asn_DEF_SemiMajorAxisAccuracy_tags_1) + /sizeof(asn_DEF_SemiMajorAxisAccuracy_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SemiMajorAxisAccuracy_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SemiMajorAxisAccuracy_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SemiMajorAxisAccuracy_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SemiMajorAxisAccuracy.h b/src/tmx/Asn_J2735/src/r2024/SemiMajorAxisAccuracy.h deleted file mode 100644 index e4e925d87..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SemiMajorAxisAccuracy.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SemiMajorAxisAccuracy_H_ -#define _SemiMajorAxisAccuracy_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SemiMajorAxisAccuracy */ -typedef long SemiMajorAxisAccuracy_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SemiMajorAxisAccuracy_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SemiMajorAxisAccuracy; -asn_struct_free_f SemiMajorAxisAccuracy_free; -asn_struct_print_f SemiMajorAxisAccuracy_print; -asn_constr_check_f SemiMajorAxisAccuracy_constraint; -ber_type_decoder_f SemiMajorAxisAccuracy_decode_ber; -der_type_encoder_f SemiMajorAxisAccuracy_encode_der; -xer_type_decoder_f SemiMajorAxisAccuracy_decode_xer; -xer_type_encoder_f SemiMajorAxisAccuracy_encode_xer; -oer_type_decoder_f SemiMajorAxisAccuracy_decode_oer; -oer_type_encoder_f SemiMajorAxisAccuracy_encode_oer; -per_type_decoder_f SemiMajorAxisAccuracy_decode_uper; -per_type_encoder_f SemiMajorAxisAccuracy_encode_uper; -per_type_decoder_f SemiMajorAxisAccuracy_decode_aper; -per_type_encoder_f SemiMajorAxisAccuracy_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SemiMajorAxisAccuracy_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SemiMajorAxisOrientation.c b/src/tmx/Asn_J2735/src/r2024/SemiMajorAxisOrientation.c new file mode 100644 index 000000000..ec9571597 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SemiMajorAxisOrientation.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SemiMajorAxisOrientation.h" + +int +SemiMajorAxisOrientation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SemiMajorAxisOrientation_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SemiMajorAxisOrientation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SemiMajorAxisOrientation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SemiMajorAxisOrientation = { + "SemiMajorAxisOrientation", + "SemiMajorAxisOrientation", + &asn_OP_NativeInteger, + asn_DEF_SemiMajorAxisOrientation_tags_1, + sizeof(asn_DEF_SemiMajorAxisOrientation_tags_1) + /sizeof(asn_DEF_SemiMajorAxisOrientation_tags_1[0]), /* 1 */ + asn_DEF_SemiMajorAxisOrientation_tags_1, /* Same as above */ + sizeof(asn_DEF_SemiMajorAxisOrientation_tags_1) + /sizeof(asn_DEF_SemiMajorAxisOrientation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SemiMajorAxisOrientation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SemiMajorAxisOrientation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SemiMajorAxisOrientation_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SemiMajorAxisOrientation.h b/src/tmx/Asn_J2735/src/r2024/SemiMajorAxisOrientation.h deleted file mode 100644 index 2a4a55e32..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SemiMajorAxisOrientation.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SemiMajorAxisOrientation_H_ -#define _SemiMajorAxisOrientation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SemiMajorAxisOrientation */ -typedef long SemiMajorAxisOrientation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SemiMajorAxisOrientation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SemiMajorAxisOrientation; -asn_struct_free_f SemiMajorAxisOrientation_free; -asn_struct_print_f SemiMajorAxisOrientation_print; -asn_constr_check_f SemiMajorAxisOrientation_constraint; -ber_type_decoder_f SemiMajorAxisOrientation_decode_ber; -der_type_encoder_f SemiMajorAxisOrientation_encode_der; -xer_type_decoder_f SemiMajorAxisOrientation_decode_xer; -xer_type_encoder_f SemiMajorAxisOrientation_encode_xer; -oer_type_decoder_f SemiMajorAxisOrientation_decode_oer; -oer_type_encoder_f SemiMajorAxisOrientation_encode_oer; -per_type_decoder_f SemiMajorAxisOrientation_decode_uper; -per_type_encoder_f SemiMajorAxisOrientation_encode_uper; -per_type_decoder_f SemiMajorAxisOrientation_decode_aper; -per_type_encoder_f SemiMajorAxisOrientation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SemiMajorAxisOrientation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SemiMinorAxisAccuracy.c b/src/tmx/Asn_J2735/src/r2024/SemiMinorAxisAccuracy.c new file mode 100644 index 000000000..9032e7f20 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SemiMinorAxisAccuracy.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SemiMinorAxisAccuracy.h" + +int +SemiMinorAxisAccuracy_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SemiMinorAxisAccuracy_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SemiMinorAxisAccuracy_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SemiMinorAxisAccuracy_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SemiMinorAxisAccuracy = { + "SemiMinorAxisAccuracy", + "SemiMinorAxisAccuracy", + &asn_OP_NativeInteger, + asn_DEF_SemiMinorAxisAccuracy_tags_1, + sizeof(asn_DEF_SemiMinorAxisAccuracy_tags_1) + /sizeof(asn_DEF_SemiMinorAxisAccuracy_tags_1[0]), /* 1 */ + asn_DEF_SemiMinorAxisAccuracy_tags_1, /* Same as above */ + sizeof(asn_DEF_SemiMinorAxisAccuracy_tags_1) + /sizeof(asn_DEF_SemiMinorAxisAccuracy_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SemiMinorAxisAccuracy_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SemiMinorAxisAccuracy_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SemiMinorAxisAccuracy_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SemiMinorAxisAccuracy.h b/src/tmx/Asn_J2735/src/r2024/SemiMinorAxisAccuracy.h deleted file mode 100644 index 11f25b744..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SemiMinorAxisAccuracy.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SemiMinorAxisAccuracy_H_ -#define _SemiMinorAxisAccuracy_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SemiMinorAxisAccuracy */ -typedef long SemiMinorAxisAccuracy_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SemiMinorAxisAccuracy_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SemiMinorAxisAccuracy; -asn_struct_free_f SemiMinorAxisAccuracy_free; -asn_struct_print_f SemiMinorAxisAccuracy_print; -asn_constr_check_f SemiMinorAxisAccuracy_constraint; -ber_type_decoder_f SemiMinorAxisAccuracy_decode_ber; -der_type_encoder_f SemiMinorAxisAccuracy_encode_der; -xer_type_decoder_f SemiMinorAxisAccuracy_decode_xer; -xer_type_encoder_f SemiMinorAxisAccuracy_encode_xer; -oer_type_decoder_f SemiMinorAxisAccuracy_decode_oer; -oer_type_encoder_f SemiMinorAxisAccuracy_encode_oer; -per_type_decoder_f SemiMinorAxisAccuracy_decode_uper; -per_type_encoder_f SemiMinorAxisAccuracy_encode_uper; -per_type_decoder_f SemiMinorAxisAccuracy_decode_aper; -per_type_encoder_f SemiMinorAxisAccuracy_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SemiMinorAxisAccuracy_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage.c b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage.c new file mode 100644 index 000000000..9975ad739 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage.c @@ -0,0 +1,194 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SensorDataSharingMessage.h" + +asn_TYPE_member_t asn_MBR_SensorDataSharingMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SensorDataSharingMessage, msgCnt), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msgCnt" + }, + { ATF_NOFLAGS, 0, offsetof(struct SensorDataSharingMessage, sourceID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sourceID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SensorDataSharingMessage, equipmentType), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EquipmentType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "equipmentType" + }, + { ATF_NOFLAGS, 0, offsetof(struct SensorDataSharingMessage, sDSMTimeStamp), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sDSMTimeStamp" + }, + { ATF_NOFLAGS, 0, offsetof(struct SensorDataSharingMessage, refPos), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "refPos" + }, + { ATF_NOFLAGS, 0, offsetof(struct SensorDataSharingMessage, refPosXYConf), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PositionalAccuracy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "refPosXYConf" + }, + { ATF_POINTER, 1, offsetof(struct SensorDataSharingMessage, refPosElConf), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ElevationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "refPosElConf" + }, + { ATF_NOFLAGS, 0, offsetof(struct SensorDataSharingMessage, objects), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DetectedObjectList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "objects" + }, +}; +static const int asn_MAP_SensorDataSharingMessage_oms_1[] = { 6 }; +static const ber_tlv_tag_t asn_DEF_SensorDataSharingMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SensorDataSharingMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* msgCnt */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* sourceID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* equipmentType */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* sDSMTimeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* refPos */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* refPosXYConf */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* refPosElConf */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* objects */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SensorDataSharingMessage_specs_1 = { + sizeof(struct SensorDataSharingMessage), + offsetof(struct SensorDataSharingMessage, _asn_ctx), + asn_MAP_SensorDataSharingMessage_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_SensorDataSharingMessage_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SensorDataSharingMessage = { + "SensorDataSharingMessage", + "SensorDataSharingMessage", + &asn_OP_SEQUENCE, + asn_DEF_SensorDataSharingMessage_tags_1, + sizeof(asn_DEF_SensorDataSharingMessage_tags_1) + /sizeof(asn_DEF_SensorDataSharingMessage_tags_1[0]), /* 1 */ + asn_DEF_SensorDataSharingMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_SensorDataSharingMessage_tags_1) + /sizeof(asn_DEF_SensorDataSharingMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SensorDataSharingMessage_1, + 8, /* Elements count */ + &asn_SPC_SensorDataSharingMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage.h b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage.h deleted file mode 100644 index 7a7a46846..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SensorDataSharingMessage_H_ -#define _SensorDataSharingMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_MsgCount.h" -#include "TemporaryID.h" -#include "EquipmentType.h" -#include "DDateTime.h" -#include "Position3D.h" -#include "PositionalAccuracy.h" -#include "ElevationConfidence.h" -#include "DetectedObjectList.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SensorDataSharingMessage */ -typedef struct SensorDataSharingMessage { - Common_MsgCount_t msgCnt; - TemporaryID_t sourceID; - EquipmentType_t equipmentType; - DDateTime_t sDSMTimeStamp; - Position3D_t refPos; - PositionalAccuracy_t refPosXYConf; - ElevationConfidence_t *refPosElConf; /* OPTIONAL */ - DetectedObjectList_t objects; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SensorDataSharingMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SensorDataSharingMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_SensorDataSharingMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_SensorDataSharingMessage_1[8]; - -#ifdef __cplusplus -} -#endif - -#endif /* _SensorDataSharingMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_ObjectDistance.c b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_ObjectDistance.c new file mode 100644 index 000000000..84e0c4965 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_ObjectDistance.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SensorDataSharingMessage_ObjectDistance.h" + +int +SensorDataSharingMessage_ObjectDistance_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32767L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SensorDataSharingMessage_ObjectDistance_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32767..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SensorDataSharingMessage_ObjectDistance_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32767, 32767 } /* (-32767..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SensorDataSharingMessage_ObjectDistance_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SensorDataSharingMessage_ObjectDistance = { + "ObjectDistance", + "ObjectDistance", + &asn_OP_NativeInteger, + asn_DEF_SensorDataSharingMessage_ObjectDistance_tags_1, + sizeof(asn_DEF_SensorDataSharingMessage_ObjectDistance_tags_1) + /sizeof(asn_DEF_SensorDataSharingMessage_ObjectDistance_tags_1[0]), /* 1 */ + asn_DEF_SensorDataSharingMessage_ObjectDistance_tags_1, /* Same as above */ + sizeof(asn_DEF_SensorDataSharingMessage_ObjectDistance_tags_1) + /sizeof(asn_DEF_SensorDataSharingMessage_ObjectDistance_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SensorDataSharingMessage_ObjectDistance_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SensorDataSharingMessage_ObjectDistance_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SensorDataSharingMessage_ObjectDistance_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_ObjectDistance.h b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_ObjectDistance.h deleted file mode 100644 index e206ae75e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_ObjectDistance.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SensorDataSharingMessage_ObjectDistance_H_ -#define _SensorDataSharingMessage_ObjectDistance_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SensorDataSharingMessage_ObjectDistance */ -typedef long SensorDataSharingMessage_ObjectDistance_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SensorDataSharingMessage_ObjectDistance_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SensorDataSharingMessage_ObjectDistance; -asn_struct_free_f SensorDataSharingMessage_ObjectDistance_free; -asn_struct_print_f SensorDataSharingMessage_ObjectDistance_print; -asn_constr_check_f SensorDataSharingMessage_ObjectDistance_constraint; -ber_type_decoder_f SensorDataSharingMessage_ObjectDistance_decode_ber; -der_type_encoder_f SensorDataSharingMessage_ObjectDistance_encode_der; -xer_type_decoder_f SensorDataSharingMessage_ObjectDistance_decode_xer; -xer_type_encoder_f SensorDataSharingMessage_ObjectDistance_encode_xer; -oer_type_decoder_f SensorDataSharingMessage_ObjectDistance_decode_oer; -oer_type_encoder_f SensorDataSharingMessage_ObjectDistance_encode_oer; -per_type_decoder_f SensorDataSharingMessage_ObjectDistance_decode_uper; -per_type_encoder_f SensorDataSharingMessage_ObjectDistance_encode_uper; -per_type_decoder_f SensorDataSharingMessage_ObjectDistance_decode_aper; -per_type_encoder_f SensorDataSharingMessage_ObjectDistance_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SensorDataSharingMessage_ObjectDistance_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PitchRate.c b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PitchRate.c new file mode 100644 index 000000000..40733aafe --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PitchRate.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SensorDataSharingMessage_PitchRate.h" + +int +SensorDataSharingMessage_PitchRate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32767L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SensorDataSharingMessage_PitchRate_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32767..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SensorDataSharingMessage_PitchRate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32767, 32767 } /* (-32767..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SensorDataSharingMessage_PitchRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SensorDataSharingMessage_PitchRate = { + "PitchRate", + "PitchRate", + &asn_OP_NativeInteger, + asn_DEF_SensorDataSharingMessage_PitchRate_tags_1, + sizeof(asn_DEF_SensorDataSharingMessage_PitchRate_tags_1) + /sizeof(asn_DEF_SensorDataSharingMessage_PitchRate_tags_1[0]), /* 1 */ + asn_DEF_SensorDataSharingMessage_PitchRate_tags_1, /* Same as above */ + sizeof(asn_DEF_SensorDataSharingMessage_PitchRate_tags_1) + /sizeof(asn_DEF_SensorDataSharingMessage_PitchRate_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SensorDataSharingMessage_PitchRate_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SensorDataSharingMessage_PitchRate_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SensorDataSharingMessage_PitchRate_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PitchRate.h b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PitchRate.h deleted file mode 100644 index d13c9abcf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PitchRate.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SensorDataSharingMessage_PitchRate_H_ -#define _SensorDataSharingMessage_PitchRate_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SensorDataSharingMessage_PitchRate */ -typedef long SensorDataSharingMessage_PitchRate_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SensorDataSharingMessage_PitchRate_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SensorDataSharingMessage_PitchRate; -asn_struct_free_f SensorDataSharingMessage_PitchRate_free; -asn_struct_print_f SensorDataSharingMessage_PitchRate_print; -asn_constr_check_f SensorDataSharingMessage_PitchRate_constraint; -ber_type_decoder_f SensorDataSharingMessage_PitchRate_decode_ber; -der_type_encoder_f SensorDataSharingMessage_PitchRate_encode_der; -xer_type_decoder_f SensorDataSharingMessage_PitchRate_decode_xer; -xer_type_encoder_f SensorDataSharingMessage_PitchRate_encode_xer; -oer_type_decoder_f SensorDataSharingMessage_PitchRate_decode_oer; -oer_type_encoder_f SensorDataSharingMessage_PitchRate_encode_oer; -per_type_decoder_f SensorDataSharingMessage_PitchRate_decode_uper; -per_type_encoder_f SensorDataSharingMessage_PitchRate_encode_uper; -per_type_decoder_f SensorDataSharingMessage_PitchRate_decode_aper; -per_type_encoder_f SensorDataSharingMessage_PitchRate_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SensorDataSharingMessage_PitchRate_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PositionOffsetXYZ.c b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PositionOffsetXYZ.c new file mode 100644 index 000000000..ec0d5d510 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PositionOffsetXYZ.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SensorDataSharingMessage_PositionOffsetXYZ.h" + +asn_TYPE_member_t asn_MBR_SensorDataSharingMessage_PositionOffsetXYZ_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SensorDataSharingMessage_PositionOffsetXYZ, offsetX), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SensorDataSharingMessage_ObjectDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offsetX" + }, + { ATF_NOFLAGS, 0, offsetof(struct SensorDataSharingMessage_PositionOffsetXYZ, offsetY), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SensorDataSharingMessage_ObjectDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offsetY" + }, + { ATF_POINTER, 1, offsetof(struct SensorDataSharingMessage_PositionOffsetXYZ, offsetZ), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SensorDataSharingMessage_ObjectDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offsetZ" + }, +}; +static const int asn_MAP_SensorDataSharingMessage_PositionOffsetXYZ_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_SensorDataSharingMessage_PositionOffsetXYZ_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SensorDataSharingMessage_PositionOffsetXYZ_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* offsetX */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* offsetY */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* offsetZ */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SensorDataSharingMessage_PositionOffsetXYZ_specs_1 = { + sizeof(struct SensorDataSharingMessage_PositionOffsetXYZ), + offsetof(struct SensorDataSharingMessage_PositionOffsetXYZ, _asn_ctx), + asn_MAP_SensorDataSharingMessage_PositionOffsetXYZ_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_SensorDataSharingMessage_PositionOffsetXYZ_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SensorDataSharingMessage_PositionOffsetXYZ = { + "PositionOffsetXYZ", + "PositionOffsetXYZ", + &asn_OP_SEQUENCE, + asn_DEF_SensorDataSharingMessage_PositionOffsetXYZ_tags_1, + sizeof(asn_DEF_SensorDataSharingMessage_PositionOffsetXYZ_tags_1) + /sizeof(asn_DEF_SensorDataSharingMessage_PositionOffsetXYZ_tags_1[0]), /* 1 */ + asn_DEF_SensorDataSharingMessage_PositionOffsetXYZ_tags_1, /* Same as above */ + sizeof(asn_DEF_SensorDataSharingMessage_PositionOffsetXYZ_tags_1) + /sizeof(asn_DEF_SensorDataSharingMessage_PositionOffsetXYZ_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SensorDataSharingMessage_PositionOffsetXYZ_1, + 3, /* Elements count */ + &asn_SPC_SensorDataSharingMessage_PositionOffsetXYZ_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PositionOffsetXYZ.h b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PositionOffsetXYZ.h deleted file mode 100644 index 6287c0d80..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_PositionOffsetXYZ.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SensorDataSharingMessage_PositionOffsetXYZ_H_ -#define _SensorDataSharingMessage_PositionOffsetXYZ_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SensorDataSharingMessage_ObjectDistance.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SensorDataSharingMessage_PositionOffsetXYZ */ -typedef struct SensorDataSharingMessage_PositionOffsetXYZ { - SensorDataSharingMessage_ObjectDistance_t offsetX; - SensorDataSharingMessage_ObjectDistance_t offsetY; - SensorDataSharingMessage_ObjectDistance_t *offsetZ; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SensorDataSharingMessage_PositionOffsetXYZ_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SensorDataSharingMessage_PositionOffsetXYZ; -extern asn_SEQUENCE_specifics_t asn_SPC_SensorDataSharingMessage_PositionOffsetXYZ_specs_1; -extern asn_TYPE_member_t asn_MBR_SensorDataSharingMessage_PositionOffsetXYZ_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _SensorDataSharingMessage_PositionOffsetXYZ_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_RollRate.c b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_RollRate.c new file mode 100644 index 000000000..f92ddc771 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_RollRate.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SensorDataSharingMessage_RollRate.h" + +int +SensorDataSharingMessage_RollRate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32767L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SensorDataSharingMessage_RollRate_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32767..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SensorDataSharingMessage_RollRate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32767, 32767 } /* (-32767..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SensorDataSharingMessage_RollRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SensorDataSharingMessage_RollRate = { + "RollRate", + "RollRate", + &asn_OP_NativeInteger, + asn_DEF_SensorDataSharingMessage_RollRate_tags_1, + sizeof(asn_DEF_SensorDataSharingMessage_RollRate_tags_1) + /sizeof(asn_DEF_SensorDataSharingMessage_RollRate_tags_1[0]), /* 1 */ + asn_DEF_SensorDataSharingMessage_RollRate_tags_1, /* Same as above */ + sizeof(asn_DEF_SensorDataSharingMessage_RollRate_tags_1) + /sizeof(asn_DEF_SensorDataSharingMessage_RollRate_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SensorDataSharingMessage_RollRate_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SensorDataSharingMessage_RollRate_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SensorDataSharingMessage_RollRate_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_RollRate.h b/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_RollRate.h deleted file mode 100644 index 541faa240..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SensorDataSharingMessage_RollRate.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SensorDataSharingMessage_RollRate_H_ -#define _SensorDataSharingMessage_RollRate_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SensorDataSharingMessage_RollRate */ -typedef long SensorDataSharingMessage_RollRate_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SensorDataSharingMessage_RollRate_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SensorDataSharingMessage_RollRate; -asn_struct_free_f SensorDataSharingMessage_RollRate_free; -asn_struct_print_f SensorDataSharingMessage_RollRate_print; -asn_constr_check_f SensorDataSharingMessage_RollRate_constraint; -ber_type_decoder_f SensorDataSharingMessage_RollRate_decode_ber; -der_type_encoder_f SensorDataSharingMessage_RollRate_encode_der; -xer_type_decoder_f SensorDataSharingMessage_RollRate_decode_xer; -xer_type_encoder_f SensorDataSharingMessage_RollRate_encode_xer; -oer_type_decoder_f SensorDataSharingMessage_RollRate_decode_oer; -oer_type_encoder_f SensorDataSharingMessage_RollRate_encode_oer; -per_type_decoder_f SensorDataSharingMessage_RollRate_decode_uper; -per_type_encoder_f SensorDataSharingMessage_RollRate_encode_uper; -per_type_decoder_f SensorDataSharingMessage_RollRate_decode_aper; -per_type_encoder_f SensorDataSharingMessage_RollRate_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SensorDataSharingMessage_RollRate_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SeparationDistance.c b/src/tmx/Asn_J2735/src/r2024/SeparationDistance.c new file mode 100644 index 000000000..8199130c0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SeparationDistance.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SeparationDistance.h" + +int +SeparationDistance_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 2001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SeparationDistance_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..2001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SeparationDistance_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 0, 2001 } /* (0..2001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SeparationDistance_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SeparationDistance = { + "SeparationDistance", + "SeparationDistance", + &asn_OP_NativeInteger, + asn_DEF_SeparationDistance_tags_1, + sizeof(asn_DEF_SeparationDistance_tags_1) + /sizeof(asn_DEF_SeparationDistance_tags_1[0]), /* 1 */ + asn_DEF_SeparationDistance_tags_1, /* Same as above */ + sizeof(asn_DEF_SeparationDistance_tags_1) + /sizeof(asn_DEF_SeparationDistance_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SeparationDistance_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SeparationDistance_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SeparationDistance_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SeparationDistance.h b/src/tmx/Asn_J2735/src/r2024/SeparationDistance.h deleted file mode 100644 index 8e45c6f1d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SeparationDistance.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SeparationDistance_H_ -#define _SeparationDistance_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SeparationDistance */ -typedef long SeparationDistance_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SeparationDistance_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SeparationDistance; -asn_struct_free_f SeparationDistance_free; -asn_struct_print_f SeparationDistance_print; -asn_constr_check_f SeparationDistance_constraint; -ber_type_decoder_f SeparationDistance_decode_ber; -der_type_encoder_f SeparationDistance_encode_der; -xer_type_decoder_f SeparationDistance_decode_xer; -xer_type_encoder_f SeparationDistance_encode_xer; -oer_type_decoder_f SeparationDistance_decode_oer; -oer_type_encoder_f SeparationDistance_encode_oer; -per_type_decoder_f SeparationDistance_decode_uper; -per_type_encoder_f SeparationDistance_encode_uper; -per_type_decoder_f SeparationDistance_decode_aper; -per_type_encoder_f SeparationDistance_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SeparationDistance_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SessionClass.c b/src/tmx/Asn_J2735/src/r2024/SessionClass.c new file mode 100644 index 000000000..ae6229a58 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SessionClass.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SessionClass.h" + +static asn_TYPE_member_t asn_MBR_SessionClass_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SessionClass, sessionTariffClass), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionTariffClass" + }, + { ATF_NOFLAGS, 0, offsetof(struct SessionClass, sessionClaimedClass), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sessionClaimedClass" + }, +}; +static const ber_tlv_tag_t asn_DEF_SessionClass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SessionClass_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sessionTariffClass */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* sessionClaimedClass */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_SessionClass_specs_1 = { + sizeof(struct SessionClass), + offsetof(struct SessionClass, _asn_ctx), + asn_MAP_SessionClass_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SessionClass = { + "SessionClass", + "SessionClass", + &asn_OP_SEQUENCE, + asn_DEF_SessionClass_tags_1, + sizeof(asn_DEF_SessionClass_tags_1) + /sizeof(asn_DEF_SessionClass_tags_1[0]), /* 1 */ + asn_DEF_SessionClass_tags_1, /* Same as above */ + sizeof(asn_DEF_SessionClass_tags_1) + /sizeof(asn_DEF_SessionClass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SessionClass_1, + 2, /* Elements count */ + &asn_SPC_SessionClass_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SessionClass.h b/src/tmx/Asn_J2735/src/r2024/SessionClass.h deleted file mode 100644 index 9ea575596..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SessionClass.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SessionClass_H_ -#define _SessionClass_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int1Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SessionClass */ -typedef struct SessionClass { - Int1Unsigned_t sessionTariffClass; - Int1Unsigned_t sessionClaimedClass; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SessionClass_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SessionClass; - -#ifdef __cplusplus -} -#endif - -#endif /* _SessionClass_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SessionLocation.c b/src/tmx/Asn_J2735/src/r2024/SessionLocation.c new file mode 100644 index 000000000..534b67786 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SessionLocation.c @@ -0,0 +1,121 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SessionLocation.h" + +static int +memb_laneCodeNumber_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_laneCodeNumber_constr_3 CC_NOTUSED = { + { 1, 1 } /* (0..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_laneCodeNumber_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_SessionLocation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SessionLocation, ascendingKilometrage), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ascendingKilometrage" + }, + { ATF_NOFLAGS, 0, offsetof(struct SessionLocation, laneCodeNumber), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_laneCodeNumber_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_laneCodeNumber_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_laneCodeNumber_constraint_1 + }, + 0, 0, /* No default value */ + "laneCodeNumber" + }, +}; +static const ber_tlv_tag_t asn_DEF_SessionLocation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SessionLocation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* ascendingKilometrage */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* laneCodeNumber */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SessionLocation_specs_1 = { + sizeof(struct SessionLocation), + offsetof(struct SessionLocation, _asn_ctx), + asn_MAP_SessionLocation_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SessionLocation = { + "SessionLocation", + "SessionLocation", + &asn_OP_SEQUENCE, + asn_DEF_SessionLocation_tags_1, + sizeof(asn_DEF_SessionLocation_tags_1) + /sizeof(asn_DEF_SessionLocation_tags_1[0]), /* 1 */ + asn_DEF_SessionLocation_tags_1, /* Same as above */ + sizeof(asn_DEF_SessionLocation_tags_1) + /sizeof(asn_DEF_SessionLocation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SessionLocation_1, + 2, /* Elements count */ + &asn_SPC_SessionLocation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SessionLocation.h b/src/tmx/Asn_J2735/src/r2024/SessionLocation.h deleted file mode 100644 index 8755818fe..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SessionLocation.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SessionLocation_H_ -#define _SessionLocation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SessionLocation */ -typedef struct SessionLocation { - BOOLEAN_t ascendingKilometrage; - long laneCodeNumber; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SessionLocation_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SessionLocation; -extern asn_SEQUENCE_specifics_t asn_SPC_SessionLocation_specs_1; -extern asn_TYPE_member_t asn_MBR_SessionLocation_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _SessionLocation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ShapePointSet.c b/src/tmx/Asn_J2735/src/r2024/ShapePointSet.c new file mode 100644 index 000000000..56e0cb76a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ShapePointSet.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ShapePointSet.h" + +asn_TYPE_member_t asn_MBR_ShapePointSet_1[] = { + { ATF_POINTER, 3, offsetof(struct ShapePointSet, anchor), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "anchor" + }, + { ATF_POINTER, 2, offsetof(struct ShapePointSet, laneWidth), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneWidth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneWidth" + }, + { ATF_POINTER, 1, offsetof(struct ShapePointSet, directionality), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DirectionOfUse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "directionality" + }, + { ATF_NOFLAGS, 0, offsetof(struct ShapePointSet, nodeList), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_NodeListXY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "nodeList" + }, +}; +static const int asn_MAP_ShapePointSet_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_ShapePointSet_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ShapePointSet_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* anchor */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* laneWidth */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* directionality */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* nodeList */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ShapePointSet_specs_1 = { + sizeof(struct ShapePointSet), + offsetof(struct ShapePointSet, _asn_ctx), + asn_MAP_ShapePointSet_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_ShapePointSet_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ShapePointSet = { + "ShapePointSet", + "ShapePointSet", + &asn_OP_SEQUENCE, + asn_DEF_ShapePointSet_tags_1, + sizeof(asn_DEF_ShapePointSet_tags_1) + /sizeof(asn_DEF_ShapePointSet_tags_1[0]), /* 1 */ + asn_DEF_ShapePointSet_tags_1, /* Same as above */ + sizeof(asn_DEF_ShapePointSet_tags_1) + /sizeof(asn_DEF_ShapePointSet_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ShapePointSet_1, + 4, /* Elements count */ + &asn_SPC_ShapePointSet_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ShapePointSet.h b/src/tmx/Asn_J2735/src/r2024/ShapePointSet.h deleted file mode 100644 index 7de066cfb..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ShapePointSet.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ShapePointSet_H_ -#define _ShapePointSet_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "LaneWidth.h" -#include "DirectionOfUse.h" -#include "NodeListXY.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Position3D; - -/* ShapePointSet */ -typedef struct ShapePointSet { - struct Position3D *anchor; /* OPTIONAL */ - LaneWidth_t *laneWidth; /* OPTIONAL */ - DirectionOfUse_t *directionality; /* OPTIONAL */ - NodeListXY_t nodeList; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ShapePointSet_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ShapePointSet; -extern asn_SEQUENCE_specifics_t asn_SPC_ShapePointSet_specs_1; -extern asn_TYPE_member_t asn_MBR_ShapePointSet_1[4]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Position3D.h" - -#endif /* _ShapePointSet_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ShortString.c b/src/tmx/Asn_J2735/src/r2024/ShortString.c new file mode 100644 index 000000000..285def179 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ShortString.c @@ -0,0 +1,91 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ShortString.h" + +static int check_permitted_alphabet_1(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +int +ShortString_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 20UL) + && !check_permitted_alphabet_1(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using IA5String, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ShortString_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..20)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ShortString_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 5, 5, 1, 20 } /* (SIZE(1..20)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ShortString_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ShortString = { + "ShortString", + "ShortString", + &asn_OP_IA5String, + asn_DEF_ShortString_tags_1, + sizeof(asn_DEF_ShortString_tags_1) + /sizeof(asn_DEF_ShortString_tags_1[0]), /* 1 */ + asn_DEF_ShortString_tags_1, /* Same as above */ + sizeof(asn_DEF_ShortString_tags_1) + /sizeof(asn_DEF_ShortString_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ShortString_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ShortString_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ShortString_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ShortString.h b/src/tmx/Asn_J2735/src/r2024/ShortString.h deleted file mode 100644 index 93b76ca78..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ShortString.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ShortString_H_ -#define _ShortString_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IA5String.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ShortString */ -typedef IA5String_t ShortString_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ShortString_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ShortString; -asn_struct_free_f ShortString_free; -asn_struct_print_f ShortString_print; -asn_constr_check_f ShortString_constraint; -ber_type_decoder_f ShortString_decode_ber; -der_type_encoder_f ShortString_encode_der; -xer_type_decoder_f ShortString_decode_xer; -xer_type_encoder_f ShortString_encode_xer; -oer_type_decoder_f ShortString_decode_oer; -oer_type_encoder_f ShortString_encode_oer; -per_type_decoder_f ShortString_decode_uper; -per_type_encoder_f ShortString_encode_uper; -per_type_decoder_f ShortString_decode_aper; -per_type_encoder_f ShortString_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ShortString_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignPrority.c b/src/tmx/Asn_J2735/src/r2024/SignPrority.c new file mode 100644 index 000000000..3b2ec5a3f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignPrority.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignPrority.h" + +int +SignPrority_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 7L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SignPrority_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..7) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SignPrority_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SignPrority_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SignPrority = { + "SignPrority", + "SignPrority", + &asn_OP_NativeInteger, + asn_DEF_SignPrority_tags_1, + sizeof(asn_DEF_SignPrority_tags_1) + /sizeof(asn_DEF_SignPrority_tags_1[0]), /* 1 */ + asn_DEF_SignPrority_tags_1, /* Same as above */ + sizeof(asn_DEF_SignPrority_tags_1) + /sizeof(asn_DEF_SignPrority_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SignPrority_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SignPrority_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SignPrority_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignPrority.h b/src/tmx/Asn_J2735/src/r2024/SignPrority.h deleted file mode 100644 index 4321058e2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignPrority.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignPrority_H_ -#define _SignPrority_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SignPrority */ -typedef long SignPrority_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SignPrority_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SignPrority; -asn_struct_free_f SignPrority_free; -asn_struct_print_f SignPrority_print; -asn_constr_check_f SignPrority_constraint; -ber_type_decoder_f SignPrority_decode_ber; -der_type_encoder_f SignPrority_encode_der; -xer_type_decoder_f SignPrority_decode_xer; -xer_type_encoder_f SignPrority_encode_xer; -oer_type_decoder_f SignPrority_decode_oer; -oer_type_encoder_f SignPrority_encode_oer; -per_type_decoder_f SignPrority_decode_uper; -per_type_encoder_f SignPrority_encode_uper; -per_type_decoder_f SignPrority_decode_aper; -per_type_encoder_f SignPrority_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SignPrority_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationRequest.c b/src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationRequest.c new file mode 100644 index 000000000..db302e478 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationRequest.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalControlAndPrioritizationRequest" + * found in "J2735-SCPR-2024-ph-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalControlAndPrioritizationRequest.h" + +/* + * This type is implemented using NULL, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_SignalControlAndPrioritizationRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SignalControlAndPrioritizationRequest = { + "SignalControlAndPrioritizationRequest", + "SignalControlAndPrioritizationRequest", + &asn_OP_NULL, + asn_DEF_SignalControlAndPrioritizationRequest_tags_1, + sizeof(asn_DEF_SignalControlAndPrioritizationRequest_tags_1) + /sizeof(asn_DEF_SignalControlAndPrioritizationRequest_tags_1[0]), /* 1 */ + asn_DEF_SignalControlAndPrioritizationRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalControlAndPrioritizationRequest_tags_1) + /sizeof(asn_DEF_SignalControlAndPrioritizationRequest_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NULL_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationRequest.h b/src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationRequest.h deleted file mode 100644 index 0eac45695..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationRequest.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalControlAndPrioritizationRequest" - * found in "J2735-SCPR-2024-ph-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalControlAndPrioritizationRequest_H_ -#define _SignalControlAndPrioritizationRequest_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NULL.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SignalControlAndPrioritizationRequest */ -typedef NULL_t SignalControlAndPrioritizationRequest_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalControlAndPrioritizationRequest; -asn_struct_free_f SignalControlAndPrioritizationRequest_free; -asn_struct_print_f SignalControlAndPrioritizationRequest_print; -asn_constr_check_f SignalControlAndPrioritizationRequest_constraint; -ber_type_decoder_f SignalControlAndPrioritizationRequest_decode_ber; -der_type_encoder_f SignalControlAndPrioritizationRequest_encode_der; -xer_type_decoder_f SignalControlAndPrioritizationRequest_decode_xer; -xer_type_encoder_f SignalControlAndPrioritizationRequest_encode_xer; -oer_type_decoder_f SignalControlAndPrioritizationRequest_decode_oer; -oer_type_encoder_f SignalControlAndPrioritizationRequest_encode_oer; -per_type_decoder_f SignalControlAndPrioritizationRequest_decode_uper; -per_type_encoder_f SignalControlAndPrioritizationRequest_encode_uper; -per_type_decoder_f SignalControlAndPrioritizationRequest_decode_aper; -per_type_encoder_f SignalControlAndPrioritizationRequest_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SignalControlAndPrioritizationRequest_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationStatus.c b/src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationStatus.c new file mode 100644 index 000000000..b2117e613 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationStatus.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalControlAndPrioritizationStatus" + * found in "J2735-SCPS-2024-ph-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalControlAndPrioritizationStatus.h" + +/* + * This type is implemented using NULL, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_SignalControlAndPrioritizationStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SignalControlAndPrioritizationStatus = { + "SignalControlAndPrioritizationStatus", + "SignalControlAndPrioritizationStatus", + &asn_OP_NULL, + asn_DEF_SignalControlAndPrioritizationStatus_tags_1, + sizeof(asn_DEF_SignalControlAndPrioritizationStatus_tags_1) + /sizeof(asn_DEF_SignalControlAndPrioritizationStatus_tags_1[0]), /* 1 */ + asn_DEF_SignalControlAndPrioritizationStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalControlAndPrioritizationStatus_tags_1) + /sizeof(asn_DEF_SignalControlAndPrioritizationStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NULL_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationStatus.h b/src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationStatus.h deleted file mode 100644 index 8ccc83210..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalControlAndPrioritizationStatus.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalControlAndPrioritizationStatus" - * found in "J2735-SCPS-2024-ph-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalControlAndPrioritizationStatus_H_ -#define _SignalControlAndPrioritizationStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NULL.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SignalControlAndPrioritizationStatus */ -typedef NULL_t SignalControlAndPrioritizationStatus_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalControlAndPrioritizationStatus; -asn_struct_free_f SignalControlAndPrioritizationStatus_free; -asn_struct_print_f SignalControlAndPrioritizationStatus_print; -asn_constr_check_f SignalControlAndPrioritizationStatus_constraint; -ber_type_decoder_f SignalControlAndPrioritizationStatus_decode_ber; -der_type_encoder_f SignalControlAndPrioritizationStatus_encode_der; -xer_type_decoder_f SignalControlAndPrioritizationStatus_decode_xer; -xer_type_encoder_f SignalControlAndPrioritizationStatus_encode_xer; -oer_type_decoder_f SignalControlAndPrioritizationStatus_decode_oer; -oer_type_encoder_f SignalControlAndPrioritizationStatus_encode_oer; -per_type_decoder_f SignalControlAndPrioritizationStatus_decode_uper; -per_type_encoder_f SignalControlAndPrioritizationStatus_encode_uper; -per_type_decoder_f SignalControlAndPrioritizationStatus_decode_aper; -per_type_encoder_f SignalControlAndPrioritizationStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SignalControlAndPrioritizationStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalControlZone.c b/src/tmx/Asn_J2735/src/r2024/SignalControlZone.c new file mode 100644 index 000000000..b2f9d0e3c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalControlZone.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "MapData" + * found in "J2735-MapData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalControlZone.h" + +asn_TYPE_member_t asn_MBR_SignalControlZone_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SignalControlZone, zone), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_SignalControlZone, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "zone" + }, +}; +static const ber_tlv_tag_t asn_DEF_SignalControlZone_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SignalControlZone_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* zone */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SignalControlZone_specs_1 = { + sizeof(struct SignalControlZone), + offsetof(struct SignalControlZone, _asn_ctx), + asn_MAP_SignalControlZone_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SignalControlZone = { + "SignalControlZone", + "SignalControlZone", + &asn_OP_SEQUENCE, + asn_DEF_SignalControlZone_tags_1, + sizeof(asn_DEF_SignalControlZone_tags_1) + /sizeof(asn_DEF_SignalControlZone_tags_1[0]), /* 1 */ + asn_DEF_SignalControlZone_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalControlZone_tags_1) + /sizeof(asn_DEF_SignalControlZone_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SignalControlZone_1, + 1, /* Elements count */ + &asn_SPC_SignalControlZone_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalControlZone.h b/src/tmx/Asn_J2735/src/r2024/SignalControlZone.h deleted file mode 100644 index fd2303548..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalControlZone.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "MapData" - * found in "J2735-MapData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalControlZone_H_ -#define _SignalControlZone_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "RegionalExtension.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SignalControlZone */ -typedef struct SignalControlZone { - Reg_SignalControlZone_t zone; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SignalControlZone_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalControlZone; -extern asn_SEQUENCE_specifics_t asn_SPC_SignalControlZone_specs_1; -extern asn_TYPE_member_t asn_MBR_SignalControlZone_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _SignalControlZone_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalGroupID.c b/src/tmx/Asn_J2735/src/r2024/SignalGroupID.c new file mode 100644 index 000000000..619f00c5f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalGroupID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalGroupID.h" + +int +SignalGroupID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SignalGroupID_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SignalGroupID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SignalGroupID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SignalGroupID = { + "SignalGroupID", + "SignalGroupID", + &asn_OP_NativeInteger, + asn_DEF_SignalGroupID_tags_1, + sizeof(asn_DEF_SignalGroupID_tags_1) + /sizeof(asn_DEF_SignalGroupID_tags_1[0]), /* 1 */ + asn_DEF_SignalGroupID_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalGroupID_tags_1) + /sizeof(asn_DEF_SignalGroupID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SignalGroupID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SignalGroupID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SignalGroupID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalGroupID.h b/src/tmx/Asn_J2735/src/r2024/SignalGroupID.h deleted file mode 100644 index f5ef69fd7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalGroupID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalGroupID_H_ -#define _SignalGroupID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SignalGroupID */ -typedef long SignalGroupID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SignalGroupID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SignalGroupID; -asn_struct_free_f SignalGroupID_free; -asn_struct_print_f SignalGroupID_print; -asn_constr_check_f SignalGroupID_constraint; -ber_type_decoder_f SignalGroupID_decode_ber; -der_type_encoder_f SignalGroupID_encode_der; -xer_type_decoder_f SignalGroupID_decode_xer; -xer_type_encoder_f SignalGroupID_encode_xer; -oer_type_decoder_f SignalGroupID_decode_oer; -oer_type_encoder_f SignalGroupID_encode_oer; -per_type_decoder_f SignalGroupID_decode_uper; -per_type_encoder_f SignalGroupID_encode_uper; -per_type_decoder_f SignalGroupID_decode_aper; -per_type_encoder_f SignalGroupID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SignalGroupID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalHeadLocation.c b/src/tmx/Asn_J2735/src/r2024/SignalHeadLocation.c new file mode 100644 index 000000000..14fc56a38 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalHeadLocation.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalHeadLocation.h" + +asn_TYPE_member_t asn_MBR_SignalHeadLocation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SignalHeadLocation, node), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_NodeOffsetPointXY, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "node" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignalHeadLocation, signalGroupID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SignalGroupID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "signalGroupID" + }, +}; +static const ber_tlv_tag_t asn_DEF_SignalHeadLocation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SignalHeadLocation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* node */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* signalGroupID */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SignalHeadLocation_specs_1 = { + sizeof(struct SignalHeadLocation), + offsetof(struct SignalHeadLocation, _asn_ctx), + asn_MAP_SignalHeadLocation_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SignalHeadLocation = { + "SignalHeadLocation", + "SignalHeadLocation", + &asn_OP_SEQUENCE, + asn_DEF_SignalHeadLocation_tags_1, + sizeof(asn_DEF_SignalHeadLocation_tags_1) + /sizeof(asn_DEF_SignalHeadLocation_tags_1[0]), /* 1 */ + asn_DEF_SignalHeadLocation_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalHeadLocation_tags_1) + /sizeof(asn_DEF_SignalHeadLocation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SignalHeadLocation_1, + 2, /* Elements count */ + &asn_SPC_SignalHeadLocation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalHeadLocation.h b/src/tmx/Asn_J2735/src/r2024/SignalHeadLocation.h deleted file mode 100644 index 8fb0b389c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalHeadLocation.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalHeadLocation_H_ -#define _SignalHeadLocation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NodeOffsetPointXY.h" -#include "SignalGroupID.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SignalHeadLocation */ -typedef struct SignalHeadLocation { - NodeOffsetPointXY_t node; - SignalGroupID_t signalGroupID; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SignalHeadLocation_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalHeadLocation; -extern asn_SEQUENCE_specifics_t asn_SPC_SignalHeadLocation_specs_1; -extern asn_TYPE_member_t asn_MBR_SignalHeadLocation_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _SignalHeadLocation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalHeadLocationList.c b/src/tmx/Asn_J2735/src/r2024/SignalHeadLocationList.c new file mode 100644 index 000000000..cff906088 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalHeadLocationList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalHeadLocationList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SignalHeadLocationList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..20)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SignalHeadLocationList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 20 } /* (SIZE(1..20)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_SignalHeadLocationList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SignalHeadLocation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_SignalHeadLocationList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_SignalHeadLocationList_specs_1 = { + sizeof(struct SignalHeadLocationList), + offsetof(struct SignalHeadLocationList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_SignalHeadLocationList = { + "SignalHeadLocationList", + "SignalHeadLocationList", + &asn_OP_SEQUENCE_OF, + asn_DEF_SignalHeadLocationList_tags_1, + sizeof(asn_DEF_SignalHeadLocationList_tags_1) + /sizeof(asn_DEF_SignalHeadLocationList_tags_1[0]), /* 1 */ + asn_DEF_SignalHeadLocationList_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalHeadLocationList_tags_1) + /sizeof(asn_DEF_SignalHeadLocationList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SignalHeadLocationList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SignalHeadLocationList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_SignalHeadLocationList_1, + 1, /* Single element */ + &asn_SPC_SignalHeadLocationList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalHeadLocationList.h b/src/tmx/Asn_J2735/src/r2024/SignalHeadLocationList.h deleted file mode 100644 index be639196a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalHeadLocationList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalHeadLocationList_H_ -#define _SignalHeadLocationList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct SignalHeadLocation; - -/* SignalHeadLocationList */ -typedef struct SignalHeadLocationList { - A_SEQUENCE_OF(struct SignalHeadLocation) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SignalHeadLocationList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalHeadLocationList; -extern asn_SET_OF_specifics_t asn_SPC_SignalHeadLocationList_specs_1; -extern asn_TYPE_member_t asn_MBR_SignalHeadLocationList_1[1]; -extern asn_per_constraints_t asn_PER_type_SignalHeadLocationList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "SignalHeadLocation.h" - -#endif /* _SignalHeadLocationList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalReqScheme.c b/src/tmx/Asn_J2735/src/r2024/SignalReqScheme.c new file mode 100644 index 000000000..6ef54490d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalReqScheme.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalReqScheme.h" + +int +SignalReqScheme_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 1UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SignalReqScheme_constr_1 CC_NOTUSED = { + { 0, 0 }, + 1 /* (SIZE(1..1)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_SignalReqScheme_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 1, 1 } /* (SIZE(1..1)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SignalReqScheme_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SignalReqScheme = { + "SignalReqScheme", + "SignalReqScheme", + &asn_OP_OCTET_STRING, + asn_DEF_SignalReqScheme_tags_1, + sizeof(asn_DEF_SignalReqScheme_tags_1) + /sizeof(asn_DEF_SignalReqScheme_tags_1[0]), /* 1 */ + asn_DEF_SignalReqScheme_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalReqScheme_tags_1) + /sizeof(asn_DEF_SignalReqScheme_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SignalReqScheme_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SignalReqScheme_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SignalReqScheme_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalReqScheme.h b/src/tmx/Asn_J2735/src/r2024/SignalReqScheme.h deleted file mode 100644 index dd704f41c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalReqScheme.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalReqScheme_H_ -#define _SignalReqScheme_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SignalReqScheme */ -typedef OCTET_STRING_t SignalReqScheme_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalReqScheme; -asn_struct_free_f SignalReqScheme_free; -asn_struct_print_f SignalReqScheme_print; -asn_constr_check_f SignalReqScheme_constraint; -ber_type_decoder_f SignalReqScheme_decode_ber; -der_type_encoder_f SignalReqScheme_encode_der; -xer_type_decoder_f SignalReqScheme_decode_xer; -xer_type_encoder_f SignalReqScheme_encode_xer; -oer_type_decoder_f SignalReqScheme_decode_oer; -oer_type_encoder_f SignalReqScheme_encode_oer; -per_type_decoder_f SignalReqScheme_decode_uper; -per_type_encoder_f SignalReqScheme_encode_uper; -per_type_decoder_f SignalReqScheme_decode_aper; -per_type_encoder_f SignalReqScheme_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SignalReqScheme_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalRequest.c b/src/tmx/Asn_J2735/src/r2024/SignalRequest.c new file mode 100644 index 000000000..8cb452238 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalRequest.c @@ -0,0 +1,261 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalRequestMessage" + * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalRequest.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_7[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_SignalRequest, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_7[] = { + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_7 = { + sizeof(struct SignalRequest__regional), + offsetof(struct SignalRequest__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_7 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_7, + sizeof(asn_DEF_regional_tags_7) + /sizeof(asn_DEF_regional_tags_7[0]) - 1, /* 1 */ + asn_DEF_regional_tags_7, /* Same as above */ + sizeof(asn_DEF_regional_tags_7) + /sizeof(asn_DEF_regional_tags_7[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_7, + 1, /* Single element */ + &asn_SPC_regional_specs_7 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SignalRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SignalRequest, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IntersectionReferenceID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignalRequest, requestID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RequestID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "requestID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignalRequest, requestType), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PriorityRequestType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "requestType" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignalRequest, inBoundLane), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_IntersectionAccessPoint, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "inBoundLane" + }, + { ATF_POINTER, 2, offsetof(struct SignalRequest, outBoundLane), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_IntersectionAccessPoint, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "outBoundLane" + }, + { ATF_POINTER, 1, offsetof(struct SignalRequest, regional), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + 0, + &asn_DEF_regional_7, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_SignalRequest_oms_1[] = { 4, 5 }; +static const ber_tlv_tag_t asn_DEF_SignalRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SignalRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* requestID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* requestType */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* inBoundLane */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* outBoundLane */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SignalRequest_specs_1 = { + sizeof(struct SignalRequest), + offsetof(struct SignalRequest, _asn_ctx), + asn_MAP_SignalRequest_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_SignalRequest_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SignalRequest = { + "SignalRequest", + "SignalRequest", + &asn_OP_SEQUENCE, + asn_DEF_SignalRequest_tags_1, + sizeof(asn_DEF_SignalRequest_tags_1) + /sizeof(asn_DEF_SignalRequest_tags_1[0]), /* 1 */ + asn_DEF_SignalRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalRequest_tags_1) + /sizeof(asn_DEF_SignalRequest_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SignalRequest_1, + 6, /* Elements count */ + &asn_SPC_SignalRequest_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalRequest.h b/src/tmx/Asn_J2735/src/r2024/SignalRequest.h deleted file mode 100644 index a8df697e6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalRequest.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalRequestMessage" - * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalRequest_H_ -#define _SignalRequest_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IntersectionReferenceID.h" -#include "RequestID.h" -#include "PriorityRequestType.h" -#include "IntersectionAccessPoint.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct IntersectionAccessPoint; -struct Reg_SignalRequest; - -/* SignalRequest */ -typedef struct SignalRequest { - IntersectionReferenceID_t id; - RequestID_t requestID; - PriorityRequestType_t requestType; - IntersectionAccessPoint_t inBoundLane; - struct IntersectionAccessPoint *outBoundLane; /* OPTIONAL */ - struct SignalRequest__regional { - A_SEQUENCE_OF(struct Reg_SignalRequest) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SignalRequest_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalRequest; -extern asn_SEQUENCE_specifics_t asn_SPC_SignalRequest_specs_1; -extern asn_TYPE_member_t asn_MBR_SignalRequest_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "IntersectionAccessPoint.h" -#include "RegionalExtension.h" - -#endif /* _SignalRequest_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalRequestList.c b/src/tmx/Asn_J2735/src/r2024/SignalRequestList.c new file mode 100644 index 000000000..23d61b17a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalRequestList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalRequestMessage" + * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalRequestList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SignalRequestList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SignalRequestList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_SignalRequestList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SignalRequestPackage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_SignalRequestList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_SignalRequestList_specs_1 = { + sizeof(struct SignalRequestList), + offsetof(struct SignalRequestList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_SignalRequestList = { + "SignalRequestList", + "SignalRequestList", + &asn_OP_SEQUENCE_OF, + asn_DEF_SignalRequestList_tags_1, + sizeof(asn_DEF_SignalRequestList_tags_1) + /sizeof(asn_DEF_SignalRequestList_tags_1[0]), /* 1 */ + asn_DEF_SignalRequestList_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalRequestList_tags_1) + /sizeof(asn_DEF_SignalRequestList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SignalRequestList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SignalRequestList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_SignalRequestList_1, + 1, /* Single element */ + &asn_SPC_SignalRequestList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalRequestList.h b/src/tmx/Asn_J2735/src/r2024/SignalRequestList.h deleted file mode 100644 index e6319f1bd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalRequestList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalRequestMessage" - * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalRequestList_H_ -#define _SignalRequestList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct SignalRequestPackage; - -/* SignalRequestList */ -typedef struct SignalRequestList { - A_SEQUENCE_OF(struct SignalRequestPackage) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SignalRequestList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalRequestList; -extern asn_SET_OF_specifics_t asn_SPC_SignalRequestList_specs_1; -extern asn_TYPE_member_t asn_MBR_SignalRequestList_1[1]; -extern asn_per_constraints_t asn_PER_type_SignalRequestList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "SignalRequestPackage.h" - -#endif /* _SignalRequestList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalRequestMessage.c b/src/tmx/Asn_J2735/src/r2024/SignalRequestMessage.c new file mode 100644 index 000000000..daf664bc5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalRequestMessage.c @@ -0,0 +1,261 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalRequestMessage" + * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalRequestMessage.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_7[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_SignalRequestMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_7[] = { + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_7 = { + sizeof(struct SignalRequestMessage__regional), + offsetof(struct SignalRequestMessage__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_7 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_7, + sizeof(asn_DEF_regional_tags_7) + /sizeof(asn_DEF_regional_tags_7[0]) - 1, /* 1 */ + asn_DEF_regional_tags_7, /* Same as above */ + sizeof(asn_DEF_regional_tags_7) + /sizeof(asn_DEF_regional_tags_7[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_7, + 1, /* Single element */ + &asn_SPC_regional_specs_7 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SignalRequestMessage_1[] = { + { ATF_POINTER, 1, offsetof(struct SignalRequestMessage, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignalRequestMessage, second), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "second" + }, + { ATF_POINTER, 2, offsetof(struct SignalRequestMessage, sequenceNumber), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sequenceNumber" + }, + { ATF_POINTER, 1, offsetof(struct SignalRequestMessage, requests), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SignalRequestList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "requests" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignalRequestMessage, requestor), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RequestorDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "requestor" + }, + { ATF_POINTER, 1, offsetof(struct SignalRequestMessage, regional), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + 0, + &asn_DEF_regional_7, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_SignalRequestMessage_oms_1[] = { 0, 2, 3, 5 }; +static const ber_tlv_tag_t asn_DEF_SignalRequestMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SignalRequestMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* second */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sequenceNumber */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* requests */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* requestor */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SignalRequestMessage_specs_1 = { + sizeof(struct SignalRequestMessage), + offsetof(struct SignalRequestMessage, _asn_ctx), + asn_MAP_SignalRequestMessage_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_SignalRequestMessage_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SignalRequestMessage = { + "SignalRequestMessage", + "SignalRequestMessage", + &asn_OP_SEQUENCE, + asn_DEF_SignalRequestMessage_tags_1, + sizeof(asn_DEF_SignalRequestMessage_tags_1) + /sizeof(asn_DEF_SignalRequestMessage_tags_1[0]), /* 1 */ + asn_DEF_SignalRequestMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalRequestMessage_tags_1) + /sizeof(asn_DEF_SignalRequestMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SignalRequestMessage_1, + 6, /* Elements count */ + &asn_SPC_SignalRequestMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalRequestMessage.h b/src/tmx/Asn_J2735/src/r2024/SignalRequestMessage.h deleted file mode 100644 index e56e629b2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalRequestMessage.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalRequestMessage" - * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalRequestMessage_H_ -#define _SignalRequestMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "MinuteOfTheYear.h" -#include "DSecond.h" -#include "Common_MsgCount.h" -#include "RequestorDescription.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct SignalRequestList; -struct Reg_SignalRequestMessage; - -/* SignalRequestMessage */ -typedef struct SignalRequestMessage { - MinuteOfTheYear_t *timeStamp; /* OPTIONAL */ - DSecond_t second; - Common_MsgCount_t *sequenceNumber; /* OPTIONAL */ - struct SignalRequestList *requests; /* OPTIONAL */ - RequestorDescription_t requestor; - struct SignalRequestMessage__regional { - A_SEQUENCE_OF(struct Reg_SignalRequestMessage) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SignalRequestMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalRequestMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_SignalRequestMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_SignalRequestMessage_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "SignalRequestList.h" -#include "RegionalExtension.h" - -#endif /* _SignalRequestMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalRequestPackage.c b/src/tmx/Asn_J2735/src/r2024/SignalRequestPackage.c new file mode 100644 index 000000000..6c44a37f5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalRequestPackage.c @@ -0,0 +1,243 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalRequestMessage" + * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalRequestPackage.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_6[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_SignalRequestPackage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_6[] = { + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_6 = { + sizeof(struct SignalRequestPackage__regional), + offsetof(struct SignalRequestPackage__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_6 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_6, + sizeof(asn_DEF_regional_tags_6) + /sizeof(asn_DEF_regional_tags_6[0]) - 1, /* 1 */ + asn_DEF_regional_tags_6, /* Same as above */ + sizeof(asn_DEF_regional_tags_6) + /sizeof(asn_DEF_regional_tags_6[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_6, + 1, /* Single element */ + &asn_SPC_regional_specs_6 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SignalRequestPackage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SignalRequestPackage, request), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SignalRequest, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "request" + }, + { ATF_POINTER, 4, offsetof(struct SignalRequestPackage, minute), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "minute" + }, + { ATF_POINTER, 3, offsetof(struct SignalRequestPackage, second), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "second" + }, + { ATF_POINTER, 2, offsetof(struct SignalRequestPackage, duration), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "duration" + }, + { ATF_POINTER, 1, offsetof(struct SignalRequestPackage, regional), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + 0, + &asn_DEF_regional_6, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_SignalRequestPackage_oms_1[] = { 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_SignalRequestPackage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SignalRequestPackage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* request */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* minute */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* second */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* duration */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SignalRequestPackage_specs_1 = { + sizeof(struct SignalRequestPackage), + offsetof(struct SignalRequestPackage, _asn_ctx), + asn_MAP_SignalRequestPackage_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_SignalRequestPackage_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SignalRequestPackage = { + "SignalRequestPackage", + "SignalRequestPackage", + &asn_OP_SEQUENCE, + asn_DEF_SignalRequestPackage_tags_1, + sizeof(asn_DEF_SignalRequestPackage_tags_1) + /sizeof(asn_DEF_SignalRequestPackage_tags_1[0]), /* 1 */ + asn_DEF_SignalRequestPackage_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalRequestPackage_tags_1) + /sizeof(asn_DEF_SignalRequestPackage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SignalRequestPackage_1, + 5, /* Elements count */ + &asn_SPC_SignalRequestPackage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalRequestPackage.h b/src/tmx/Asn_J2735/src/r2024/SignalRequestPackage.h deleted file mode 100644 index 71aaa3c7c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalRequestPackage.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalRequestMessage" - * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalRequestPackage_H_ -#define _SignalRequestPackage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SignalRequest.h" -#include "MinuteOfTheYear.h" -#include "DSecond.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_SignalRequestPackage; - -/* SignalRequestPackage */ -typedef struct SignalRequestPackage { - SignalRequest_t request; - MinuteOfTheYear_t *minute; /* OPTIONAL */ - DSecond_t *second; /* OPTIONAL */ - DSecond_t *duration; /* OPTIONAL */ - struct SignalRequestPackage__regional { - A_SEQUENCE_OF(struct Reg_SignalRequestPackage) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SignalRequestPackage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalRequestPackage; -extern asn_SEQUENCE_specifics_t asn_SPC_SignalRequestPackage_specs_1; -extern asn_TYPE_member_t asn_MBR_SignalRequestPackage_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _SignalRequestPackage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalRequesterInfo.c b/src/tmx/Asn_J2735/src/r2024/SignalRequesterInfo.c new file mode 100644 index 000000000..e80423eb0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalRequesterInfo.c @@ -0,0 +1,140 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalStatusMessage" + * found in "J2735-SignalStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalRequesterInfo.h" + +asn_TYPE_member_t asn_MBR_SignalRequesterInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SignalRequesterInfo, id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_VehicleID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignalRequesterInfo, request), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RequestID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "request" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignalRequesterInfo, sequenceNumber), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sequenceNumber" + }, + { ATF_POINTER, 2, offsetof(struct SignalRequesterInfo, role), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BasicVehicleRole, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "role" + }, + { ATF_POINTER, 1, offsetof(struct SignalRequesterInfo, typeData), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RequestorType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "typeData" + }, +}; +static const int asn_MAP_SignalRequesterInfo_oms_1[] = { 3, 4 }; +static const ber_tlv_tag_t asn_DEF_SignalRequesterInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SignalRequesterInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* request */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sequenceNumber */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* role */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* typeData */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SignalRequesterInfo_specs_1 = { + sizeof(struct SignalRequesterInfo), + offsetof(struct SignalRequesterInfo, _asn_ctx), + asn_MAP_SignalRequesterInfo_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_SignalRequesterInfo_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SignalRequesterInfo = { + "SignalRequesterInfo", + "SignalRequesterInfo", + &asn_OP_SEQUENCE, + asn_DEF_SignalRequesterInfo_tags_1, + sizeof(asn_DEF_SignalRequesterInfo_tags_1) + /sizeof(asn_DEF_SignalRequesterInfo_tags_1[0]), /* 1 */ + asn_DEF_SignalRequesterInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalRequesterInfo_tags_1) + /sizeof(asn_DEF_SignalRequesterInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SignalRequesterInfo_1, + 5, /* Elements count */ + &asn_SPC_SignalRequesterInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalRequesterInfo.h b/src/tmx/Asn_J2735/src/r2024/SignalRequesterInfo.h deleted file mode 100644 index 9cb730536..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalRequesterInfo.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalStatusMessage" - * found in "J2735-SignalStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalRequesterInfo_H_ -#define _SignalRequesterInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "VehicleID.h" -#include "RequestID.h" -#include "Common_MsgCount.h" -#include "BasicVehicleRole.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RequestorType; - -/* SignalRequesterInfo */ -typedef struct SignalRequesterInfo { - VehicleID_t id; - RequestID_t request; - Common_MsgCount_t sequenceNumber; - BasicVehicleRole_t *role; /* OPTIONAL */ - struct RequestorType *typeData; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SignalRequesterInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalRequesterInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_SignalRequesterInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_SignalRequesterInfo_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RequestorType.h" - -#endif /* _SignalRequesterInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalStatus.c b/src/tmx/Asn_J2735/src/r2024/SignalStatus.c new file mode 100644 index 000000000..2d599b356 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalStatus.c @@ -0,0 +1,225 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalStatusMessage" + * found in "J2735-SignalStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalStatus.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_5 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_5[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_SignalStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_5[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_5 = { + sizeof(struct SignalStatus__regional), + offsetof(struct SignalStatus__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_5 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_5, + sizeof(asn_DEF_regional_tags_5) + /sizeof(asn_DEF_regional_tags_5[0]) - 1, /* 1 */ + asn_DEF_regional_tags_5, /* Same as above */ + sizeof(asn_DEF_regional_tags_5) + /sizeof(asn_DEF_regional_tags_5[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_5, + 1, /* Single element */ + &asn_SPC_regional_specs_5 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SignalStatus_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SignalStatus, sequenceNumber), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sequenceNumber" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignalStatus, id), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IntersectionReferenceID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignalStatus, sigStatus), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SignalStatusPackageList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sigStatus" + }, + { ATF_POINTER, 1, offsetof(struct SignalStatus, regional), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + 0, + &asn_DEF_regional_5, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_SignalStatus_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_SignalStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SignalStatus_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* sequenceNumber */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sigStatus */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SignalStatus_specs_1 = { + sizeof(struct SignalStatus), + offsetof(struct SignalStatus, _asn_ctx), + asn_MAP_SignalStatus_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_SignalStatus_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SignalStatus = { + "SignalStatus", + "SignalStatus", + &asn_OP_SEQUENCE, + asn_DEF_SignalStatus_tags_1, + sizeof(asn_DEF_SignalStatus_tags_1) + /sizeof(asn_DEF_SignalStatus_tags_1[0]), /* 1 */ + asn_DEF_SignalStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalStatus_tags_1) + /sizeof(asn_DEF_SignalStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SignalStatus_1, + 4, /* Elements count */ + &asn_SPC_SignalStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalStatus.h b/src/tmx/Asn_J2735/src/r2024/SignalStatus.h deleted file mode 100644 index 0026d7401..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalStatus.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalStatusMessage" - * found in "J2735-SignalStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalStatus_H_ -#define _SignalStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_MsgCount.h" -#include "IntersectionReferenceID.h" -#include "SignalStatusPackageList.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_SignalStatus; - -/* SignalStatus */ -typedef struct SignalStatus { - Common_MsgCount_t sequenceNumber; - IntersectionReferenceID_t id; - SignalStatusPackageList_t sigStatus; - struct SignalStatus__regional { - A_SEQUENCE_OF(struct Reg_SignalStatus) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SignalStatus_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalStatus; -extern asn_SEQUENCE_specifics_t asn_SPC_SignalStatus_specs_1; -extern asn_TYPE_member_t asn_MBR_SignalStatus_1[4]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _SignalStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalStatusList.c b/src/tmx/Asn_J2735/src/r2024/SignalStatusList.c new file mode 100644 index 000000000..239e7f5d5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalStatusList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalStatusMessage" + * found in "J2735-SignalStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalStatusList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SignalStatusList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SignalStatusList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_SignalStatusList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SignalStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_SignalStatusList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_SignalStatusList_specs_1 = { + sizeof(struct SignalStatusList), + offsetof(struct SignalStatusList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_SignalStatusList = { + "SignalStatusList", + "SignalStatusList", + &asn_OP_SEQUENCE_OF, + asn_DEF_SignalStatusList_tags_1, + sizeof(asn_DEF_SignalStatusList_tags_1) + /sizeof(asn_DEF_SignalStatusList_tags_1[0]), /* 1 */ + asn_DEF_SignalStatusList_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalStatusList_tags_1) + /sizeof(asn_DEF_SignalStatusList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SignalStatusList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SignalStatusList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_SignalStatusList_1, + 1, /* Single element */ + &asn_SPC_SignalStatusList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalStatusList.h b/src/tmx/Asn_J2735/src/r2024/SignalStatusList.h deleted file mode 100644 index c4b47e68b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalStatusList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalStatusMessage" - * found in "J2735-SignalStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalStatusList_H_ -#define _SignalStatusList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct SignalStatus; - -/* SignalStatusList */ -typedef struct SignalStatusList { - A_SEQUENCE_OF(struct SignalStatus) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SignalStatusList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalStatusList; -extern asn_SET_OF_specifics_t asn_SPC_SignalStatusList_specs_1; -extern asn_TYPE_member_t asn_MBR_SignalStatusList_1[1]; -extern asn_per_constraints_t asn_PER_type_SignalStatusList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "SignalStatus.h" - -#endif /* _SignalStatusList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalStatusMessage.c b/src/tmx/Asn_J2735/src/r2024/SignalStatusMessage.c new file mode 100644 index 000000000..1cb4ad510 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalStatusMessage.c @@ -0,0 +1,243 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalStatusMessage" + * found in "J2735-SignalStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalStatusMessage.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_6[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_SignalStatusMessage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_6[] = { + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_6 = { + sizeof(struct SignalStatusMessage__regional), + offsetof(struct SignalStatusMessage__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_6 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_6, + sizeof(asn_DEF_regional_tags_6) + /sizeof(asn_DEF_regional_tags_6[0]) - 1, /* 1 */ + asn_DEF_regional_tags_6, /* Same as above */ + sizeof(asn_DEF_regional_tags_6) + /sizeof(asn_DEF_regional_tags_6[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_6, + 1, /* Single element */ + &asn_SPC_regional_specs_6 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SignalStatusMessage_1[] = { + { ATF_POINTER, 1, offsetof(struct SignalStatusMessage, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignalStatusMessage, second), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "second" + }, + { ATF_POINTER, 1, offsetof(struct SignalStatusMessage, sequenceNumber), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sequenceNumber" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignalStatusMessage, status), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SignalStatusList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "status" + }, + { ATF_POINTER, 1, offsetof(struct SignalStatusMessage, regional), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + 0, + &asn_DEF_regional_6, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_SignalStatusMessage_oms_1[] = { 0, 2, 4 }; +static const ber_tlv_tag_t asn_DEF_SignalStatusMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SignalStatusMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* second */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sequenceNumber */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* status */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SignalStatusMessage_specs_1 = { + sizeof(struct SignalStatusMessage), + offsetof(struct SignalStatusMessage, _asn_ctx), + asn_MAP_SignalStatusMessage_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_SignalStatusMessage_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SignalStatusMessage = { + "SignalStatusMessage", + "SignalStatusMessage", + &asn_OP_SEQUENCE, + asn_DEF_SignalStatusMessage_tags_1, + sizeof(asn_DEF_SignalStatusMessage_tags_1) + /sizeof(asn_DEF_SignalStatusMessage_tags_1[0]), /* 1 */ + asn_DEF_SignalStatusMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalStatusMessage_tags_1) + /sizeof(asn_DEF_SignalStatusMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SignalStatusMessage_1, + 5, /* Elements count */ + &asn_SPC_SignalStatusMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalStatusMessage.h b/src/tmx/Asn_J2735/src/r2024/SignalStatusMessage.h deleted file mode 100644 index 56be36341..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalStatusMessage.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalStatusMessage" - * found in "J2735-SignalStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalStatusMessage_H_ -#define _SignalStatusMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "MinuteOfTheYear.h" -#include "DSecond.h" -#include "Common_MsgCount.h" -#include "SignalStatusList.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_SignalStatusMessage; - -/* SignalStatusMessage */ -typedef struct SignalStatusMessage { - MinuteOfTheYear_t *timeStamp; /* OPTIONAL */ - DSecond_t second; - Common_MsgCount_t *sequenceNumber; /* OPTIONAL */ - SignalStatusList_t status; - struct SignalStatusMessage__regional { - A_SEQUENCE_OF(struct Reg_SignalStatusMessage) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SignalStatusMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalStatusMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_SignalStatusMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_SignalStatusMessage_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _SignalStatusMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalStatusPackage.c b/src/tmx/Asn_J2735/src/r2024/SignalStatusPackage.c new file mode 100644 index 000000000..4316ca12e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalStatusPackage.c @@ -0,0 +1,297 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalStatusMessage" + * found in "J2735-SignalStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalStatusPackage.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_9 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_9 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_9 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_9 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_9[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_SignalStatusPackage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_9[] = { + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_9 = { + sizeof(struct SignalStatusPackage__regional), + offsetof(struct SignalStatusPackage__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_9 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_9, + sizeof(asn_DEF_regional_tags_9) + /sizeof(asn_DEF_regional_tags_9[0]) - 1, /* 1 */ + asn_DEF_regional_tags_9, /* Same as above */ + sizeof(asn_DEF_regional_tags_9) + /sizeof(asn_DEF_regional_tags_9[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_9, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_9, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_9, + 1, /* Single element */ + &asn_SPC_regional_specs_9 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SignalStatusPackage_1[] = { + { ATF_POINTER, 1, offsetof(struct SignalStatusPackage, requester), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SignalRequesterInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "requester" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignalStatusPackage, inboundOn), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_IntersectionAccessPoint, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "inboundOn" + }, + { ATF_POINTER, 4, offsetof(struct SignalStatusPackage, outboundOn), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_IntersectionAccessPoint, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "outboundOn" + }, + { ATF_POINTER, 3, offsetof(struct SignalStatusPackage, minute), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "minute" + }, + { ATF_POINTER, 2, offsetof(struct SignalStatusPackage, second), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "second" + }, + { ATF_POINTER, 1, offsetof(struct SignalStatusPackage, duration), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DSecond, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "duration" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignalStatusPackage, status), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PrioritizationResponseStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "status" + }, + { ATF_POINTER, 1, offsetof(struct SignalStatusPackage, regional), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + 0, + &asn_DEF_regional_9, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_9, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_9, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_SignalStatusPackage_oms_1[] = { 0, 2, 3, 4, 5, 7 }; +static const ber_tlv_tag_t asn_DEF_SignalStatusPackage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SignalStatusPackage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* requester */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* inboundOn */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* outboundOn */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* minute */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* second */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* duration */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* status */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SignalStatusPackage_specs_1 = { + sizeof(struct SignalStatusPackage), + offsetof(struct SignalStatusPackage, _asn_ctx), + asn_MAP_SignalStatusPackage_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_SignalStatusPackage_oms_1, /* Optional members */ + 6, 0, /* Root/Additions */ + 8, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SignalStatusPackage = { + "SignalStatusPackage", + "SignalStatusPackage", + &asn_OP_SEQUENCE, + asn_DEF_SignalStatusPackage_tags_1, + sizeof(asn_DEF_SignalStatusPackage_tags_1) + /sizeof(asn_DEF_SignalStatusPackage_tags_1[0]), /* 1 */ + asn_DEF_SignalStatusPackage_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalStatusPackage_tags_1) + /sizeof(asn_DEF_SignalStatusPackage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SignalStatusPackage_1, + 8, /* Elements count */ + &asn_SPC_SignalStatusPackage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalStatusPackage.h b/src/tmx/Asn_J2735/src/r2024/SignalStatusPackage.h deleted file mode 100644 index 8d6b4ed78..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalStatusPackage.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalStatusMessage" - * found in "J2735-SignalStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalStatusPackage_H_ -#define _SignalStatusPackage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IntersectionAccessPoint.h" -#include "MinuteOfTheYear.h" -#include "DSecond.h" -#include "PrioritizationResponseStatus.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct SignalRequesterInfo; -struct IntersectionAccessPoint; -struct Reg_SignalStatusPackage; - -/* SignalStatusPackage */ -typedef struct SignalStatusPackage { - struct SignalRequesterInfo *requester; /* OPTIONAL */ - IntersectionAccessPoint_t inboundOn; - struct IntersectionAccessPoint *outboundOn; /* OPTIONAL */ - MinuteOfTheYear_t *minute; /* OPTIONAL */ - DSecond_t *second; /* OPTIONAL */ - DSecond_t *duration; /* OPTIONAL */ - PrioritizationResponseStatus_t status; - struct SignalStatusPackage__regional { - A_SEQUENCE_OF(struct Reg_SignalStatusPackage) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SignalStatusPackage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalStatusPackage; -extern asn_SEQUENCE_specifics_t asn_SPC_SignalStatusPackage_specs_1; -extern asn_TYPE_member_t asn_MBR_SignalStatusPackage_1[8]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "SignalRequesterInfo.h" -#include "IntersectionAccessPoint.h" -#include "RegionalExtension.h" - -#endif /* _SignalStatusPackage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignalStatusPackageList.c b/src/tmx/Asn_J2735/src/r2024/SignalStatusPackageList.c new file mode 100644 index 000000000..4b2f73b46 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignalStatusPackageList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalStatusMessage" + * found in "J2735-SignalStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignalStatusPackageList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SignalStatusPackageList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SignalStatusPackageList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_SignalStatusPackageList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SignalStatusPackage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_SignalStatusPackageList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_SignalStatusPackageList_specs_1 = { + sizeof(struct SignalStatusPackageList), + offsetof(struct SignalStatusPackageList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_SignalStatusPackageList = { + "SignalStatusPackageList", + "SignalStatusPackageList", + &asn_OP_SEQUENCE_OF, + asn_DEF_SignalStatusPackageList_tags_1, + sizeof(asn_DEF_SignalStatusPackageList_tags_1) + /sizeof(asn_DEF_SignalStatusPackageList_tags_1[0]), /* 1 */ + asn_DEF_SignalStatusPackageList_tags_1, /* Same as above */ + sizeof(asn_DEF_SignalStatusPackageList_tags_1) + /sizeof(asn_DEF_SignalStatusPackageList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SignalStatusPackageList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SignalStatusPackageList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_SignalStatusPackageList_1, + 1, /* Single element */ + &asn_SPC_SignalStatusPackageList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignalStatusPackageList.h b/src/tmx/Asn_J2735/src/r2024/SignalStatusPackageList.h deleted file mode 100644 index 07b4416cc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignalStatusPackageList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalStatusMessage" - * found in "J2735-SignalStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignalStatusPackageList_H_ -#define _SignalStatusPackageList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct SignalStatusPackage; - -/* SignalStatusPackageList */ -typedef struct SignalStatusPackageList { - A_SEQUENCE_OF(struct SignalStatusPackage) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SignalStatusPackageList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignalStatusPackageList; -extern asn_SET_OF_specifics_t asn_SPC_SignalStatusPackageList_specs_1; -extern asn_TYPE_member_t asn_MBR_SignalStatusPackageList_1[1]; -extern asn_per_constraints_t asn_PER_type_SignalStatusPackageList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "SignalStatusPackage.h" - -#endif /* _SignalStatusPackageList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SignedValue.c b/src/tmx/Asn_J2735/src/r2024/SignedValue.c new file mode 100644 index 000000000..9a81e94f3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SignedValue.c @@ -0,0 +1,167 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SignedValue.h" + +static int +memb_positive_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 8388607L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_negative_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -8388608L && value <= -1L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_positive_constr_2 CC_NOTUSED = { + { 4, 1 } /* (0..8388607) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_positive_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 23, -1, 0, 8388607 } /* (0..8388607) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_negative_constr_3 CC_NOTUSED = { + { 4, 0 } /* (-8388608..-1) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_negative_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 23, -1, -8388608, -1 } /* (-8388608..-1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SignedValue_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SignedValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_SignedValue_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SignedValue, choice.positive), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_positive_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_positive_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_positive_constraint_1 + }, + 0, 0, /* No default value */ + "positive" + }, + { ATF_NOFLAGS, 0, offsetof(struct SignedValue, choice.negative), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_negative_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_negative_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_negative_constraint_1 + }, + 0, 0, /* No default value */ + "negative" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_SignedValue_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* positive */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* negative */ +}; +asn_CHOICE_specifics_t asn_SPC_SignedValue_specs_1 = { + sizeof(struct SignedValue), + offsetof(struct SignedValue, _asn_ctx), + offsetof(struct SignedValue, present), + sizeof(((struct SignedValue *)0)->present), + asn_MAP_SignedValue_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_SignedValue = { + "SignedValue", + "SignedValue", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SignedValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SignedValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_SignedValue_1, + 2, /* Elements count */ + &asn_SPC_SignedValue_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SignedValue.h b/src/tmx/Asn_J2735/src/r2024/SignedValue.h deleted file mode 100644 index fe5ebdc98..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SignedValue.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SignedValue_H_ -#define _SignedValue_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SignedValue_PR { - SignedValue_PR_NOTHING, /* No components present */ - SignedValue_PR_positive, - SignedValue_PR_negative -} SignedValue_PR; - -/* SignedValue */ -typedef struct SignedValue { - SignedValue_PR present; - union SignedValue_u { - long positive; - long negative; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SignedValue_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SignedValue; -extern asn_CHOICE_specifics_t asn_SPC_SignedValue_specs_1; -extern asn_TYPE_member_t asn_MBR_SignedValue_1[2]; -extern asn_per_constraints_t asn_PER_type_SignedValue_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _SignedValue_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SirenInUse.c b/src/tmx/Asn_J2735/src/r2024/SirenInUse.c new file mode 100644 index 000000000..397dd6990 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SirenInUse.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SirenInUse.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SirenInUse_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SirenInUse_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_SirenInUse_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 8, "notInUse" }, + { 2, 5, "inUse" }, + { 3, 8, "reserved" } +}; +static const unsigned int asn_MAP_SirenInUse_enum2value_1[] = { + 2, /* inUse(2) */ + 1, /* notInUse(1) */ + 3, /* reserved(3) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_SirenInUse_specs_1 = { + asn_MAP_SirenInUse_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SirenInUse_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SirenInUse_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SirenInUse = { + "SirenInUse", + "SirenInUse", + &asn_OP_NativeEnumerated, + asn_DEF_SirenInUse_tags_1, + sizeof(asn_DEF_SirenInUse_tags_1) + /sizeof(asn_DEF_SirenInUse_tags_1[0]), /* 1 */ + asn_DEF_SirenInUse_tags_1, /* Same as above */ + sizeof(asn_DEF_SirenInUse_tags_1) + /sizeof(asn_DEF_SirenInUse_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SirenInUse_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SirenInUse_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SirenInUse_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SirenInUse.h b/src/tmx/Asn_J2735/src/r2024/SirenInUse.h deleted file mode 100644 index 0c0b26f76..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SirenInUse.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SirenInUse_H_ -#define _SirenInUse_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SirenInUse { - SirenInUse_unavailable = 0, - SirenInUse_notInUse = 1, - SirenInUse_inUse = 2, - SirenInUse_reserved = 3 -} e_SirenInUse; - -/* SirenInUse */ -typedef long SirenInUse_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SirenInUse_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SirenInUse; -extern const asn_INTEGER_specifics_t asn_SPC_SirenInUse_specs_1; -asn_struct_free_f SirenInUse_free; -asn_struct_print_f SirenInUse_print; -asn_constr_check_f SirenInUse_constraint; -ber_type_decoder_f SirenInUse_decode_ber; -der_type_encoder_f SirenInUse_encode_der; -xer_type_decoder_f SirenInUse_decode_xer; -xer_type_encoder_f SirenInUse_encode_xer; -oer_type_decoder_f SirenInUse_decode_oer; -oer_type_encoder_f SirenInUse_encode_oer; -per_type_decoder_f SirenInUse_decode_uper; -per_type_encoder_f SirenInUse_encode_uper; -per_type_decoder_f SirenInUse_decode_aper; -per_type_encoder_f SirenInUse_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SirenInUse_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SituationalContainer.c b/src/tmx/Asn_J2735/src/r2024/SituationalContainer.c new file mode 100644 index 000000000..fc43a6608 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SituationalContainer.c @@ -0,0 +1,140 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SituationalContainer.h" + +asn_TYPE_member_t asn_MBR_SituationalContainer_1[] = { + { ATF_POINTER, 4, offsetof(struct SituationalContainer, obstructions), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Obstructions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "obstructions" + }, + { ATF_POINTER, 3, offsetof(struct SituationalContainer, visibility), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NTCIPEssVisibility, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "visibility" + }, + { ATF_POINTER, 2, offsetof(struct SituationalContainer, peoplePresent), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Activity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "peoplePresent" + }, + { ATF_POINTER, 1, offsetof(struct SituationalContainer, anomalousTraffic), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Activity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "anomalousTraffic" + }, + { ATF_NOFLAGS, 0, offsetof(struct SituationalContainer, applicableRegion), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "applicableRegion" + }, +}; +static const int asn_MAP_SituationalContainer_oms_1[] = { 0, 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_SituationalContainer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SituationalContainer_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* obstructions */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* visibility */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* peoplePresent */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* anomalousTraffic */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* applicableRegion */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SituationalContainer_specs_1 = { + sizeof(struct SituationalContainer), + offsetof(struct SituationalContainer, _asn_ctx), + asn_MAP_SituationalContainer_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_SituationalContainer_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SituationalContainer = { + "SituationalContainer", + "SituationalContainer", + &asn_OP_SEQUENCE, + asn_DEF_SituationalContainer_tags_1, + sizeof(asn_DEF_SituationalContainer_tags_1) + /sizeof(asn_DEF_SituationalContainer_tags_1[0]), /* 1 */ + asn_DEF_SituationalContainer_tags_1, /* Same as above */ + sizeof(asn_DEF_SituationalContainer_tags_1) + /sizeof(asn_DEF_SituationalContainer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SituationalContainer_1, + 5, /* Elements count */ + &asn_SPC_SituationalContainer_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SituationalContainer.h b/src/tmx/Asn_J2735/src/r2024/SituationalContainer.h deleted file mode 100644 index 52fe89e46..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SituationalContainer.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SituationalContainer_H_ -#define _SituationalContainer_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NTCIPEssVisibility.h" -#include "Activity.h" -#include "RegionInfo.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Obstructions; - -/* SituationalContainer */ -typedef struct SituationalContainer { - struct Obstructions *obstructions; /* OPTIONAL */ - NTCIPEssVisibility_t *visibility; /* OPTIONAL */ - Activity_t *peoplePresent; /* OPTIONAL */ - Activity_t *anomalousTraffic; /* OPTIONAL */ - RegionInfo_t applicableRegion; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SituationalContainer_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SituationalContainer; -extern asn_SEQUENCE_specifics_t asn_SPC_SituationalContainer_specs_1; -extern asn_TYPE_member_t asn_MBR_SituationalContainer_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Obstructions.h" - -#endif /* _SituationalContainer_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SizeValue.c b/src/tmx/Asn_J2735/src/r2024/SizeValue.c new file mode 100644 index 000000000..9c8753d4d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SizeValue.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SizeValue.h" + +int +SizeValue_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 1023L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SizeValue_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..1023) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SizeValue_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SizeValue_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SizeValue = { + "SizeValue", + "SizeValue", + &asn_OP_NativeInteger, + asn_DEF_SizeValue_tags_1, + sizeof(asn_DEF_SizeValue_tags_1) + /sizeof(asn_DEF_SizeValue_tags_1[0]), /* 1 */ + asn_DEF_SizeValue_tags_1, /* Same as above */ + sizeof(asn_DEF_SizeValue_tags_1) + /sizeof(asn_DEF_SizeValue_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SizeValue_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SizeValue_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SizeValue_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SizeValue.h b/src/tmx/Asn_J2735/src/r2024/SizeValue.h deleted file mode 100644 index 2e72f15b9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SizeValue.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SizeValue_H_ -#define _SizeValue_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SizeValue */ -typedef long SizeValue_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SizeValue_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SizeValue; -asn_struct_free_f SizeValue_free; -asn_struct_print_f SizeValue_print; -asn_constr_check_f SizeValue_constraint; -ber_type_decoder_f SizeValue_decode_ber; -der_type_encoder_f SizeValue_encode_der; -xer_type_decoder_f SizeValue_decode_xer; -xer_type_encoder_f SizeValue_encode_xer; -oer_type_decoder_f SizeValue_decode_oer; -oer_type_encoder_f SizeValue_encode_oer; -per_type_decoder_f SizeValue_decode_uper; -per_type_encoder_f SizeValue_encode_uper; -per_type_decoder_f SizeValue_decode_aper; -per_type_encoder_f SizeValue_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SizeValue_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SizeValueConfidence.c b/src/tmx/Asn_J2735/src/r2024/SizeValueConfidence.c new file mode 100644 index 000000000..69beba240 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SizeValueConfidence.c @@ -0,0 +1,92 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SizeValueConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SizeValueConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SizeValueConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 13 } /* (0..13) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_SizeValueConfidence_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 11, "size-100-00" }, + { 2, 11, "size-050-00" }, + { 3, 11, "size-020-00" }, + { 4, 11, "size-010-00" }, + { 5, 11, "size-005-00" }, + { 6, 11, "size-002-00" }, + { 7, 11, "size-001-00" }, + { 8, 11, "size-000-50" }, + { 9, 11, "size-000-20" }, + { 10, 11, "size-000-10" }, + { 11, 11, "size-000-05" }, + { 12, 11, "size-000-02" }, + { 13, 11, "size-000-01" } +}; +static const unsigned int asn_MAP_SizeValueConfidence_enum2value_1[] = { + 13, /* size-000-01(13) */ + 12, /* size-000-02(12) */ + 11, /* size-000-05(11) */ + 10, /* size-000-10(10) */ + 9, /* size-000-20(9) */ + 8, /* size-000-50(8) */ + 7, /* size-001-00(7) */ + 6, /* size-002-00(6) */ + 5, /* size-005-00(5) */ + 4, /* size-010-00(4) */ + 3, /* size-020-00(3) */ + 2, /* size-050-00(2) */ + 1, /* size-100-00(1) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_SizeValueConfidence_specs_1 = { + asn_MAP_SizeValueConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SizeValueConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 14, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SizeValueConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SizeValueConfidence = { + "SizeValueConfidence", + "SizeValueConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_SizeValueConfidence_tags_1, + sizeof(asn_DEF_SizeValueConfidence_tags_1) + /sizeof(asn_DEF_SizeValueConfidence_tags_1[0]), /* 1 */ + asn_DEF_SizeValueConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_SizeValueConfidence_tags_1) + /sizeof(asn_DEF_SizeValueConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SizeValueConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SizeValueConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SizeValueConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SizeValueConfidence.h b/src/tmx/Asn_J2735/src/r2024/SizeValueConfidence.h deleted file mode 100644 index 488c2550b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SizeValueConfidence.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SizeValueConfidence_H_ -#define _SizeValueConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SizeValueConfidence { - SizeValueConfidence_unavailable = 0, - SizeValueConfidence_size_100_00 = 1, - SizeValueConfidence_size_050_00 = 2, - SizeValueConfidence_size_020_00 = 3, - SizeValueConfidence_size_010_00 = 4, - SizeValueConfidence_size_005_00 = 5, - SizeValueConfidence_size_002_00 = 6, - SizeValueConfidence_size_001_00 = 7, - SizeValueConfidence_size_000_50 = 8, - SizeValueConfidence_size_000_20 = 9, - SizeValueConfidence_size_000_10 = 10, - SizeValueConfidence_size_000_05 = 11, - SizeValueConfidence_size_000_02 = 12, - SizeValueConfidence_size_000_01 = 13 -} e_SizeValueConfidence; - -/* SizeValueConfidence */ -typedef long SizeValueConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SizeValueConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SizeValueConfidence; -extern const asn_INTEGER_specifics_t asn_SPC_SizeValueConfidence_specs_1; -asn_struct_free_f SizeValueConfidence_free; -asn_struct_print_f SizeValueConfidence_print; -asn_constr_check_f SizeValueConfidence_constraint; -ber_type_decoder_f SizeValueConfidence_decode_ber; -der_type_encoder_f SizeValueConfidence_encode_der; -xer_type_decoder_f SizeValueConfidence_decode_xer; -xer_type_encoder_f SizeValueConfidence_encode_xer; -oer_type_decoder_f SizeValueConfidence_decode_oer; -oer_type_encoder_f SizeValueConfidence_encode_oer; -per_type_decoder_f SizeValueConfidence_decode_uper; -per_type_encoder_f SizeValueConfidence_encode_uper; -per_type_decoder_f SizeValueConfidence_decode_aper; -per_type_encoder_f SizeValueConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SizeValueConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SmallNumbers.c b/src/tmx/Asn_J2735/src/r2024/SmallNumbers.c new file mode 100644 index 000000000..296b29dc8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SmallNumbers.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SmallNumbers.h" + +int +SmallNumbers_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SmallNumbers_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_SmallNumbers_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SmallNumbers_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SmallNumbers = { + "SmallNumbers", + "SmallNumbers", + &asn_OP_NativeInteger, + asn_DEF_SmallNumbers_tags_1, + sizeof(asn_DEF_SmallNumbers_tags_1) + /sizeof(asn_DEF_SmallNumbers_tags_1[0]), /* 1 */ + asn_DEF_SmallNumbers_tags_1, /* Same as above */ + sizeof(asn_DEF_SmallNumbers_tags_1) + /sizeof(asn_DEF_SmallNumbers_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SmallNumbers_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SmallNumbers_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SmallNumbers_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SmallNumbers.h b/src/tmx/Asn_J2735/src/r2024/SmallNumbers.h deleted file mode 100644 index 086e5f0a3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SmallNumbers.h +++ /dev/null @@ -1,304 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SmallNumbers_H_ -#define _SmallNumbers_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SmallNumbers { - SmallNumbers_n1 = 12545, - SmallNumbers_n2 = 12546, - SmallNumbers_n3 = 12547, - SmallNumbers_n4 = 12548, - SmallNumbers_n5 = 12549, - SmallNumbers_n6 = 12550, - SmallNumbers_n7 = 12551, - SmallNumbers_n8 = 12552, - SmallNumbers_n9 = 12553, - SmallNumbers_n10 = 12554, - SmallNumbers_n11 = 12555, - SmallNumbers_n12 = 12556, - SmallNumbers_n13 = 12557, - SmallNumbers_n14 = 12558, - SmallNumbers_n15 = 12559, - SmallNumbers_n16 = 12560, - SmallNumbers_n17 = 12561, - SmallNumbers_n18 = 12562, - SmallNumbers_n19 = 12563, - SmallNumbers_n20 = 12564, - SmallNumbers_n21 = 12565, - SmallNumbers_n22 = 12566, - SmallNumbers_n23 = 12567, - SmallNumbers_n24 = 12568, - SmallNumbers_n25 = 12569, - SmallNumbers_n26 = 12570, - SmallNumbers_n27 = 12571, - SmallNumbers_n28 = 12572, - SmallNumbers_n29 = 12573, - SmallNumbers_n30 = 12574, - SmallNumbers_n31 = 12575, - SmallNumbers_n32 = 12576, - SmallNumbers_n33 = 12577, - SmallNumbers_n34 = 12578, - SmallNumbers_n35 = 12579, - SmallNumbers_n36 = 12580, - SmallNumbers_n37 = 12581, - SmallNumbers_n38 = 12582, - SmallNumbers_n39 = 12583, - SmallNumbers_n40 = 12584, - SmallNumbers_n41 = 12585, - SmallNumbers_n42 = 12586, - SmallNumbers_n43 = 12587, - SmallNumbers_n44 = 12588, - SmallNumbers_n45 = 12589, - SmallNumbers_n46 = 12590, - SmallNumbers_n47 = 12591, - SmallNumbers_n48 = 12592, - SmallNumbers_n49 = 12593, - SmallNumbers_n50 = 12594, - SmallNumbers_n51 = 12595, - SmallNumbers_n52 = 12596, - SmallNumbers_n53 = 12597, - SmallNumbers_n54 = 12598, - SmallNumbers_n55 = 12599, - SmallNumbers_n56 = 12600, - SmallNumbers_n57 = 12601, - SmallNumbers_n58 = 12602, - SmallNumbers_n59 = 12603, - SmallNumbers_n60 = 12604, - SmallNumbers_n61 = 12605, - SmallNumbers_n62 = 12606, - SmallNumbers_n63 = 12607, - SmallNumbers_n64 = 12608, - SmallNumbers_n65 = 12609, - SmallNumbers_n66 = 12610, - SmallNumbers_n67 = 12611, - SmallNumbers_n68 = 12612, - SmallNumbers_n69 = 12613, - SmallNumbers_n70 = 12614, - SmallNumbers_n71 = 12615, - SmallNumbers_n72 = 12616, - SmallNumbers_n73 = 12617, - SmallNumbers_n74 = 12618, - SmallNumbers_n75 = 12619, - SmallNumbers_n76 = 12620, - SmallNumbers_n77 = 12621, - SmallNumbers_n78 = 12622, - SmallNumbers_n79 = 12623, - SmallNumbers_n80 = 12624, - SmallNumbers_n81 = 12625, - SmallNumbers_n82 = 12626, - SmallNumbers_n83 = 12627, - SmallNumbers_n84 = 12628, - SmallNumbers_n85 = 12629, - SmallNumbers_n86 = 12630, - SmallNumbers_n87 = 12631, - SmallNumbers_n88 = 12632, - SmallNumbers_n89 = 12633, - SmallNumbers_n90 = 12634, - SmallNumbers_n91 = 12635, - SmallNumbers_n92 = 12636, - SmallNumbers_n93 = 12637, - SmallNumbers_n94 = 12638, - SmallNumbers_n95 = 12639, - SmallNumbers_n96 = 12640, - SmallNumbers_n97 = 12641, - SmallNumbers_n98 = 12642, - SmallNumbers_n99 = 12643, - SmallNumbers_n100 = 12644, - SmallNumbers_n101 = 12645, - SmallNumbers_n102 = 12646, - SmallNumbers_n103 = 12647, - SmallNumbers_n104 = 12648, - SmallNumbers_n105 = 12649, - SmallNumbers_n106 = 12650, - SmallNumbers_n107 = 12651, - SmallNumbers_n108 = 12652, - SmallNumbers_n109 = 12653, - SmallNumbers_n110 = 12654, - SmallNumbers_n111 = 12655, - SmallNumbers_n112 = 12656, - SmallNumbers_n113 = 12657, - SmallNumbers_n114 = 12658, - SmallNumbers_n115 = 12659, - SmallNumbers_n116 = 12660, - SmallNumbers_n117 = 12661, - SmallNumbers_n118 = 12662, - SmallNumbers_n119 = 12663, - SmallNumbers_n120 = 12664, - SmallNumbers_n121 = 12665, - SmallNumbers_n122 = 12666, - SmallNumbers_n123 = 12667, - SmallNumbers_n124 = 12668, - SmallNumbers_n125 = 12669, - SmallNumbers_n126 = 12670, - SmallNumbers_n127 = 12671, - SmallNumbers_n128 = 12672, - SmallNumbers_n129 = 12673, - SmallNumbers_n130 = 12674, - SmallNumbers_n131 = 12675, - SmallNumbers_n132 = 12676, - SmallNumbers_n133 = 12677, - SmallNumbers_n134 = 12678, - SmallNumbers_n135 = 12679, - SmallNumbers_n136 = 12680, - SmallNumbers_n137 = 12681, - SmallNumbers_n138 = 12682, - SmallNumbers_n139 = 12683, - SmallNumbers_n140 = 12684, - SmallNumbers_n141 = 12685, - SmallNumbers_n142 = 12686, - SmallNumbers_n143 = 12687, - SmallNumbers_n144 = 12688, - SmallNumbers_n145 = 12689, - SmallNumbers_n146 = 12690, - SmallNumbers_n147 = 12691, - SmallNumbers_n148 = 12692, - SmallNumbers_n149 = 12693, - SmallNumbers_n150 = 12694, - SmallNumbers_n151 = 12695, - SmallNumbers_n152 = 12696, - SmallNumbers_n153 = 12697, - SmallNumbers_n154 = 12698, - SmallNumbers_n155 = 12699, - SmallNumbers_n156 = 12700, - SmallNumbers_n157 = 12701, - SmallNumbers_n158 = 12702, - SmallNumbers_n159 = 12703, - SmallNumbers_n160 = 12704, - SmallNumbers_n161 = 12705, - SmallNumbers_n162 = 12706, - SmallNumbers_n163 = 12707, - SmallNumbers_n164 = 12708, - SmallNumbers_n165 = 12709, - SmallNumbers_n166 = 12710, - SmallNumbers_n167 = 12711, - SmallNumbers_n168 = 12712, - SmallNumbers_n169 = 12713, - SmallNumbers_n170 = 12714, - SmallNumbers_n171 = 12715, - SmallNumbers_n172 = 12716, - SmallNumbers_n173 = 12717, - SmallNumbers_n174 = 12718, - SmallNumbers_n175 = 12719, - SmallNumbers_n176 = 12720, - SmallNumbers_n177 = 12721, - SmallNumbers_n178 = 12722, - SmallNumbers_n179 = 12723, - SmallNumbers_n180 = 12724, - SmallNumbers_n181 = 12725, - SmallNumbers_n182 = 12726, - SmallNumbers_n183 = 12727, - SmallNumbers_n184 = 12728, - SmallNumbers_n185 = 12729, - SmallNumbers_n186 = 12730, - SmallNumbers_n187 = 12731, - SmallNumbers_n188 = 12732, - SmallNumbers_n189 = 12733, - SmallNumbers_n190 = 12734, - SmallNumbers_n191 = 12735, - SmallNumbers_n192 = 12736, - SmallNumbers_n193 = 12737, - SmallNumbers_n194 = 12738, - SmallNumbers_n195 = 12739, - SmallNumbers_n196 = 12740, - SmallNumbers_n197 = 12741, - SmallNumbers_n198 = 12742, - SmallNumbers_n199 = 12743, - SmallNumbers_n200 = 12744, - SmallNumbers_n201 = 12745, - SmallNumbers_n202 = 12746, - SmallNumbers_n203 = 12747, - SmallNumbers_n204 = 12748, - SmallNumbers_n205 = 12749, - SmallNumbers_n206 = 12750, - SmallNumbers_n207 = 12751, - SmallNumbers_n208 = 12752, - SmallNumbers_n209 = 12753, - SmallNumbers_n210 = 12754, - SmallNumbers_n211 = 12755, - SmallNumbers_n212 = 12756, - SmallNumbers_n213 = 12757, - SmallNumbers_n214 = 12758, - SmallNumbers_n215 = 12759, - SmallNumbers_n216 = 12760, - SmallNumbers_n217 = 12761, - SmallNumbers_n218 = 12762, - SmallNumbers_n219 = 12763, - SmallNumbers_n220 = 12764, - SmallNumbers_n221 = 12765, - SmallNumbers_n222 = 12766, - SmallNumbers_n223 = 12767, - SmallNumbers_n224 = 12768, - SmallNumbers_n225 = 12769, - SmallNumbers_n226 = 12770, - SmallNumbers_n227 = 12771, - SmallNumbers_n228 = 12772, - SmallNumbers_n229 = 12773, - SmallNumbers_n230 = 12774, - SmallNumbers_n231 = 12775, - SmallNumbers_n232 = 12776, - SmallNumbers_n233 = 12777, - SmallNumbers_n234 = 12778, - SmallNumbers_n235 = 12779, - SmallNumbers_n236 = 12780, - SmallNumbers_n237 = 12781, - SmallNumbers_n238 = 12782, - SmallNumbers_n239 = 12783, - SmallNumbers_n240 = 12784, - SmallNumbers_n241 = 12785, - SmallNumbers_n242 = 12786, - SmallNumbers_n243 = 12787, - SmallNumbers_n244 = 12788, - SmallNumbers_n245 = 12789, - SmallNumbers_n246 = 12790, - SmallNumbers_n247 = 12791, - SmallNumbers_n248 = 12792, - SmallNumbers_n249 = 12793, - SmallNumbers_n250 = 12794, - SmallNumbers_n251 = 12795, - SmallNumbers_n252 = 12796, - SmallNumbers_n253 = 12797, - SmallNumbers_n254 = 12798, - SmallNumbers_n255 = 12799 -} e_SmallNumbers; - -/* SmallNumbers */ -typedef long SmallNumbers_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SmallNumbers; -asn_struct_free_f SmallNumbers_free; -asn_struct_print_f SmallNumbers_print; -asn_constr_check_f SmallNumbers_constraint; -ber_type_decoder_f SmallNumbers_decode_ber; -der_type_encoder_f SmallNumbers_encode_der; -xer_type_decoder_f SmallNumbers_decode_xer; -xer_type_encoder_f SmallNumbers_encode_xer; -oer_type_decoder_f SmallNumbers_decode_oer; -oer_type_encoder_f SmallNumbers_encode_oer; -per_type_decoder_f SmallNumbers_decode_uper; -per_type_encoder_f SmallNumbers_encode_uper; -per_type_decoder_f SmallNumbers_decode_aper; -per_type_encoder_f SmallNumbers_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SmallNumbers_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SnapShot.c b/src/tmx/Asn_J2735/src/r2024/SnapShot.c new file mode 100644 index 000000000..23f867829 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SnapShot.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SnapShot.h" + +asn_TYPE_member_t asn_MBR_SnapShot_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SnapShot, thePosition), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FullPositionVector, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "thePosition" + }, + { ATF_POINTER, 3, offsetof(struct SnapShot, safetyExt), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleSafetyExtensions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "safetyExt" + }, + { ATF_POINTER, 2, offsetof(struct SnapShot, dataSet), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dataSet" + }, + { ATF_POINTER, 1, offsetof(struct SnapShot, weatherData), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NtcipEssData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "weatherData" + }, +}; +static const int asn_MAP_SnapShot_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_SnapShot_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SnapShot_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* thePosition */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* safetyExt */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* dataSet */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* weatherData */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SnapShot_specs_1 = { + sizeof(struct SnapShot), + offsetof(struct SnapShot, _asn_ctx), + asn_MAP_SnapShot_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_SnapShot_oms_1, /* Optional members */ + 2, 1, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SnapShot = { + "SnapShot", + "SnapShot", + &asn_OP_SEQUENCE, + asn_DEF_SnapShot_tags_1, + sizeof(asn_DEF_SnapShot_tags_1) + /sizeof(asn_DEF_SnapShot_tags_1[0]), /* 1 */ + asn_DEF_SnapShot_tags_1, /* Same as above */ + sizeof(asn_DEF_SnapShot_tags_1) + /sizeof(asn_DEF_SnapShot_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SnapShot_1, + 4, /* Elements count */ + &asn_SPC_SnapShot_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SnapShot.h b/src/tmx/Asn_J2735/src/r2024/SnapShot.h deleted file mode 100644 index 9736f5949..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SnapShot.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SnapShot_H_ -#define _SnapShot_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "FullPositionVector.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct VehicleSafetyExtensions; -struct VehicleStatus; -struct NtcipEssData; - -/* SnapShot */ -typedef struct SnapShot { - FullPositionVector_t thePosition; - struct VehicleSafetyExtensions *safetyExt; /* OPTIONAL */ - struct VehicleStatus *dataSet; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - struct NtcipEssData *weatherData; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SnapShot_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SnapShot; -extern asn_SEQUENCE_specifics_t asn_SPC_SnapShot_specs_1; -extern asn_TYPE_member_t asn_MBR_SnapShot_1[4]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "VehicleSafetyExtensions.h" -#include "VehicleStatus.h" -#include "NtcipEssData.h" - -#endif /* _SnapShot_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Snapshot.c b/src/tmx/Asn_J2735/src/r2024/Snapshot.c new file mode 100644 index 000000000..f39ec0717 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Snapshot.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Snapshot.h" + +asn_TYPE_member_t asn_MBR_Snapshot_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Snapshot, thePosition), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FullPositionVector, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "thePosition" + }, + { ATF_POINTER, 2, offsetof(struct Snapshot, safetyExt), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleSafetyExtensions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "safetyExt" + }, + { ATF_POINTER, 1, offsetof(struct Snapshot, dataSet), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dataSet" + }, +}; +static const int asn_MAP_Snapshot_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_Snapshot_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Snapshot_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* thePosition */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* safetyExt */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* dataSet */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Snapshot_specs_1 = { + sizeof(struct Snapshot), + offsetof(struct Snapshot, _asn_ctx), + asn_MAP_Snapshot_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_Snapshot_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Snapshot = { + "Snapshot", + "Snapshot", + &asn_OP_SEQUENCE, + asn_DEF_Snapshot_tags_1, + sizeof(asn_DEF_Snapshot_tags_1) + /sizeof(asn_DEF_Snapshot_tags_1[0]), /* 1 */ + asn_DEF_Snapshot_tags_1, /* Same as above */ + sizeof(asn_DEF_Snapshot_tags_1) + /sizeof(asn_DEF_Snapshot_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Snapshot_1, + 3, /* Elements count */ + &asn_SPC_Snapshot_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Snapshot.h b/src/tmx/Asn_J2735/src/r2024/Snapshot.h deleted file mode 100644 index 211a6ef7d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Snapshot.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Snapshot_H_ -#define _Snapshot_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "FullPositionVector.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct VehicleSafetyExtensions; -struct VehicleStatus; - -/* Snapshot */ -typedef struct Snapshot { - FullPositionVector_t thePosition; - struct VehicleSafetyExtensions *safetyExt; /* OPTIONAL */ - struct VehicleStatus *dataSet; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Snapshot_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Snapshot; -extern asn_SEQUENCE_specifics_t asn_SPC_Snapshot_specs_1; -extern asn_TYPE_member_t asn_MBR_Snapshot_1[3]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "VehicleSafetyExtensions.h" -#include "VehicleStatus.h" - -#endif /* _Snapshot_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SnapshotDistance.c b/src/tmx/Asn_J2735/src/r2024/SnapshotDistance.c new file mode 100644 index 000000000..426ad77ba --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SnapshotDistance.c @@ -0,0 +1,120 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataManagement" + * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SnapshotDistance.h" + +asn_TYPE_member_t asn_MBR_SnapshotDistance_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SnapshotDistance, distance1), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GrossDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "distance1" + }, + { ATF_NOFLAGS, 0, offsetof(struct SnapshotDistance, speed1), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GrossSpeed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed1" + }, + { ATF_NOFLAGS, 0, offsetof(struct SnapshotDistance, distance2), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GrossDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "distance2" + }, + { ATF_NOFLAGS, 0, offsetof(struct SnapshotDistance, speed2), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GrossSpeed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed2" + }, +}; +static const ber_tlv_tag_t asn_DEF_SnapshotDistance_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SnapshotDistance_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* distance1 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* speed1 */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* distance2 */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* speed2 */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SnapshotDistance_specs_1 = { + sizeof(struct SnapshotDistance), + offsetof(struct SnapshotDistance, _asn_ctx), + asn_MAP_SnapshotDistance_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SnapshotDistance = { + "SnapshotDistance", + "SnapshotDistance", + &asn_OP_SEQUENCE, + asn_DEF_SnapshotDistance_tags_1, + sizeof(asn_DEF_SnapshotDistance_tags_1) + /sizeof(asn_DEF_SnapshotDistance_tags_1[0]), /* 1 */ + asn_DEF_SnapshotDistance_tags_1, /* Same as above */ + sizeof(asn_DEF_SnapshotDistance_tags_1) + /sizeof(asn_DEF_SnapshotDistance_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SnapshotDistance_1, + 4, /* Elements count */ + &asn_SPC_SnapshotDistance_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SnapshotDistance.h b/src/tmx/Asn_J2735/src/r2024/SnapshotDistance.h deleted file mode 100644 index 54cafaad3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SnapshotDistance.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataManagement" - * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SnapshotDistance_H_ -#define _SnapshotDistance_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "GrossDistance.h" -#include "GrossSpeed.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SnapshotDistance */ -typedef struct SnapshotDistance { - GrossDistance_t distance1; - GrossSpeed_t speed1; - GrossDistance_t distance2; - GrossSpeed_t speed2; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SnapshotDistance_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SnapshotDistance; -extern asn_SEQUENCE_specifics_t asn_SPC_SnapshotDistance_specs_1; -extern asn_TYPE_member_t asn_MBR_SnapshotDistance_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _SnapshotDistance_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SnapshotTime.c b/src/tmx/Asn_J2735/src/r2024/SnapshotTime.c new file mode 100644 index 000000000..3eddddbb3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SnapshotTime.c @@ -0,0 +1,120 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataManagement" + * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SnapshotTime.h" + +asn_TYPE_member_t asn_MBR_SnapshotTime_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SnapshotTime, speed1), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GrossSpeed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed1" + }, + { ATF_NOFLAGS, 0, offsetof(struct SnapshotTime, time1), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SecondOfTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "time1" + }, + { ATF_NOFLAGS, 0, offsetof(struct SnapshotTime, speed2), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GrossSpeed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed2" + }, + { ATF_NOFLAGS, 0, offsetof(struct SnapshotTime, time2), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SecondOfTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "time2" + }, +}; +static const ber_tlv_tag_t asn_DEF_SnapshotTime_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SnapshotTime_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* speed1 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* time1 */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* speed2 */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* time2 */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SnapshotTime_specs_1 = { + sizeof(struct SnapshotTime), + offsetof(struct SnapshotTime, _asn_ctx), + asn_MAP_SnapshotTime_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SnapshotTime = { + "SnapshotTime", + "SnapshotTime", + &asn_OP_SEQUENCE, + asn_DEF_SnapshotTime_tags_1, + sizeof(asn_DEF_SnapshotTime_tags_1) + /sizeof(asn_DEF_SnapshotTime_tags_1[0]), /* 1 */ + asn_DEF_SnapshotTime_tags_1, /* Same as above */ + sizeof(asn_DEF_SnapshotTime_tags_1) + /sizeof(asn_DEF_SnapshotTime_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SnapshotTime_1, + 4, /* Elements count */ + &asn_SPC_SnapshotTime_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SnapshotTime.h b/src/tmx/Asn_J2735/src/r2024/SnapshotTime.h deleted file mode 100644 index c0a8fa22b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SnapshotTime.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataManagement" - * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SnapshotTime_H_ -#define _SnapshotTime_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "GrossSpeed.h" -#include "SecondOfTime.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SnapshotTime */ -typedef struct SnapshotTime { - GrossSpeed_t speed1; - SecondOfTime_t time1; - GrossSpeed_t speed2; - SecondOfTime_t time2; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SnapshotTime_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SnapshotTime; -extern asn_SEQUENCE_specifics_t asn_SPC_SnapshotTime_specs_1; -extern asn_TYPE_member_t asn_MBR_SnapshotTime_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _SnapshotTime_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Snow.c b/src/tmx/Asn_J2735/src/r2024/Snow.c new file mode 100644 index 000000000..cb456d04b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Snow.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Snow.h" + +asn_TYPE_member_t asn_MBR_Snow_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct Snow, type), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SnowType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "type" + }, +}; +static const ber_tlv_tag_t asn_DEF_Snow_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Snow_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* type */ +}; +asn_SEQUENCE_specifics_t asn_SPC_Snow_specs_1 = { + sizeof(struct Snow), + offsetof(struct Snow, _asn_ctx), + asn_MAP_Snow_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_Snow = { + "Snow", + "Snow", + &asn_OP_SEQUENCE, + asn_DEF_Snow_tags_1, + sizeof(asn_DEF_Snow_tags_1) + /sizeof(asn_DEF_Snow_tags_1[0]), /* 1 */ + asn_DEF_Snow_tags_1, /* Same as above */ + sizeof(asn_DEF_Snow_tags_1) + /sizeof(asn_DEF_Snow_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Snow_1, + 1, /* Elements count */ + &asn_SPC_Snow_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Snow.h b/src/tmx/Asn_J2735/src/r2024/Snow.h deleted file mode 100644 index ffec47d6a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Snow.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Snow_H_ -#define _Snow_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SnowType.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Snow */ -typedef struct Snow { - SnowType_t type; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} Snow_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Snow; -extern asn_SEQUENCE_specifics_t asn_SPC_Snow_specs_1; -extern asn_TYPE_member_t asn_MBR_Snow_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _Snow_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SnowType.c b/src/tmx/Asn_J2735/src/r2024/SnowType.c new file mode 100644 index 000000000..79cc6d30b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SnowType.c @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SnowType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SnowType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SnowType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_SnowType_value2enum_1[] = { + { 0, 6, "packed" }, + { 1, 5, "loose" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_SnowType_enum2value_1[] = { + 1, /* loose(1) */ + 0 /* packed(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_SnowType_specs_1 = { + asn_MAP_SnowType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SnowType_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SnowType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SnowType = { + "SnowType", + "SnowType", + &asn_OP_NativeEnumerated, + asn_DEF_SnowType_tags_1, + sizeof(asn_DEF_SnowType_tags_1) + /sizeof(asn_DEF_SnowType_tags_1[0]), /* 1 */ + asn_DEF_SnowType_tags_1, /* Same as above */ + sizeof(asn_DEF_SnowType_tags_1) + /sizeof(asn_DEF_SnowType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SnowType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SnowType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SnowType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SnowType.h b/src/tmx/Asn_J2735/src/r2024/SnowType.h deleted file mode 100644 index 6b23cf6cf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SnowType.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SnowType_H_ -#define _SnowType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SnowType { - SnowType_packed = 0, - SnowType_loose = 1 - /* - * Enumeration is extensible - */ -} e_SnowType; - -/* SnowType */ -typedef long SnowType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SnowType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SnowType; -extern const asn_INTEGER_specifics_t asn_SPC_SnowType_specs_1; -asn_struct_free_f SnowType_free; -asn_struct_print_f SnowType_print; -asn_constr_check_f SnowType_constraint; -ber_type_decoder_f SnowType_decode_ber; -der_type_encoder_f SnowType_encode_der; -xer_type_decoder_f SnowType_decode_xer; -xer_type_encoder_f SnowType_encode_xer; -oer_type_decoder_f SnowType_decode_oer; -oer_type_encoder_f SnowType_encode_oer; -per_type_decoder_f SnowType_decode_uper; -per_type_encoder_f SnowType_encode_uper; -per_type_decoder_f SnowType_decode_aper; -per_type_encoder_f SnowType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SnowType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SoundLevel.c b/src/tmx/Asn_J2735/src/r2024/SoundLevel.c new file mode 100644 index 000000000..6e979252a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SoundLevel.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SoundLevel.h" + +asn_TYPE_member_t asn_MBR_SoundLevel_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SoundLevel, soundStationary), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "soundStationary" + }, + { ATF_NOFLAGS, 0, offsetof(struct SoundLevel, soundDriveBy), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "soundDriveBy" + }, +}; +static const ber_tlv_tag_t asn_DEF_SoundLevel_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SoundLevel_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* soundStationary */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* soundDriveBy */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SoundLevel_specs_1 = { + sizeof(struct SoundLevel), + offsetof(struct SoundLevel, _asn_ctx), + asn_MAP_SoundLevel_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SoundLevel = { + "SoundLevel", + "SoundLevel", + &asn_OP_SEQUENCE, + asn_DEF_SoundLevel_tags_1, + sizeof(asn_DEF_SoundLevel_tags_1) + /sizeof(asn_DEF_SoundLevel_tags_1[0]), /* 1 */ + asn_DEF_SoundLevel_tags_1, /* Same as above */ + sizeof(asn_DEF_SoundLevel_tags_1) + /sizeof(asn_DEF_SoundLevel_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SoundLevel_1, + 2, /* Elements count */ + &asn_SPC_SoundLevel_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SoundLevel.h b/src/tmx/Asn_J2735/src/r2024/SoundLevel.h deleted file mode 100644 index 5490f4efd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SoundLevel.h +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SoundLevel_H_ -#define _SoundLevel_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int1Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SoundLevel */ -typedef struct SoundLevel { - Int1Unsigned_t soundStationary; - Int1Unsigned_t soundDriveBy; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SoundLevel_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SoundLevel; -extern asn_SEQUENCE_specifics_t asn_SPC_SoundLevel_specs_1; -extern asn_TYPE_member_t asn_MBR_SoundLevel_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _SoundLevel_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SpecialCharges.c b/src/tmx/Asn_J2735/src/r2024/SpecialCharges.c new file mode 100644 index 000000000..d048c4b31 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SpecialCharges.c @@ -0,0 +1,176 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SpecialCharges.h" + +asn_TYPE_member_t asn_MBR_SpecialCharges_1[] = { + { ATF_POINTER, 7, offsetof(struct SpecialCharges, hov2Charge), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hov2Charge" + }, + { ATF_POINTER, 6, offsetof(struct SpecialCharges, hov3Charge), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hov3Charge" + }, + { ATF_POINTER, 5, offsetof(struct SpecialCharges, hov4Charge), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hov4Charge" + }, + { ATF_POINTER, 4, offsetof(struct SpecialCharges, hov5PlusCharge), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hov5PlusCharge" + }, + { ATF_POINTER, 3, offsetof(struct SpecialCharges, cleanAirCharge), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "cleanAirCharge" + }, + { ATF_POINTER, 2, offsetof(struct SpecialCharges, operatorDefined), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OperatorDefined, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "operatorDefined" + }, + { ATF_POINTER, 1, offsetof(struct SpecialCharges, engineCharacteristics), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EngineCharacteristics, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "engineCharacteristics" + }, +}; +static const int asn_MAP_SpecialCharges_oms_1[] = { 0, 1, 2, 3, 4, 5, 6 }; +static const ber_tlv_tag_t asn_DEF_SpecialCharges_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SpecialCharges_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hov2Charge */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* hov3Charge */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* hov4Charge */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* hov5PlusCharge */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* cleanAirCharge */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* operatorDefined */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* engineCharacteristics */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SpecialCharges_specs_1 = { + sizeof(struct SpecialCharges), + offsetof(struct SpecialCharges, _asn_ctx), + asn_MAP_SpecialCharges_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_SpecialCharges_oms_1, /* Optional members */ + 7, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SpecialCharges = { + "SpecialCharges", + "SpecialCharges", + &asn_OP_SEQUENCE, + asn_DEF_SpecialCharges_tags_1, + sizeof(asn_DEF_SpecialCharges_tags_1) + /sizeof(asn_DEF_SpecialCharges_tags_1[0]), /* 1 */ + asn_DEF_SpecialCharges_tags_1, /* Same as above */ + sizeof(asn_DEF_SpecialCharges_tags_1) + /sizeof(asn_DEF_SpecialCharges_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SpecialCharges_1, + 7, /* Elements count */ + &asn_SPC_SpecialCharges_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SpecialCharges.h b/src/tmx/Asn_J2735/src/r2024/SpecialCharges.h deleted file mode 100644 index 62f870fe6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SpecialCharges.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SpecialCharges_H_ -#define _SpecialCharges_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "EngineCharacteristics.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct PaymentFee; -struct OperatorDefined; - -/* SpecialCharges */ -typedef struct SpecialCharges { - struct PaymentFee *hov2Charge; /* OPTIONAL */ - struct PaymentFee *hov3Charge; /* OPTIONAL */ - struct PaymentFee *hov4Charge; /* OPTIONAL */ - struct PaymentFee *hov5PlusCharge; /* OPTIONAL */ - struct PaymentFee *cleanAirCharge; /* OPTIONAL */ - struct OperatorDefined *operatorDefined; /* OPTIONAL */ - EngineCharacteristics_t *engineCharacteristics; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SpecialCharges_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SpecialCharges; -extern asn_SEQUENCE_specifics_t asn_SPC_SpecialCharges_specs_1; -extern asn_TYPE_member_t asn_MBR_SpecialCharges_1[7]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "PaymentFee.h" -#include "OperatorDefined.h" - -#endif /* _SpecialCharges_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SpecialEvents.c b/src/tmx/Asn_J2735/src/r2024/SpecialEvents.c new file mode 100644 index 000000000..9bf7c2b71 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SpecialEvents.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SpecialEvents.h" + +int +SpecialEvents_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SpecialEvents_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SpecialEvents_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SpecialEvents_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SpecialEvents = { + "SpecialEvents", + "SpecialEvents", + &asn_OP_NativeInteger, + asn_DEF_SpecialEvents_tags_1, + sizeof(asn_DEF_SpecialEvents_tags_1) + /sizeof(asn_DEF_SpecialEvents_tags_1[0]), /* 1 */ + asn_DEF_SpecialEvents_tags_1, /* Same as above */ + sizeof(asn_DEF_SpecialEvents_tags_1) + /sizeof(asn_DEF_SpecialEvents_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SpecialEvents_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SpecialEvents_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SpecialEvents_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SpecialEvents.h b/src/tmx/Asn_J2735/src/r2024/SpecialEvents.h deleted file mode 100644 index 1da68fa9a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SpecialEvents.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SpecialEvents_H_ -#define _SpecialEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SpecialEvents { - SpecialEvents_major_event = 3841, - SpecialEvents_airshow = 3842, - SpecialEvents_hot_air_ballooning = 3843, - SpecialEvents_concert = 3844, - SpecialEvents_state_occasion = 3845, - SpecialEvents_vIP_visit = 3846, - SpecialEvents_show = 3847, - SpecialEvents_festival = 3848, - SpecialEvents_exhibition = 3849, - SpecialEvents_performing_arts = 3850, - SpecialEvents_outdoor_market = 3851, - SpecialEvents_fair = 3852, - SpecialEvents_carnival = 3853, - SpecialEvents_fireworks_display = 3854, - SpecialEvents_trade_expo = 3855, - SpecialEvents_movie_filming = 3856, - SpecialEvents_presidential_visit = 3857, - SpecialEvents_parade = 3858, - SpecialEvents_procession = 3859, - SpecialEvents_funeral_procession = 3860, - SpecialEvents_crowd = 3861, - SpecialEvents_holiday_traffic_crowds = 3862, - SpecialEvents_event_ended = 3967 -} e_SpecialEvents; - -/* SpecialEvents */ -typedef long SpecialEvents_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SpecialEvents_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SpecialEvents; -asn_struct_free_f SpecialEvents_free; -asn_struct_print_f SpecialEvents_print; -asn_constr_check_f SpecialEvents_constraint; -ber_type_decoder_f SpecialEvents_decode_ber; -der_type_encoder_f SpecialEvents_encode_der; -xer_type_decoder_f SpecialEvents_decode_xer; -xer_type_encoder_f SpecialEvents_encode_xer; -oer_type_decoder_f SpecialEvents_decode_oer; -oer_type_encoder_f SpecialEvents_encode_oer; -per_type_decoder_f SpecialEvents_decode_uper; -per_type_encoder_f SpecialEvents_encode_uper; -per_type_decoder_f SpecialEvents_decode_aper; -per_type_encoder_f SpecialEvents_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SpecialEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SpecialVehicleExtensions.c b/src/tmx/Asn_J2735/src/r2024/SpecialVehicleExtensions.c new file mode 100644 index 000000000..b7ac2c497 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SpecialVehicleExtensions.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SpecialVehicleExtensions.h" + +asn_TYPE_member_t asn_MBR_SpecialVehicleExtensions_1[] = { + { ATF_POINTER, 3, offsetof(struct SpecialVehicleExtensions, vehicleAlerts), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EmergencyDetails, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleAlerts" + }, + { ATF_POINTER, 2, offsetof(struct SpecialVehicleExtensions, description), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EventDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "description" + }, + { ATF_POINTER, 1, offsetof(struct SpecialVehicleExtensions, deprecated), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrailerData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deprecated" + }, +}; +static const int asn_MAP_SpecialVehicleExtensions_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_SpecialVehicleExtensions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SpecialVehicleExtensions_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicleAlerts */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* description */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* deprecated */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SpecialVehicleExtensions_specs_1 = { + sizeof(struct SpecialVehicleExtensions), + offsetof(struct SpecialVehicleExtensions, _asn_ctx), + asn_MAP_SpecialVehicleExtensions_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_SpecialVehicleExtensions_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SpecialVehicleExtensions = { + "SpecialVehicleExtensions", + "SpecialVehicleExtensions", + &asn_OP_SEQUENCE, + asn_DEF_SpecialVehicleExtensions_tags_1, + sizeof(asn_DEF_SpecialVehicleExtensions_tags_1) + /sizeof(asn_DEF_SpecialVehicleExtensions_tags_1[0]), /* 1 */ + asn_DEF_SpecialVehicleExtensions_tags_1, /* Same as above */ + sizeof(asn_DEF_SpecialVehicleExtensions_tags_1) + /sizeof(asn_DEF_SpecialVehicleExtensions_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SpecialVehicleExtensions_1, + 3, /* Elements count */ + &asn_SPC_SpecialVehicleExtensions_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SpecialVehicleExtensions.h b/src/tmx/Asn_J2735/src/r2024/SpecialVehicleExtensions.h deleted file mode 100644 index d211d3043..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SpecialVehicleExtensions.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SpecialVehicleExtensions_H_ -#define _SpecialVehicleExtensions_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct EmergencyDetails; -struct EventDescription; -struct TrailerData; - -/* SpecialVehicleExtensions */ -typedef struct SpecialVehicleExtensions { - struct EmergencyDetails *vehicleAlerts; /* OPTIONAL */ - struct EventDescription *description; /* OPTIONAL */ - struct TrailerData *deprecated; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SpecialVehicleExtensions_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SpecialVehicleExtensions; -extern asn_SEQUENCE_specifics_t asn_SPC_SpecialVehicleExtensions_specs_1; -extern asn_TYPE_member_t asn_MBR_SpecialVehicleExtensions_1[3]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "EmergencyDetails.h" -#include "EventDescription.h" -#include "TrailerData.h" - -#endif /* _SpecialVehicleExtensions_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Speed.c b/src/tmx/Asn_J2735/src/r2024/Speed.c new file mode 100644 index 000000000..96b7391cd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Speed.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Speed.h" + +int +Speed_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 8191L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Speed_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..8191) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Speed_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 13, 13, 0, 8191 } /* (0..8191) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Speed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Speed = { + "Speed", + "Speed", + &asn_OP_NativeInteger, + asn_DEF_Speed_tags_1, + sizeof(asn_DEF_Speed_tags_1) + /sizeof(asn_DEF_Speed_tags_1[0]), /* 1 */ + asn_DEF_Speed_tags_1, /* Same as above */ + sizeof(asn_DEF_Speed_tags_1) + /sizeof(asn_DEF_Speed_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Speed_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Speed_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Speed_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Speed.h b/src/tmx/Asn_J2735/src/r2024/Speed.h deleted file mode 100644 index 504e7fb1a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Speed.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Speed_H_ -#define _Speed_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Speed */ -typedef long Speed_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Speed_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Speed; -asn_struct_free_f Speed_free; -asn_struct_print_f Speed_print; -asn_constr_check_f Speed_constraint; -ber_type_decoder_f Speed_decode_ber; -der_type_encoder_f Speed_encode_der; -xer_type_decoder_f Speed_decode_xer; -xer_type_encoder_f Speed_encode_xer; -oer_type_decoder_f Speed_decode_oer; -oer_type_encoder_f Speed_encode_oer; -per_type_decoder_f Speed_decode_uper; -per_type_encoder_f Speed_encode_uper; -per_type_decoder_f Speed_decode_aper; -per_type_encoder_f Speed_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Speed_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedAdvice.c b/src/tmx/Asn_J2735/src/r2024/SpeedAdvice.c new file mode 100644 index 000000000..df0795cc0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SpeedAdvice.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SpeedAdvice.h" + +int +SpeedAdvice_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 500L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SpeedAdvice_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..500) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SpeedAdvice_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, 0, 500 } /* (0..500) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SpeedAdvice_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SpeedAdvice = { + "SpeedAdvice", + "SpeedAdvice", + &asn_OP_NativeInteger, + asn_DEF_SpeedAdvice_tags_1, + sizeof(asn_DEF_SpeedAdvice_tags_1) + /sizeof(asn_DEF_SpeedAdvice_tags_1[0]), /* 1 */ + asn_DEF_SpeedAdvice_tags_1, /* Same as above */ + sizeof(asn_DEF_SpeedAdvice_tags_1) + /sizeof(asn_DEF_SpeedAdvice_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SpeedAdvice_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SpeedAdvice_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SpeedAdvice_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedAdvice.h b/src/tmx/Asn_J2735/src/r2024/SpeedAdvice.h deleted file mode 100644 index 2a1388a9b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SpeedAdvice.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SpeedAdvice_H_ -#define _SpeedAdvice_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SpeedAdvice */ -typedef long SpeedAdvice_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SpeedAdvice_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SpeedAdvice; -asn_struct_free_f SpeedAdvice_free; -asn_struct_print_f SpeedAdvice_print; -asn_constr_check_f SpeedAdvice_constraint; -ber_type_decoder_f SpeedAdvice_decode_ber; -der_type_encoder_f SpeedAdvice_encode_der; -xer_type_decoder_f SpeedAdvice_decode_xer; -xer_type_encoder_f SpeedAdvice_encode_xer; -oer_type_decoder_f SpeedAdvice_decode_oer; -oer_type_encoder_f SpeedAdvice_encode_oer; -per_type_decoder_f SpeedAdvice_decode_uper; -per_type_encoder_f SpeedAdvice_encode_uper; -per_type_decoder_f SpeedAdvice_decode_aper; -per_type_encoder_f SpeedAdvice_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SpeedAdvice_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedConfidence.c b/src/tmx/Asn_J2735/src/r2024/SpeedConfidence.c new file mode 100644 index 000000000..aff040bbd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SpeedConfidence.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SpeedConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SpeedConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SpeedConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_SpeedConfidence_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 9, "prec100ms" }, + { 2, 8, "prec10ms" }, + { 3, 7, "prec5ms" }, + { 4, 7, "prec1ms" }, + { 5, 9, "prec0-1ms" }, + { 6, 10, "prec0-05ms" }, + { 7, 10, "prec0-01ms" } +}; +static const unsigned int asn_MAP_SpeedConfidence_enum2value_1[] = { + 7, /* prec0-01ms(7) */ + 6, /* prec0-05ms(6) */ + 5, /* prec0-1ms(5) */ + 1, /* prec100ms(1) */ + 2, /* prec10ms(2) */ + 4, /* prec1ms(4) */ + 3, /* prec5ms(3) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_SpeedConfidence_specs_1 = { + asn_MAP_SpeedConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SpeedConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SpeedConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SpeedConfidence = { + "SpeedConfidence", + "SpeedConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_SpeedConfidence_tags_1, + sizeof(asn_DEF_SpeedConfidence_tags_1) + /sizeof(asn_DEF_SpeedConfidence_tags_1[0]), /* 1 */ + asn_DEF_SpeedConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_SpeedConfidence_tags_1) + /sizeof(asn_DEF_SpeedConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SpeedConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SpeedConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SpeedConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedConfidence.h b/src/tmx/Asn_J2735/src/r2024/SpeedConfidence.h deleted file mode 100644 index f58358006..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SpeedConfidence.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SpeedConfidence_H_ -#define _SpeedConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SpeedConfidence { - SpeedConfidence_unavailable = 0, - SpeedConfidence_prec100ms = 1, - SpeedConfidence_prec10ms = 2, - SpeedConfidence_prec5ms = 3, - SpeedConfidence_prec1ms = 4, - SpeedConfidence_prec0_1ms = 5, - SpeedConfidence_prec0_05ms = 6, - SpeedConfidence_prec0_01ms = 7 -} e_SpeedConfidence; - -/* SpeedConfidence */ -typedef long SpeedConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SpeedConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SpeedConfidence; -extern const asn_INTEGER_specifics_t asn_SPC_SpeedConfidence_specs_1; -asn_struct_free_f SpeedConfidence_free; -asn_struct_print_f SpeedConfidence_print; -asn_constr_check_f SpeedConfidence_constraint; -ber_type_decoder_f SpeedConfidence_decode_ber; -der_type_encoder_f SpeedConfidence_encode_der; -xer_type_decoder_f SpeedConfidence_decode_xer; -xer_type_encoder_f SpeedConfidence_encode_xer; -oer_type_decoder_f SpeedConfidence_decode_oer; -oer_type_encoder_f SpeedConfidence_encode_oer; -per_type_decoder_f SpeedConfidence_decode_uper; -per_type_encoder_f SpeedConfidence_encode_uper; -per_type_decoder_f SpeedConfidence_decode_aper; -per_type_encoder_f SpeedConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SpeedConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedLimit.c b/src/tmx/Asn_J2735/src/r2024/SpeedLimit.c new file mode 100644 index 000000000..53aef5e5c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SpeedLimit.c @@ -0,0 +1,215 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SpeedLimit.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_item_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_item_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SpeedLimit_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SpeedLimit_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_item_3[] = { + { ATF_NOFLAGS, 0, offsetof(struct SpeedLimit__Member__item, choice.itis), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ITIScodes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "itis" + }, + { ATF_NOFLAGS, 0, offsetof(struct SpeedLimit__Member__item, choice.text), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIStextPhrase, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "text" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_item_tag2el_3[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* itis */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* text */ +}; +static asn_CHOICE_specifics_t asn_SPC_item_specs_3 = { + sizeof(struct SpeedLimit__Member__item), + offsetof(struct SpeedLimit__Member__item, _asn_ctx), + offsetof(struct SpeedLimit__Member__item, present), + sizeof(((struct SpeedLimit__Member__item *)0)->present), + asn_MAP_item_tag2el_3, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_item_3 = { + "item", + "item", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_item_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_item_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_item_3, + 2, /* Elements count */ + &asn_SPC_item_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct SpeedLimit__Member, item), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_item_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "item" + }, +}; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* item */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct SpeedLimit__Member), + offsetof(struct SpeedLimit__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Member_2, + 1, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SpeedLimit_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_SpeedLimit_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_SpeedLimit_specs_1 = { + sizeof(struct SpeedLimit), + offsetof(struct SpeedLimit, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_SpeedLimit = { + "SpeedLimit", + "SpeedLimit", + &asn_OP_SEQUENCE_OF, + asn_DEF_SpeedLimit_tags_1, + sizeof(asn_DEF_SpeedLimit_tags_1) + /sizeof(asn_DEF_SpeedLimit_tags_1[0]), /* 1 */ + asn_DEF_SpeedLimit_tags_1, /* Same as above */ + sizeof(asn_DEF_SpeedLimit_tags_1) + /sizeof(asn_DEF_SpeedLimit_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SpeedLimit_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SpeedLimit_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_SpeedLimit_1, + 1, /* Single element */ + &asn_SPC_SpeedLimit_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedLimit.h b/src/tmx/Asn_J2735/src/r2024/SpeedLimit.h deleted file mode 100644 index 81235b694..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SpeedLimit.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SpeedLimit_H_ -#define _SpeedLimit_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "ITIS_ITIScodes.h" -#include "ITIStextPhrase.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SpeedLimit__Member__item_PR { - SpeedLimit__Member__item_PR_NOTHING, /* No components present */ - SpeedLimit__Member__item_PR_itis, - SpeedLimit__Member__item_PR_text -} SpeedLimit__Member__item_PR; - -/* Forward definitions */ -typedef struct SpeedLimit__Member { - struct SpeedLimit__Member__item { - SpeedLimit__Member__item_PR present; - union SpeedLimit__Member__item_u { - ITIS_ITIScodes_t itis; - ITIStextPhrase_t text; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } item; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SpeedLimit__Member; - -/* SpeedLimit */ -typedef struct SpeedLimit { - A_SEQUENCE_OF(SpeedLimit__Member) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SpeedLimit_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SpeedLimit; -extern asn_SET_OF_specifics_t asn_SPC_SpeedLimit_specs_1; -extern asn_TYPE_member_t asn_MBR_SpeedLimit_1[1]; -extern asn_per_constraints_t asn_PER_type_SpeedLimit_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _SpeedLimit_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedLimitList.c b/src/tmx/Asn_J2735/src/r2024/SpeedLimitList.c new file mode 100644 index 000000000..610095286 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SpeedLimitList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SpeedLimitList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SpeedLimitList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..9)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SpeedLimitList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 9 } /* (SIZE(1..9)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_SpeedLimitList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_RegulatorySpeedLimit, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_SpeedLimitList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_SpeedLimitList_specs_1 = { + sizeof(struct SpeedLimitList), + offsetof(struct SpeedLimitList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_SpeedLimitList = { + "SpeedLimitList", + "SpeedLimitList", + &asn_OP_SEQUENCE_OF, + asn_DEF_SpeedLimitList_tags_1, + sizeof(asn_DEF_SpeedLimitList_tags_1) + /sizeof(asn_DEF_SpeedLimitList_tags_1[0]), /* 1 */ + asn_DEF_SpeedLimitList_tags_1, /* Same as above */ + sizeof(asn_DEF_SpeedLimitList_tags_1) + /sizeof(asn_DEF_SpeedLimitList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SpeedLimitList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SpeedLimitList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_SpeedLimitList_1, + 1, /* Single element */ + &asn_SPC_SpeedLimitList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedLimitList.h b/src/tmx/Asn_J2735/src/r2024/SpeedLimitList.h deleted file mode 100644 index a16671aea..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SpeedLimitList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SpeedLimitList_H_ -#define _SpeedLimitList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct RegulatorySpeedLimit; - -/* SpeedLimitList */ -typedef struct SpeedLimitList { - A_SEQUENCE_OF(struct RegulatorySpeedLimit) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SpeedLimitList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SpeedLimitList; -extern asn_SET_OF_specifics_t asn_SPC_SpeedLimitList_specs_1; -extern asn_TYPE_member_t asn_MBR_SpeedLimitList_1[1]; -extern asn_per_constraints_t asn_PER_type_SpeedLimitList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegulatorySpeedLimit.h" - -#endif /* _SpeedLimitList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedLimitType.c b/src/tmx/Asn_J2735/src/r2024/SpeedLimitType.c new file mode 100644 index 000000000..f8b77aadc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SpeedLimitType.c @@ -0,0 +1,92 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SpeedLimitType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SpeedLimitType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SpeedLimitType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 12 } /* (0..12,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_SpeedLimitType_value2enum_1[] = { + { 0, 7, "unknown" }, + { 1, 20, "maxSpeedInSchoolZone" }, + { 2, 42, "maxSpeedInSchoolZoneWhenChildrenArePresent" }, + { 3, 26, "maxSpeedInConstructionZone" }, + { 4, 15, "vehicleMinSpeed" }, + { 5, 15, "vehicleMaxSpeed" }, + { 6, 20, "vehicleNightMaxSpeed" }, + { 7, 13, "truckMinSpeed" }, + { 8, 13, "truckMaxSpeed" }, + { 9, 18, "truckNightMaxSpeed" }, + { 10, 28, "vehiclesWithTrailersMinSpeed" }, + { 11, 28, "vehiclesWithTrailersMaxSpeed" }, + { 12, 33, "vehiclesWithTrailersNightMaxSpeed" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_SpeedLimitType_enum2value_1[] = { + 3, /* maxSpeedInConstructionZone(3) */ + 1, /* maxSpeedInSchoolZone(1) */ + 2, /* maxSpeedInSchoolZoneWhenChildrenArePresent(2) */ + 8, /* truckMaxSpeed(8) */ + 7, /* truckMinSpeed(7) */ + 9, /* truckNightMaxSpeed(9) */ + 0, /* unknown(0) */ + 5, /* vehicleMaxSpeed(5) */ + 4, /* vehicleMinSpeed(4) */ + 6, /* vehicleNightMaxSpeed(6) */ + 11, /* vehiclesWithTrailersMaxSpeed(11) */ + 10, /* vehiclesWithTrailersMinSpeed(10) */ + 12 /* vehiclesWithTrailersNightMaxSpeed(12) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_SpeedLimitType_specs_1 = { + asn_MAP_SpeedLimitType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SpeedLimitType_enum2value_1, /* N => "tag"; sorted by N */ + 13, /* Number of elements in the maps */ + 14, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SpeedLimitType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SpeedLimitType = { + "SpeedLimitType", + "SpeedLimitType", + &asn_OP_NativeEnumerated, + asn_DEF_SpeedLimitType_tags_1, + sizeof(asn_DEF_SpeedLimitType_tags_1) + /sizeof(asn_DEF_SpeedLimitType_tags_1[0]), /* 1 */ + asn_DEF_SpeedLimitType_tags_1, /* Same as above */ + sizeof(asn_DEF_SpeedLimitType_tags_1) + /sizeof(asn_DEF_SpeedLimitType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SpeedLimitType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SpeedLimitType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SpeedLimitType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedLimitType.h b/src/tmx/Asn_J2735/src/r2024/SpeedLimitType.h deleted file mode 100644 index 43b74f116..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SpeedLimitType.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SpeedLimitType_H_ -#define _SpeedLimitType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SpeedLimitType { - SpeedLimitType_unknown = 0, - SpeedLimitType_maxSpeedInSchoolZone = 1, - SpeedLimitType_maxSpeedInSchoolZoneWhenChildrenArePresent = 2, - SpeedLimitType_maxSpeedInConstructionZone = 3, - SpeedLimitType_vehicleMinSpeed = 4, - SpeedLimitType_vehicleMaxSpeed = 5, - SpeedLimitType_vehicleNightMaxSpeed = 6, - SpeedLimitType_truckMinSpeed = 7, - SpeedLimitType_truckMaxSpeed = 8, - SpeedLimitType_truckNightMaxSpeed = 9, - SpeedLimitType_vehiclesWithTrailersMinSpeed = 10, - SpeedLimitType_vehiclesWithTrailersMaxSpeed = 11, - SpeedLimitType_vehiclesWithTrailersNightMaxSpeed = 12 - /* - * Enumeration is extensible - */ -} e_SpeedLimitType; - -/* SpeedLimitType */ -typedef long SpeedLimitType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SpeedLimitType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SpeedLimitType; -extern const asn_INTEGER_specifics_t asn_SPC_SpeedLimitType_specs_1; -asn_struct_free_f SpeedLimitType_free; -asn_struct_print_f SpeedLimitType_print; -asn_constr_check_f SpeedLimitType_constraint; -ber_type_decoder_f SpeedLimitType_decode_ber; -der_type_encoder_f SpeedLimitType_encode_der; -xer_type_decoder_f SpeedLimitType_decode_xer; -xer_type_encoder_f SpeedLimitType_encode_xer; -oer_type_decoder_f SpeedLimitType_decode_oer; -oer_type_encoder_f SpeedLimitType_encode_oer; -per_type_decoder_f SpeedLimitType_decode_uper; -per_type_encoder_f SpeedLimitType_encode_uper; -per_type_decoder_f SpeedLimitType_decode_aper; -per_type_encoder_f SpeedLimitType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SpeedLimitType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedProfile.c b/src/tmx/Asn_J2735/src/r2024/SpeedProfile.c new file mode 100644 index 000000000..d9f0d8e94 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SpeedProfile.c @@ -0,0 +1,66 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SpeedProfile.h" + +asn_TYPE_member_t asn_MBR_SpeedProfile_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SpeedProfile, speedReports), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedProfileMeasurementList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedReports" + }, +}; +static const ber_tlv_tag_t asn_DEF_SpeedProfile_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SpeedProfile_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* speedReports */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SpeedProfile_specs_1 = { + sizeof(struct SpeedProfile), + offsetof(struct SpeedProfile, _asn_ctx), + asn_MAP_SpeedProfile_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SpeedProfile = { + "SpeedProfile", + "SpeedProfile", + &asn_OP_SEQUENCE, + asn_DEF_SpeedProfile_tags_1, + sizeof(asn_DEF_SpeedProfile_tags_1) + /sizeof(asn_DEF_SpeedProfile_tags_1[0]), /* 1 */ + asn_DEF_SpeedProfile_tags_1, /* Same as above */ + sizeof(asn_DEF_SpeedProfile_tags_1) + /sizeof(asn_DEF_SpeedProfile_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SpeedProfile_1, + 1, /* Elements count */ + &asn_SPC_SpeedProfile_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedProfile.h b/src/tmx/Asn_J2735/src/r2024/SpeedProfile.h deleted file mode 100644 index 5fd0bda97..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SpeedProfile.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SpeedProfile_H_ -#define _SpeedProfile_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SpeedProfileMeasurementList.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SpeedProfile */ -typedef struct SpeedProfile { - SpeedProfileMeasurementList_t speedReports; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SpeedProfile_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SpeedProfile; -extern asn_SEQUENCE_specifics_t asn_SPC_SpeedProfile_specs_1; -extern asn_TYPE_member_t asn_MBR_SpeedProfile_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _SpeedProfile_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurement.c b/src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurement.c new file mode 100644 index 000000000..e6b4940dc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurement.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SpeedProfileMeasurement.h" + +int +SpeedProfileMeasurement_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 31L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using GrossSpeed, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SpeedProfileMeasurement_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..31) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SpeedProfileMeasurement_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 31 } /* (0..31) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SpeedProfileMeasurement_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SpeedProfileMeasurement = { + "SpeedProfileMeasurement", + "SpeedProfileMeasurement", + &asn_OP_NativeInteger, + asn_DEF_SpeedProfileMeasurement_tags_1, + sizeof(asn_DEF_SpeedProfileMeasurement_tags_1) + /sizeof(asn_DEF_SpeedProfileMeasurement_tags_1[0]), /* 1 */ + asn_DEF_SpeedProfileMeasurement_tags_1, /* Same as above */ + sizeof(asn_DEF_SpeedProfileMeasurement_tags_1) + /sizeof(asn_DEF_SpeedProfileMeasurement_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SpeedProfileMeasurement_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SpeedProfileMeasurement_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SpeedProfileMeasurement_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurement.h b/src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurement.h deleted file mode 100644 index 4a770ee73..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurement.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SpeedProfileMeasurement_H_ -#define _SpeedProfileMeasurement_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "GrossSpeed.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SpeedProfileMeasurement */ -typedef GrossSpeed_t SpeedProfileMeasurement_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SpeedProfileMeasurement_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SpeedProfileMeasurement; -asn_struct_free_f SpeedProfileMeasurement_free; -asn_struct_print_f SpeedProfileMeasurement_print; -asn_constr_check_f SpeedProfileMeasurement_constraint; -ber_type_decoder_f SpeedProfileMeasurement_decode_ber; -der_type_encoder_f SpeedProfileMeasurement_encode_der; -xer_type_decoder_f SpeedProfileMeasurement_decode_xer; -xer_type_encoder_f SpeedProfileMeasurement_encode_xer; -oer_type_decoder_f SpeedProfileMeasurement_decode_oer; -oer_type_encoder_f SpeedProfileMeasurement_encode_oer; -per_type_decoder_f SpeedProfileMeasurement_decode_uper; -per_type_encoder_f SpeedProfileMeasurement_encode_uper; -per_type_decoder_f SpeedProfileMeasurement_decode_aper; -per_type_encoder_f SpeedProfileMeasurement_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SpeedProfileMeasurement_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurementList.c b/src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurementList.c new file mode 100644 index 000000000..e765cfb82 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurementList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SpeedProfileMeasurementList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SpeedProfileMeasurementList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..20)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SpeedProfileMeasurementList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 20 } /* (SIZE(1..20)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_SpeedProfileMeasurementList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_SpeedProfileMeasurement, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_SpeedProfileMeasurementList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_SpeedProfileMeasurementList_specs_1 = { + sizeof(struct SpeedProfileMeasurementList), + offsetof(struct SpeedProfileMeasurementList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_SpeedProfileMeasurementList = { + "SpeedProfileMeasurementList", + "SpeedProfileMeasurementList", + &asn_OP_SEQUENCE_OF, + asn_DEF_SpeedProfileMeasurementList_tags_1, + sizeof(asn_DEF_SpeedProfileMeasurementList_tags_1) + /sizeof(asn_DEF_SpeedProfileMeasurementList_tags_1[0]), /* 1 */ + asn_DEF_SpeedProfileMeasurementList_tags_1, /* Same as above */ + sizeof(asn_DEF_SpeedProfileMeasurementList_tags_1) + /sizeof(asn_DEF_SpeedProfileMeasurementList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SpeedProfileMeasurementList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SpeedProfileMeasurementList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_SpeedProfileMeasurementList_1, + 1, /* Single element */ + &asn_SPC_SpeedProfileMeasurementList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurementList.h b/src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurementList.h deleted file mode 100644 index d601919d9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SpeedProfileMeasurementList.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SpeedProfileMeasurementList_H_ -#define _SpeedProfileMeasurementList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SpeedProfileMeasurement.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SpeedProfileMeasurementList */ -typedef struct SpeedProfileMeasurementList { - A_SEQUENCE_OF(SpeedProfileMeasurement_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SpeedProfileMeasurementList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SpeedProfileMeasurementList; -extern asn_SET_OF_specifics_t asn_SPC_SpeedProfileMeasurementList_specs_1; -extern asn_TYPE_member_t asn_MBR_SpeedProfileMeasurementList_1[1]; -extern asn_per_constraints_t asn_PER_type_SpeedProfileMeasurementList_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _SpeedProfileMeasurementList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedandHeadingandThrottleConfidence.c b/src/tmx/Asn_J2735/src/r2024/SpeedandHeadingandThrottleConfidence.c new file mode 100644 index 000000000..e89e9e1d1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SpeedandHeadingandThrottleConfidence.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SpeedandHeadingandThrottleConfidence.h" + +asn_TYPE_member_t asn_MBR_SpeedandHeadingandThrottleConfidence_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SpeedandHeadingandThrottleConfidence, heading), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HeadingConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heading" + }, + { ATF_NOFLAGS, 0, offsetof(struct SpeedandHeadingandThrottleConfidence, speed), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed" + }, + { ATF_NOFLAGS, 0, offsetof(struct SpeedandHeadingandThrottleConfidence, throttle), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ThrottleConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "throttle" + }, +}; +static const ber_tlv_tag_t asn_DEF_SpeedandHeadingandThrottleConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SpeedandHeadingandThrottleConfidence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* heading */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* speed */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* throttle */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SpeedandHeadingandThrottleConfidence_specs_1 = { + sizeof(struct SpeedandHeadingandThrottleConfidence), + offsetof(struct SpeedandHeadingandThrottleConfidence, _asn_ctx), + asn_MAP_SpeedandHeadingandThrottleConfidence_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SpeedandHeadingandThrottleConfidence = { + "SpeedandHeadingandThrottleConfidence", + "SpeedandHeadingandThrottleConfidence", + &asn_OP_SEQUENCE, + asn_DEF_SpeedandHeadingandThrottleConfidence_tags_1, + sizeof(asn_DEF_SpeedandHeadingandThrottleConfidence_tags_1) + /sizeof(asn_DEF_SpeedandHeadingandThrottleConfidence_tags_1[0]), /* 1 */ + asn_DEF_SpeedandHeadingandThrottleConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_SpeedandHeadingandThrottleConfidence_tags_1) + /sizeof(asn_DEF_SpeedandHeadingandThrottleConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SpeedandHeadingandThrottleConfidence_1, + 3, /* Elements count */ + &asn_SPC_SpeedandHeadingandThrottleConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SpeedandHeadingandThrottleConfidence.h b/src/tmx/Asn_J2735/src/r2024/SpeedandHeadingandThrottleConfidence.h deleted file mode 100644 index 1960483ff..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SpeedandHeadingandThrottleConfidence.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SpeedandHeadingandThrottleConfidence_H_ -#define _SpeedandHeadingandThrottleConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "HeadingConfidence.h" -#include "SpeedConfidence.h" -#include "ThrottleConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SpeedandHeadingandThrottleConfidence */ -typedef struct SpeedandHeadingandThrottleConfidence { - HeadingConfidence_t heading; - SpeedConfidence_t speed; - ThrottleConfidence_t throttle; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SpeedandHeadingandThrottleConfidence_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SpeedandHeadingandThrottleConfidence; -extern asn_SEQUENCE_specifics_t asn_SPC_SpeedandHeadingandThrottleConfidence_specs_1; -extern asn_TYPE_member_t asn_MBR_SpeedandHeadingandThrottleConfidence_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _SpeedandHeadingandThrottleConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SportingEvents.c b/src/tmx/Asn_J2735/src/r2024/SportingEvents.c new file mode 100644 index 000000000..ce891bbbb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SportingEvents.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SportingEvents.h" + +int +SportingEvents_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SportingEvents_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SportingEvents_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SportingEvents_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SportingEvents = { + "SportingEvents", + "SportingEvents", + &asn_OP_NativeInteger, + asn_DEF_SportingEvents_tags_1, + sizeof(asn_DEF_SportingEvents_tags_1) + /sizeof(asn_DEF_SportingEvents_tags_1[0]), /* 1 */ + asn_DEF_SportingEvents_tags_1, /* Same as above */ + sizeof(asn_DEF_SportingEvents_tags_1) + /sizeof(asn_DEF_SportingEvents_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SportingEvents_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SportingEvents_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SportingEvents_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SportingEvents.h b/src/tmx/Asn_J2735/src/r2024/SportingEvents.h deleted file mode 100644 index c292b878e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SportingEvents.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SportingEvents_H_ -#define _SportingEvents_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SportingEvents { - SportingEvents_sports_event = 3585, - SportingEvents_game = 3586, - SportingEvents_tournament = 3587, - SportingEvents_track_and_field_event = 3588, - SportingEvents_baseball_game = 3589, - SportingEvents_basketball_game = 3590, - SportingEvents_boxing_match = 3591, - SportingEvents_football_game = 3592, - SportingEvents_soccer_game = 3593, - SportingEvents_golf_tournament = 3594, - SportingEvents_hockey_game = 3595, - SportingEvents_tennis_tournament = 3596, - SportingEvents_wrestling_match = 3597, - SportingEvents_road_race = 3598, - SportingEvents_automobile_race = 3599, - SportingEvents_bicycle_race = 3600, - SportingEvents_race_event = 3601, - SportingEvents_marathon = 3602, - SportingEvents_horse_show = 3603, - SportingEvents_rodeo = 3604, - SportingEvents_water_sports_event = 3605, - SportingEvents_winter_sports_event = 3606, - SportingEvents_skating_event = 3607, - SportingEvents_dog_sled_race = 3608, - SportingEvents_sporting_event_ended = 3711 -} e_SportingEvents; - -/* SportingEvents */ -typedef long SportingEvents_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SportingEvents_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SportingEvents; -asn_struct_free_f SportingEvents_free; -asn_struct_print_f SportingEvents_print; -asn_constr_check_f SportingEvents_constraint; -ber_type_decoder_f SportingEvents_decode_ber; -der_type_encoder_f SportingEvents_encode_der; -xer_type_decoder_f SportingEvents_decode_xer; -xer_type_encoder_f SportingEvents_encode_xer; -oer_type_decoder_f SportingEvents_decode_oer; -oer_type_encoder_f SportingEvents_encode_oer; -per_type_decoder_f SportingEvents_decode_uper; -per_type_encoder_f SportingEvents_encode_uper; -per_type_decoder_f SportingEvents_decode_aper; -per_type_encoder_f SportingEvents_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SportingEvents_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/StabilityControlStatus.c b/src/tmx/Asn_J2735/src/r2024/StabilityControlStatus.c new file mode 100644 index 000000000..27c1a4066 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/StabilityControlStatus.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "StabilityControlStatus.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_StabilityControlStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_StabilityControlStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_StabilityControlStatus_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 3, "off" }, + { 2, 2, "on" }, + { 3, 7, "engaged" } +}; +static const unsigned int asn_MAP_StabilityControlStatus_enum2value_1[] = { + 3, /* engaged(3) */ + 1, /* off(1) */ + 2, /* on(2) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_StabilityControlStatus_specs_1 = { + asn_MAP_StabilityControlStatus_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_StabilityControlStatus_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_StabilityControlStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_StabilityControlStatus = { + "StabilityControlStatus", + "StabilityControlStatus", + &asn_OP_NativeEnumerated, + asn_DEF_StabilityControlStatus_tags_1, + sizeof(asn_DEF_StabilityControlStatus_tags_1) + /sizeof(asn_DEF_StabilityControlStatus_tags_1[0]), /* 1 */ + asn_DEF_StabilityControlStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_StabilityControlStatus_tags_1) + /sizeof(asn_DEF_StabilityControlStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_StabilityControlStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_StabilityControlStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_StabilityControlStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/StabilityControlStatus.h b/src/tmx/Asn_J2735/src/r2024/StabilityControlStatus.h deleted file mode 100644 index 9ed3296d5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/StabilityControlStatus.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _StabilityControlStatus_H_ -#define _StabilityControlStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum StabilityControlStatus { - StabilityControlStatus_unavailable = 0, - StabilityControlStatus_off = 1, - StabilityControlStatus_on = 2, - StabilityControlStatus_engaged = 3 -} e_StabilityControlStatus; - -/* StabilityControlStatus */ -typedef long StabilityControlStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_StabilityControlStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_StabilityControlStatus; -extern const asn_INTEGER_specifics_t asn_SPC_StabilityControlStatus_specs_1; -asn_struct_free_f StabilityControlStatus_free; -asn_struct_print_f StabilityControlStatus_print; -asn_constr_check_f StabilityControlStatus_constraint; -ber_type_decoder_f StabilityControlStatus_decode_ber; -der_type_encoder_f StabilityControlStatus_encode_der; -xer_type_decoder_f StabilityControlStatus_decode_xer; -xer_type_encoder_f StabilityControlStatus_encode_xer; -oer_type_decoder_f StabilityControlStatus_decode_oer; -oer_type_encoder_f StabilityControlStatus_encode_oer; -per_type_decoder_f StabilityControlStatus_decode_uper; -per_type_encoder_f StabilityControlStatus_encode_uper; -per_type_decoder_f StabilityControlStatus_decode_aper; -per_type_encoder_f StabilityControlStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _StabilityControlStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/StatesAndTerritories.c b/src/tmx/Asn_J2735/src/r2024/StatesAndTerritories.c new file mode 100644 index 000000000..c03d23c5e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/StatesAndTerritories.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "StatesAndTerritories.h" + +int +StatesAndTerritories_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_StatesAndTerritories_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_StatesAndTerritories_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_StatesAndTerritories_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_StatesAndTerritories = { + "StatesAndTerritories", + "StatesAndTerritories", + &asn_OP_NativeInteger, + asn_DEF_StatesAndTerritories_tags_1, + sizeof(asn_DEF_StatesAndTerritories_tags_1) + /sizeof(asn_DEF_StatesAndTerritories_tags_1[0]), /* 1 */ + asn_DEF_StatesAndTerritories_tags_1, /* Same as above */ + sizeof(asn_DEF_StatesAndTerritories_tags_1) + /sizeof(asn_DEF_StatesAndTerritories_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_StatesAndTerritories_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_StatesAndTerritories_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + StatesAndTerritories_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/StatesAndTerritories.h b/src/tmx/Asn_J2735/src/r2024/StatesAndTerritories.h deleted file mode 100644 index b2eddd364..000000000 --- a/src/tmx/Asn_J2735/src/r2024/StatesAndTerritories.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _StatesAndTerritories_H_ -#define _StatesAndTerritories_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum StatesAndTerritories { - StatesAndTerritories_alabama = 12801, - StatesAndTerritories_alaska = 12802, - StatesAndTerritories_american_Samoa = 12803, - StatesAndTerritories_arizona = 12804, - StatesAndTerritories_arkansas = 12805, - StatesAndTerritories_california = 12806, - StatesAndTerritories_colorado = 12807, - StatesAndTerritories_connecticut = 12808, - StatesAndTerritories_delaware = 12809, - StatesAndTerritories_district_of_Columbia = 12810, - StatesAndTerritories_florida = 12811, - StatesAndTerritories_georgia = 12812, - StatesAndTerritories_guam = 12813, - StatesAndTerritories_hawaii = 12814, - StatesAndTerritories_idaho = 12815, - StatesAndTerritories_illinois = 12816, - StatesAndTerritories_indiana = 12817, - StatesAndTerritories_iowa = 12818, - StatesAndTerritories_kansas = 12819, - StatesAndTerritories_kentucky = 12820, - StatesAndTerritories_louisiana = 12821, - StatesAndTerritories_maine = 12822, - StatesAndTerritories_maryland = 12823, - StatesAndTerritories_massachusetts = 12824, - StatesAndTerritories_michigan = 12825, - StatesAndTerritories_minnesota = 12826, - StatesAndTerritories_mississippi = 12827, - StatesAndTerritories_missouri = 12828, - StatesAndTerritories_montana = 12829, - StatesAndTerritories_nebraska = 12830, - StatesAndTerritories_nevada = 12831, - StatesAndTerritories_new_Hampshire = 12832, - StatesAndTerritories_new_Jersey = 12833, - StatesAndTerritories_new_Mexico = 12834, - StatesAndTerritories_new_York = 12835, - StatesAndTerritories_north_Carolina = 12836, - StatesAndTerritories_north_Dakota = 12837, - StatesAndTerritories_northern_Marianas_Islands = 12838, - StatesAndTerritories_ohio = 12839, - StatesAndTerritories_oklahoma = 12840, - StatesAndTerritories_oregon = 12841, - StatesAndTerritories_pennsylvania = 12842, - StatesAndTerritories_puerto_rico = 12843, - StatesAndTerritories_rhode_Island = 12844, - StatesAndTerritories_south_Carolina = 12845, - StatesAndTerritories_south_Dakota = 12846, - StatesAndTerritories_tennessee = 12847, - StatesAndTerritories_texas = 12848, - StatesAndTerritories_utah = 12849, - StatesAndTerritories_vermont = 12850, - StatesAndTerritories_virginia = 12851, - StatesAndTerritories_virgin_Islands = 12852, - StatesAndTerritories_washington = 12853, - StatesAndTerritories_west_Virginia = 12854, - StatesAndTerritories_wisconsin = 12855, - StatesAndTerritories_wyoming = 12856 -} e_StatesAndTerritories; - -/* StatesAndTerritories */ -typedef long StatesAndTerritories_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_StatesAndTerritories; -asn_struct_free_f StatesAndTerritories_free; -asn_struct_print_f StatesAndTerritories_print; -asn_constr_check_f StatesAndTerritories_constraint; -ber_type_decoder_f StatesAndTerritories_decode_ber; -der_type_encoder_f StatesAndTerritories_encode_der; -xer_type_decoder_f StatesAndTerritories_decode_xer; -xer_type_encoder_f StatesAndTerritories_encode_xer; -oer_type_decoder_f StatesAndTerritories_decode_oer; -oer_type_encoder_f StatesAndTerritories_encode_oer; -per_type_decoder_f StatesAndTerritories_decode_uper; -per_type_encoder_f StatesAndTerritories_encode_uper; -per_type_decoder_f StatesAndTerritories_decode_aper; -per_type_encoder_f StatesAndTerritories_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _StatesAndTerritories_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/StationID.c b/src/tmx/Asn_J2735/src/r2024/StationID.c new file mode 100644 index 000000000..89f3c56bf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/StationID.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "StationID.h" + +int +StationID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_StationID_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..4294967295) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_StationID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +const asn_INTEGER_specifics_t asn_SPC_StationID_specs_1 = { + 0, 0, 0, 0, 0, + 0, /* Native long size */ + 1 /* Unsigned representation */ +}; +static const ber_tlv_tag_t asn_DEF_StationID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_StationID = { + "StationID", + "StationID", + &asn_OP_NativeInteger, + asn_DEF_StationID_tags_1, + sizeof(asn_DEF_StationID_tags_1) + /sizeof(asn_DEF_StationID_tags_1[0]), /* 1 */ + asn_DEF_StationID_tags_1, /* Same as above */ + sizeof(asn_DEF_StationID_tags_1) + /sizeof(asn_DEF_StationID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_StationID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_StationID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + StationID_constraint + }, + 0, 0, /* No members */ + &asn_SPC_StationID_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/StationID.h b/src/tmx/Asn_J2735/src/r2024/StationID.h deleted file mode 100644 index a52a94645..000000000 --- a/src/tmx/Asn_J2735/src/r2024/StationID.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _StationID_H_ -#define _StationID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* StationID */ -typedef unsigned long StationID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_StationID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_StationID; -extern const asn_INTEGER_specifics_t asn_SPC_StationID_specs_1; -asn_struct_free_f StationID_free; -asn_struct_print_f StationID_print; -asn_constr_check_f StationID_constraint; -ber_type_decoder_f StationID_decode_ber; -der_type_encoder_f StationID_encode_der; -xer_type_decoder_f StationID_decode_xer; -xer_type_encoder_f StationID_encode_xer; -oer_type_decoder_f StationID_decode_oer; -oer_type_encoder_f StationID_encode_oer; -per_type_decoder_f StationID_decode_uper; -per_type_encoder_f StationID_encode_uper; -per_type_decoder_f StationID_decode_aper; -per_type_encoder_f StationID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _StationID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/StationType.c b/src/tmx/Asn_J2735/src/r2024/StationType.c new file mode 100644 index 000000000..a24111c50 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/StationType.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "StationType.h" + +int +StationType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_StationType_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_StationType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_StationType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_StationType = { + "StationType", + "StationType", + &asn_OP_NativeInteger, + asn_DEF_StationType_tags_1, + sizeof(asn_DEF_StationType_tags_1) + /sizeof(asn_DEF_StationType_tags_1[0]), /* 1 */ + asn_DEF_StationType_tags_1, /* Same as above */ + sizeof(asn_DEF_StationType_tags_1) + /sizeof(asn_DEF_StationType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_StationType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_StationType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + StationType_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/StationType.h b/src/tmx/Asn_J2735/src/r2024/StationType.h deleted file mode 100644 index 7d0329033..000000000 --- a/src/tmx/Asn_J2735/src/r2024/StationType.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _StationType_H_ -#define _StationType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum StationType { - StationType_unspecified = 0, - StationType_closedEntryWithPayment = 1, - StationType_closedEntryWithoutPayment = 2, - StationType_closedTransit = 3, - StationType_closedExit = 4, - StationType_closedCredit = 5, - StationType_mixed = 6, - StationType_passage = 7, - StationType_checkpoint = 8, - StationType_reload = 9, - StationType_reservedForFutureCENUse1 = 10, - StationType_reservedForFutureCENUse2 = 11, - StationType_reservedForFutureCENUse3 = 12, - StationType_reservedForFutureCENUse4 = 13, - StationType_privateUse5 = 14, - StationType_privateUse6 = 15 -} e_StationType; - -/* StationType */ -typedef long StationType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_StationType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_StationType; -asn_struct_free_f StationType_free; -asn_struct_print_f StationType_print; -asn_constr_check_f StationType_constraint; -ber_type_decoder_f StationType_decode_ber; -der_type_encoder_f StationType_encode_der; -xer_type_decoder_f StationType_decode_xer; -xer_type_encoder_f StationType_encode_xer; -oer_type_decoder_f StationType_decode_oer; -oer_type_encoder_f StationType_encode_oer; -per_type_decoder_f StationType_decode_uper; -per_type_encoder_f StationType_encode_uper; -per_type_decoder_f StationType_decode_aper; -per_type_encoder_f StationType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _StationType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/StdDev.c b/src/tmx/Asn_J2735/src/r2024/StdDev.c new file mode 100644 index 000000000..edbceac0e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/StdDev.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataReport" + * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "StdDev.h" + +int +StdDev_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 10000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_StdDev_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..10000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_StdDev_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 0, 10000 } /* (0..10000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_StdDev_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_StdDev = { + "StdDev", + "StdDev", + &asn_OP_NativeInteger, + asn_DEF_StdDev_tags_1, + sizeof(asn_DEF_StdDev_tags_1) + /sizeof(asn_DEF_StdDev_tags_1[0]), /* 1 */ + asn_DEF_StdDev_tags_1, /* Same as above */ + sizeof(asn_DEF_StdDev_tags_1) + /sizeof(asn_DEF_StdDev_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_StdDev_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_StdDev_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + StdDev_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/StdDev.h b/src/tmx/Asn_J2735/src/r2024/StdDev.h deleted file mode 100644 index 1d78d0400..000000000 --- a/src/tmx/Asn_J2735/src/r2024/StdDev.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataReport" - * found in "J2945-C-ProbeDataReport-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _StdDev_H_ -#define _StdDev_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* StdDev */ -typedef long StdDev_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_StdDev_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_StdDev; -asn_struct_free_f StdDev_free; -asn_struct_print_f StdDev_print; -asn_constr_check_f StdDev_constraint; -ber_type_decoder_f StdDev_decode_ber; -der_type_encoder_f StdDev_encode_der; -xer_type_decoder_f StdDev_decode_xer; -xer_type_encoder_f StdDev_encode_xer; -oer_type_decoder_f StdDev_decode_oer; -oer_type_encoder_f StdDev_encode_oer; -per_type_decoder_f StdDev_decode_uper; -per_type_encoder_f StdDev_encode_uper; -per_type_decoder_f StdDev_decode_aper; -per_type_encoder_f StdDev_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _StdDev_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SteeringAxleLubePressure.c b/src/tmx/Asn_J2735/src/r2024/SteeringAxleLubePressure.c new file mode 100644 index 000000000..dd89c2f2a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SteeringAxleLubePressure.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SteeringAxleLubePressure.h" + +int +SteeringAxleLubePressure_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 250L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SteeringAxleLubePressure_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..250) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SteeringAxleLubePressure_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 250 } /* (0..250) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SteeringAxleLubePressure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SteeringAxleLubePressure = { + "SteeringAxleLubePressure", + "SteeringAxleLubePressure", + &asn_OP_NativeInteger, + asn_DEF_SteeringAxleLubePressure_tags_1, + sizeof(asn_DEF_SteeringAxleLubePressure_tags_1) + /sizeof(asn_DEF_SteeringAxleLubePressure_tags_1[0]), /* 1 */ + asn_DEF_SteeringAxleLubePressure_tags_1, /* Same as above */ + sizeof(asn_DEF_SteeringAxleLubePressure_tags_1) + /sizeof(asn_DEF_SteeringAxleLubePressure_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SteeringAxleLubePressure_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SteeringAxleLubePressure_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SteeringAxleLubePressure_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SteeringAxleLubePressure.h b/src/tmx/Asn_J2735/src/r2024/SteeringAxleLubePressure.h deleted file mode 100644 index 190cb61ac..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SteeringAxleLubePressure.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SteeringAxleLubePressure_H_ -#define _SteeringAxleLubePressure_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SteeringAxleLubePressure */ -typedef long SteeringAxleLubePressure_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SteeringAxleLubePressure_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SteeringAxleLubePressure; -asn_struct_free_f SteeringAxleLubePressure_free; -asn_struct_print_f SteeringAxleLubePressure_print; -asn_constr_check_f SteeringAxleLubePressure_constraint; -ber_type_decoder_f SteeringAxleLubePressure_decode_ber; -der_type_encoder_f SteeringAxleLubePressure_encode_der; -xer_type_decoder_f SteeringAxleLubePressure_decode_xer; -xer_type_encoder_f SteeringAxleLubePressure_encode_xer; -oer_type_decoder_f SteeringAxleLubePressure_decode_oer; -oer_type_encoder_f SteeringAxleLubePressure_encode_oer; -per_type_decoder_f SteeringAxleLubePressure_decode_uper; -per_type_encoder_f SteeringAxleLubePressure_encode_uper; -per_type_decoder_f SteeringAxleLubePressure_decode_aper; -per_type_encoder_f SteeringAxleLubePressure_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SteeringAxleLubePressure_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SteeringAxleTemperature.c b/src/tmx/Asn_J2735/src/r2024/SteeringAxleTemperature.c new file mode 100644 index 000000000..37f9a73b0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SteeringAxleTemperature.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SteeringAxleTemperature.h" + +int +SteeringAxleTemperature_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -40L && value <= 210L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SteeringAxleTemperature_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-40..210) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SteeringAxleTemperature_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -40, 210 } /* (-40..210) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SteeringAxleTemperature_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SteeringAxleTemperature = { + "SteeringAxleTemperature", + "SteeringAxleTemperature", + &asn_OP_NativeInteger, + asn_DEF_SteeringAxleTemperature_tags_1, + sizeof(asn_DEF_SteeringAxleTemperature_tags_1) + /sizeof(asn_DEF_SteeringAxleTemperature_tags_1[0]), /* 1 */ + asn_DEF_SteeringAxleTemperature_tags_1, /* Same as above */ + sizeof(asn_DEF_SteeringAxleTemperature_tags_1) + /sizeof(asn_DEF_SteeringAxleTemperature_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SteeringAxleTemperature_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SteeringAxleTemperature_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SteeringAxleTemperature_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SteeringAxleTemperature.h b/src/tmx/Asn_J2735/src/r2024/SteeringAxleTemperature.h deleted file mode 100644 index f562de06e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SteeringAxleTemperature.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SteeringAxleTemperature_H_ -#define _SteeringAxleTemperature_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SteeringAxleTemperature */ -typedef long SteeringAxleTemperature_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SteeringAxleTemperature_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SteeringAxleTemperature; -asn_struct_free_f SteeringAxleTemperature_free; -asn_struct_print_f SteeringAxleTemperature_print; -asn_constr_check_f SteeringAxleTemperature_constraint; -ber_type_decoder_f SteeringAxleTemperature_decode_ber; -der_type_encoder_f SteeringAxleTemperature_encode_der; -xer_type_decoder_f SteeringAxleTemperature_decode_xer; -xer_type_encoder_f SteeringAxleTemperature_encode_xer; -oer_type_decoder_f SteeringAxleTemperature_decode_oer; -oer_type_encoder_f SteeringAxleTemperature_encode_oer; -per_type_decoder_f SteeringAxleTemperature_decode_uper; -per_type_encoder_f SteeringAxleTemperature_encode_uper; -per_type_decoder_f SteeringAxleTemperature_decode_aper; -per_type_encoder_f SteeringAxleTemperature_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SteeringAxleTemperature_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngle.c b/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngle.c new file mode 100644 index 000000000..60374ac2d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngle.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SteeringWheelAngle.h" + +int +SteeringWheelAngle_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -126L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SteeringWheelAngle_constr_1 CC_NOTUSED = { + { 1, 0 } /* (-126..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SteeringWheelAngle_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -126, 127 } /* (-126..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SteeringWheelAngle_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SteeringWheelAngle = { + "SteeringWheelAngle", + "SteeringWheelAngle", + &asn_OP_NativeInteger, + asn_DEF_SteeringWheelAngle_tags_1, + sizeof(asn_DEF_SteeringWheelAngle_tags_1) + /sizeof(asn_DEF_SteeringWheelAngle_tags_1[0]), /* 1 */ + asn_DEF_SteeringWheelAngle_tags_1, /* Same as above */ + sizeof(asn_DEF_SteeringWheelAngle_tags_1) + /sizeof(asn_DEF_SteeringWheelAngle_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SteeringWheelAngle_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SteeringWheelAngle_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SteeringWheelAngle_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngle.h b/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngle.h deleted file mode 100644 index 2808991f6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngle.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SteeringWheelAngle_H_ -#define _SteeringWheelAngle_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SteeringWheelAngle */ -typedef long SteeringWheelAngle_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SteeringWheelAngle_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SteeringWheelAngle; -asn_struct_free_f SteeringWheelAngle_free; -asn_struct_print_f SteeringWheelAngle_print; -asn_constr_check_f SteeringWheelAngle_constraint; -ber_type_decoder_f SteeringWheelAngle_decode_ber; -der_type_encoder_f SteeringWheelAngle_encode_der; -xer_type_decoder_f SteeringWheelAngle_decode_xer; -xer_type_encoder_f SteeringWheelAngle_encode_xer; -oer_type_decoder_f SteeringWheelAngle_decode_oer; -oer_type_encoder_f SteeringWheelAngle_encode_oer; -per_type_decoder_f SteeringWheelAngle_decode_uper; -per_type_encoder_f SteeringWheelAngle_encode_uper; -per_type_decoder_f SteeringWheelAngle_decode_aper; -per_type_encoder_f SteeringWheelAngle_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SteeringWheelAngle_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleConfidence.c b/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleConfidence.c new file mode 100644 index 000000000..e47a7e6d0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleConfidence.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SteeringWheelAngleConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SteeringWheelAngleConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SteeringWheelAngleConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_SteeringWheelAngleConfidence_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 8, "prec2deg" }, + { 2, 8, "prec1deg" }, + { 3, 11, "prec0-02deg" } +}; +static const unsigned int asn_MAP_SteeringWheelAngleConfidence_enum2value_1[] = { + 3, /* prec0-02deg(3) */ + 2, /* prec1deg(2) */ + 1, /* prec2deg(1) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_SteeringWheelAngleConfidence_specs_1 = { + asn_MAP_SteeringWheelAngleConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SteeringWheelAngleConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SteeringWheelAngleConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SteeringWheelAngleConfidence = { + "SteeringWheelAngleConfidence", + "SteeringWheelAngleConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_SteeringWheelAngleConfidence_tags_1, + sizeof(asn_DEF_SteeringWheelAngleConfidence_tags_1) + /sizeof(asn_DEF_SteeringWheelAngleConfidence_tags_1[0]), /* 1 */ + asn_DEF_SteeringWheelAngleConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_SteeringWheelAngleConfidence_tags_1) + /sizeof(asn_DEF_SteeringWheelAngleConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SteeringWheelAngleConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SteeringWheelAngleConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SteeringWheelAngleConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleConfidence.h b/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleConfidence.h deleted file mode 100644 index 5c6cbaf09..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleConfidence.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SteeringWheelAngleConfidence_H_ -#define _SteeringWheelAngleConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SteeringWheelAngleConfidence { - SteeringWheelAngleConfidence_unavailable = 0, - SteeringWheelAngleConfidence_prec2deg = 1, - SteeringWheelAngleConfidence_prec1deg = 2, - SteeringWheelAngleConfidence_prec0_02deg = 3 -} e_SteeringWheelAngleConfidence; - -/* SteeringWheelAngleConfidence */ -typedef long SteeringWheelAngleConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SteeringWheelAngleConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SteeringWheelAngleConfidence; -extern const asn_INTEGER_specifics_t asn_SPC_SteeringWheelAngleConfidence_specs_1; -asn_struct_free_f SteeringWheelAngleConfidence_free; -asn_struct_print_f SteeringWheelAngleConfidence_print; -asn_constr_check_f SteeringWheelAngleConfidence_constraint; -ber_type_decoder_f SteeringWheelAngleConfidence_decode_ber; -der_type_encoder_f SteeringWheelAngleConfidence_encode_der; -xer_type_decoder_f SteeringWheelAngleConfidence_decode_xer; -xer_type_encoder_f SteeringWheelAngleConfidence_encode_xer; -oer_type_decoder_f SteeringWheelAngleConfidence_decode_oer; -oer_type_encoder_f SteeringWheelAngleConfidence_encode_oer; -per_type_decoder_f SteeringWheelAngleConfidence_decode_uper; -per_type_encoder_f SteeringWheelAngleConfidence_encode_uper; -per_type_decoder_f SteeringWheelAngleConfidence_decode_aper; -per_type_encoder_f SteeringWheelAngleConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SteeringWheelAngleConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleRateOfChange.c b/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleRateOfChange.c new file mode 100644 index 000000000..4bc0bd268 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleRateOfChange.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SteeringWheelAngleRateOfChange.h" + +int +SteeringWheelAngleRateOfChange_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -127L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SteeringWheelAngleRateOfChange_constr_1 CC_NOTUSED = { + { 1, 0 } /* (-127..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SteeringWheelAngleRateOfChange_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -127, 127 } /* (-127..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SteeringWheelAngleRateOfChange_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SteeringWheelAngleRateOfChange = { + "SteeringWheelAngleRateOfChange", + "SteeringWheelAngleRateOfChange", + &asn_OP_NativeInteger, + asn_DEF_SteeringWheelAngleRateOfChange_tags_1, + sizeof(asn_DEF_SteeringWheelAngleRateOfChange_tags_1) + /sizeof(asn_DEF_SteeringWheelAngleRateOfChange_tags_1[0]), /* 1 */ + asn_DEF_SteeringWheelAngleRateOfChange_tags_1, /* Same as above */ + sizeof(asn_DEF_SteeringWheelAngleRateOfChange_tags_1) + /sizeof(asn_DEF_SteeringWheelAngleRateOfChange_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SteeringWheelAngleRateOfChange_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SteeringWheelAngleRateOfChange_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SteeringWheelAngleRateOfChange_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleRateOfChange.h b/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleRateOfChange.h deleted file mode 100644 index 3e81adcfa..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SteeringWheelAngleRateOfChange.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SteeringWheelAngleRateOfChange_H_ -#define _SteeringWheelAngleRateOfChange_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SteeringWheelAngleRateOfChange */ -typedef long SteeringWheelAngleRateOfChange_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SteeringWheelAngleRateOfChange_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SteeringWheelAngleRateOfChange; -asn_struct_free_f SteeringWheelAngleRateOfChange_free; -asn_struct_print_f SteeringWheelAngleRateOfChange_print; -asn_constr_check_f SteeringWheelAngleRateOfChange_constraint; -ber_type_decoder_f SteeringWheelAngleRateOfChange_decode_ber; -der_type_encoder_f SteeringWheelAngleRateOfChange_encode_der; -xer_type_decoder_f SteeringWheelAngleRateOfChange_decode_xer; -xer_type_encoder_f SteeringWheelAngleRateOfChange_encode_xer; -oer_type_decoder_f SteeringWheelAngleRateOfChange_decode_oer; -oer_type_encoder_f SteeringWheelAngleRateOfChange_encode_oer; -per_type_decoder_f SteeringWheelAngleRateOfChange_decode_uper; -per_type_encoder_f SteeringWheelAngleRateOfChange_encode_uper; -per_type_decoder_f SteeringWheelAngleRateOfChange_decode_aper; -per_type_encoder_f SteeringWheelAngleRateOfChange_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SteeringWheelAngleRateOfChange_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/StreetSuffixes.c b/src/tmx/Asn_J2735/src/r2024/StreetSuffixes.c new file mode 100644 index 000000000..a6438144f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/StreetSuffixes.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "StreetSuffixes.h" + +int +StreetSuffixes_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_StreetSuffixes_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_StreetSuffixes_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_StreetSuffixes_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_StreetSuffixes = { + "StreetSuffixes", + "StreetSuffixes", + &asn_OP_NativeInteger, + asn_DEF_StreetSuffixes_tags_1, + sizeof(asn_DEF_StreetSuffixes_tags_1) + /sizeof(asn_DEF_StreetSuffixes_tags_1[0]), /* 1 */ + asn_DEF_StreetSuffixes_tags_1, /* Same as above */ + sizeof(asn_DEF_StreetSuffixes_tags_1) + /sizeof(asn_DEF_StreetSuffixes_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_StreetSuffixes_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_StreetSuffixes_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + StreetSuffixes_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/StreetSuffixes.h b/src/tmx/Asn_J2735/src/r2024/StreetSuffixes.h deleted file mode 100644 index 13bf19a07..000000000 --- a/src/tmx/Asn_J2735/src/r2024/StreetSuffixes.h +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _StreetSuffixes_H_ -#define _StreetSuffixes_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum StreetSuffixes { - StreetSuffixes_alley = 13313, - StreetSuffixes_annex = 13314, - StreetSuffixes_arcade = 13315, - StreetSuffixes_avenue = 13316, - StreetSuffixes_bayoo = 13317, - StreetSuffixes_beach = 13318, - StreetSuffixes_bend = 13319, - StreetSuffixes_bluff = 13320, - StreetSuffixes_bottom = 13321, - StreetSuffixes_boulevard = 13322, - StreetSuffixes_branch = 13323, - StreetSuffixes_nBridge = 13324, - StreetSuffixes_brook = 13325, - StreetSuffixes_burg = 13326, - StreetSuffixes_bypass = 13327, - StreetSuffixes_camp = 13328, - StreetSuffixes_canyon = 13329, - StreetSuffixes_cape = 13330, - StreetSuffixes_causeway = 13331, - StreetSuffixes_nCenter = 13332, - StreetSuffixes_circle = 13333, - StreetSuffixes_cliff = 13334, - StreetSuffixes_club = 13335, - StreetSuffixes_common = 13336, - StreetSuffixes_corner = 13337, - StreetSuffixes_course = 13338, - StreetSuffixes_court = 13339, - StreetSuffixes_cove = 13340, - StreetSuffixes_creek = 13341, - StreetSuffixes_crescent = 13342, - StreetSuffixes_crest = 13343, - StreetSuffixes_nCrossing = 13344, - StreetSuffixes_crossroad = 13345, - StreetSuffixes_curve = 13346, - StreetSuffixes_dale = 13347, - StreetSuffixes_nDam = 13348, - StreetSuffixes_divide = 13349, - StreetSuffixes_drive = 13350, - StreetSuffixes_estate = 13351, - StreetSuffixes_expressway = 13352, - StreetSuffixes_extension = 13353, - StreetSuffixes_fall = 13354, - StreetSuffixes_nFerry = 13355, - StreetSuffixes_field = 13356, - StreetSuffixes_flat = 13357, - StreetSuffixes_ford = 13358, - StreetSuffixes_forest = 13359, - StreetSuffixes_forge = 13360, - StreetSuffixes_fork = 13361, - StreetSuffixes_fort = 13362, - StreetSuffixes_nFreeway = 13363, - StreetSuffixes_garden = 13364, - StreetSuffixes_gateway = 13365, - StreetSuffixes_glen = 13366, - StreetSuffixes_green = 13367, - StreetSuffixes_grove = 13368, - StreetSuffixes_harbor = 13369, - StreetSuffixes_haven = 13370, - StreetSuffixes_heights = 13371, - StreetSuffixes_highway = 13372, - StreetSuffixes_nHill = 13373, - StreetSuffixes_hollow = 13374, - StreetSuffixes_inlet = 13375, - StreetSuffixes_nIsland = 13376, - StreetSuffixes_isle = 13377, - StreetSuffixes_nJunction = 13378, - StreetSuffixes_key = 13379, - StreetSuffixes_knoll = 13380, - StreetSuffixes_lake = 13381, - StreetSuffixes_land = 13382, - StreetSuffixes_landing = 13383, - StreetSuffixes_nLane = 13384, - StreetSuffixes_light = 13385, - StreetSuffixes_loaf = 13386, - StreetSuffixes_lock = 13387, - StreetSuffixes_lodge = 13388, - StreetSuffixes_loop = 13389, - StreetSuffixes_mall = 13390, - StreetSuffixes_manor = 13391, - StreetSuffixes_meadow = 13392, - StreetSuffixes_mews = 13393, - StreetSuffixes_mill = 13394, - StreetSuffixes_mission = 13395, - StreetSuffixes_motorway = 13396, - StreetSuffixes_mount = 13397, - StreetSuffixes_mountain = 13398, - StreetSuffixes_neck = 13399, - StreetSuffixes_orchard = 13400, - StreetSuffixes_oval = 13401, - StreetSuffixes_nOverpass = 13402, - StreetSuffixes_park = 13403, - StreetSuffixes_parkway = 13404, - StreetSuffixes_nPass = 13405, - StreetSuffixes_passage = 13406, - StreetSuffixes_path = 13407, - StreetSuffixes_pike = 13408, - StreetSuffixes_pine = 13409, - StreetSuffixes_plains = 13410, - StreetSuffixes_plaza = 13411, - StreetSuffixes_point = 13412, - StreetSuffixes_port = 13413, - StreetSuffixes_prairie = 13414, - StreetSuffixes_radial = 13415, - StreetSuffixes_ramp = 13416, - StreetSuffixes_ranch = 13417, - StreetSuffixes_rapid = 13418, - StreetSuffixes_rest = 13419, - StreetSuffixes_ridge = 13420, - StreetSuffixes_river = 13421, - StreetSuffixes_nRoad = 13422, - StreetSuffixes_route = 13423, - StreetSuffixes_row = 13424, - StreetSuffixes_rue = 13425, - StreetSuffixes_run = 13426, - StreetSuffixes_shoal = 13427, - StreetSuffixes_shore = 13428, - StreetSuffixes_skyway = 13429, - StreetSuffixes_spring = 13430, - StreetSuffixes_nSpur = 13431, - StreetSuffixes_square = 13432, - StreetSuffixes_nStation = 13433, - StreetSuffixes_stravenue = 13434, - StreetSuffixes_stream = 13435, - StreetSuffixes_street = 13436, - StreetSuffixes_summit = 13437, - StreetSuffixes_terrace = 13438, - StreetSuffixes_throughway = 13439, - StreetSuffixes_trace = 13440, - StreetSuffixes_nTrack = 13441, - StreetSuffixes_trafficway = 13442, - StreetSuffixes_nTrail = 13443, - StreetSuffixes_nTunnel = 13444, - StreetSuffixes_turnpike = 13445, - StreetSuffixes_nUnderpass = 13446, - StreetSuffixes_union = 13447, - StreetSuffixes_valley = 13448, - StreetSuffixes_viaduct = 13449, - StreetSuffixes_view = 13450, - StreetSuffixes_village = 13451, - StreetSuffixes_ville = 13452, - StreetSuffixes_vista = 13453, - StreetSuffixes_nWalk = 13454, - StreetSuffixes_wall = 13455, - StreetSuffixes_way = 13456, - StreetSuffixes_well = 13457 -} e_StreetSuffixes; - -/* StreetSuffixes */ -typedef long StreetSuffixes_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_StreetSuffixes; -asn_struct_free_f StreetSuffixes_free; -asn_struct_print_f StreetSuffixes_print; -asn_constr_check_f StreetSuffixes_constraint; -ber_type_decoder_f StreetSuffixes_decode_ber; -der_type_encoder_f StreetSuffixes_encode_der; -xer_type_decoder_f StreetSuffixes_decode_xer; -xer_type_encoder_f StreetSuffixes_encode_xer; -oer_type_decoder_f StreetSuffixes_decode_oer; -oer_type_encoder_f StreetSuffixes_encode_oer; -per_type_decoder_f StreetSuffixes_decode_uper; -per_type_encoder_f StreetSuffixes_encode_uper; -per_type_decoder_f StreetSuffixes_decode_aper; -per_type_encoder_f StreetSuffixes_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _StreetSuffixes_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Structures.c b/src/tmx/Asn_J2735/src/r2024/Structures.c new file mode 100644 index 000000000..a3aa15de5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Structures.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Structures.h" + +int +Structures_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Structures_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Structures_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Structures_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Structures = { + "Structures", + "Structures", + &asn_OP_NativeInteger, + asn_DEF_Structures_tags_1, + sizeof(asn_DEF_Structures_tags_1) + /sizeof(asn_DEF_Structures_tags_1[0]), /* 1 */ + asn_DEF_Structures_tags_1, /* Same as above */ + sizeof(asn_DEF_Structures_tags_1) + /sizeof(asn_DEF_Structures_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Structures_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Structures_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Structures_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Structures.h b/src/tmx/Asn_J2735/src/r2024/Structures.h deleted file mode 100644 index a7900d72e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Structures.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Structures_H_ -#define _Structures_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Structures { - Structures_rest_room = 13057, - Structures_mens_rest_room = 13058, - Structures_womens_rest_room = 13059, - Structures_family_rest_room = 13060, - Structures_dam = 13061, - Structures_fish_hatchery = 13062, - Structures_information = 13063, - Structures_lighthouse = 13064, - Structures_lookout_tower = 13065, - Structures_ranger_station = 13066, - Structures_grocery_store = 13068, - Structures_lodging = 13069, - Structures_post_office = 13070, - Structures_picnic_shelter = 13072, - Structures_group_camping = 13073, - Structures_group_picnicking = 13074, - Structures_n24_hour_pharmacy = 13075, - Structures_kennel = 13076, - Structures_laundry_facilities = 13077, - Structures_shower_facilities = 13078, - Structures_amphitheater = 13079, - Structures_stable = 13080, - Structures_hospital = 13081, - Structures_emergency_medical_service_point = 13082, - Structures_library = 13083, - Structures_recycling_collection_center = 13084, - Structures_school = 13085 -} e_Structures; - -/* Structures */ -typedef long Structures_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Structures; -asn_struct_free_f Structures_free; -asn_struct_print_f Structures_print; -asn_constr_check_f Structures_constraint; -ber_type_decoder_f Structures_decode_ber; -der_type_encoder_f Structures_encode_der; -xer_type_decoder_f Structures_decode_xer; -xer_type_encoder_f Structures_encode_xer; -oer_type_decoder_f Structures_decode_oer; -oer_type_encoder_f Structures_encode_oer; -per_type_decoder_f Structures_decode_uper; -per_type_encoder_f Structures_encode_uper; -per_type_decoder_f Structures_decode_aper; -per_type_encoder_f Structures_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Structures_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SubManeuver.c b/src/tmx/Asn_J2735/src/r2024/SubManeuver.c new file mode 100644 index 000000000..d401a38eb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SubManeuver.c @@ -0,0 +1,194 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SubManeuver.h" + +asn_TYPE_member_t asn_MBR_SubManeuver_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SubManeuver, executantVehID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "executantVehID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SubManeuver, affectedVehIDs), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryIDPointer, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "affectedVehIDs" + }, + { ATF_NOFLAGS, 0, offsetof(struct SubManeuver, currentStateData), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CurrentStateData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "currentStateData" + }, + { ATF_POINTER, 1, offsetof(struct SubManeuver, targetRoadResource), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TargetRoadResource, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "targetRoadResource" + }, + { ATF_NOFLAGS, 0, offsetof(struct SubManeuver, startTime), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct SubManeuver, endTime), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "endTime" + }, + { ATF_POINTER, 2, offsetof(struct SubManeuver, minSpeed), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Speed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "minSpeed" + }, + { ATF_POINTER, 1, offsetof(struct SubManeuver, maxSpeed), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Speed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maxSpeed" + }, +}; +static const int asn_MAP_SubManeuver_oms_1[] = { 3, 6, 7 }; +static const ber_tlv_tag_t asn_DEF_SubManeuver_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SubManeuver_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* executantVehID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* affectedVehIDs */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* currentStateData */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* targetRoadResource */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* startTime */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* endTime */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* minSpeed */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* maxSpeed */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SubManeuver_specs_1 = { + sizeof(struct SubManeuver), + offsetof(struct SubManeuver, _asn_ctx), + asn_MAP_SubManeuver_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_SubManeuver_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 8, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SubManeuver = { + "SubManeuver", + "SubManeuver", + &asn_OP_SEQUENCE, + asn_DEF_SubManeuver_tags_1, + sizeof(asn_DEF_SubManeuver_tags_1) + /sizeof(asn_DEF_SubManeuver_tags_1[0]), /* 1 */ + asn_DEF_SubManeuver_tags_1, /* Same as above */ + sizeof(asn_DEF_SubManeuver_tags_1) + /sizeof(asn_DEF_SubManeuver_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SubManeuver_1, + 8, /* Elements count */ + &asn_SPC_SubManeuver_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SubManeuver.h b/src/tmx/Asn_J2735/src/r2024/SubManeuver.h deleted file mode 100644 index 72ae0a623..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SubManeuver.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SubManeuver_H_ -#define _SubManeuver_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TemporaryID.h" -#include "TemporaryIDPointer.h" -#include "CurrentStateData.h" -#include "DDateTime.h" -#include "Speed.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct TargetRoadResource; - -/* SubManeuver */ -typedef struct SubManeuver { - TemporaryID_t executantVehID; - TemporaryIDPointer_t affectedVehIDs; - CurrentStateData_t currentStateData; - struct TargetRoadResource *targetRoadResource; /* OPTIONAL */ - DDateTime_t startTime; - DDateTime_t endTime; - Speed_t *minSpeed; /* OPTIONAL */ - Speed_t *maxSpeed; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SubManeuver_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SubManeuver; -extern asn_SEQUENCE_specifics_t asn_SPC_SubManeuver_specs_1; -extern asn_TYPE_member_t asn_MBR_SubManeuver_1[8]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "TargetRoadResource.h" - -#endif /* _SubManeuver_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SubManeuverList.c b/src/tmx/Asn_J2735/src/r2024/SubManeuverList.c new file mode 100644 index 000000000..0be5d59f6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SubManeuverList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SubManeuverList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SubManeuverList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SubManeuverList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_SubManeuverList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_SubManeuver, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_SubManeuverList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_SubManeuverList_specs_1 = { + sizeof(struct SubManeuverList), + offsetof(struct SubManeuverList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_SubManeuverList = { + "SubManeuverList", + "SubManeuverList", + &asn_OP_SEQUENCE_OF, + asn_DEF_SubManeuverList_tags_1, + sizeof(asn_DEF_SubManeuverList_tags_1) + /sizeof(asn_DEF_SubManeuverList_tags_1[0]), /* 1 */ + asn_DEF_SubManeuverList_tags_1, /* Same as above */ + sizeof(asn_DEF_SubManeuverList_tags_1) + /sizeof(asn_DEF_SubManeuverList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SubManeuverList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SubManeuverList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_SubManeuverList_1, + 1, /* Single element */ + &asn_SPC_SubManeuverList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SubManeuverList.h b/src/tmx/Asn_J2735/src/r2024/SubManeuverList.h deleted file mode 100644 index 4a3d0168f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SubManeuverList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SubManeuverList_H_ -#define _SubManeuverList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct SubManeuver; - -/* SubManeuverList */ -typedef struct SubManeuverList { - A_SEQUENCE_OF(struct SubManeuver) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SubManeuverList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SubManeuverList; -extern asn_SET_OF_specifics_t asn_SPC_SubManeuverList_specs_1; -extern asn_TYPE_member_t asn_MBR_SubManeuverList_1[1]; -extern asn_per_constraints_t asn_PER_type_SubManeuverList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "SubManeuver.h" - -#endif /* _SubManeuverList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SubRegionChargingInfo.c b/src/tmx/Asn_J2735/src/r2024/SubRegionChargingInfo.c new file mode 100644 index 000000000..c029c2376 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SubRegionChargingInfo.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingConfigMessage" + * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SubRegionChargingInfo.h" + +asn_TYPE_member_t asn_MBR_SubRegionChargingInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SubRegionChargingInfo, subRegion), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OBJECT_IDENTIFIER, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "subRegion" + }, + { ATF_NOFLAGS, 0, offsetof(struct SubRegionChargingInfo, chargingFees), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ChargingFees, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargingFees" + }, +}; +static const ber_tlv_tag_t asn_DEF_SubRegionChargingInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SubRegionChargingInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* subRegion */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* chargingFees */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SubRegionChargingInfo_specs_1 = { + sizeof(struct SubRegionChargingInfo), + offsetof(struct SubRegionChargingInfo, _asn_ctx), + asn_MAP_SubRegionChargingInfo_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SubRegionChargingInfo = { + "SubRegionChargingInfo", + "SubRegionChargingInfo", + &asn_OP_SEQUENCE, + asn_DEF_SubRegionChargingInfo_tags_1, + sizeof(asn_DEF_SubRegionChargingInfo_tags_1) + /sizeof(asn_DEF_SubRegionChargingInfo_tags_1[0]), /* 1 */ + asn_DEF_SubRegionChargingInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_SubRegionChargingInfo_tags_1) + /sizeof(asn_DEF_SubRegionChargingInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SubRegionChargingInfo_1, + 2, /* Elements count */ + &asn_SPC_SubRegionChargingInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SubRegionChargingInfo.h b/src/tmx/Asn_J2735/src/r2024/SubRegionChargingInfo.h deleted file mode 100644 index d2c8896fb..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SubRegionChargingInfo.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingConfigMessage" - * found in "J3217-R-RoadUserChargingConfigMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SubRegionChargingInfo_H_ -#define _SubRegionChargingInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OBJECT_IDENTIFIER.h" -#include "ChargingFees.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SubRegionChargingInfo */ -typedef struct SubRegionChargingInfo { - OBJECT_IDENTIFIER_t subRegion; - ChargingFees_t chargingFees; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SubRegionChargingInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SubRegionChargingInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_SubRegionChargingInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_SubRegionChargingInfo_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _SubRegionChargingInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SuggestionAdvice.c b/src/tmx/Asn_J2735/src/r2024/SuggestionAdvice.c new file mode 100644 index 000000000..e04026b49 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SuggestionAdvice.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SuggestionAdvice.h" + +int +SuggestionAdvice_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SuggestionAdvice_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SuggestionAdvice_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SuggestionAdvice_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SuggestionAdvice = { + "SuggestionAdvice", + "SuggestionAdvice", + &asn_OP_NativeInteger, + asn_DEF_SuggestionAdvice_tags_1, + sizeof(asn_DEF_SuggestionAdvice_tags_1) + /sizeof(asn_DEF_SuggestionAdvice_tags_1[0]), /* 1 */ + asn_DEF_SuggestionAdvice_tags_1, /* Same as above */ + sizeof(asn_DEF_SuggestionAdvice_tags_1) + /sizeof(asn_DEF_SuggestionAdvice_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SuggestionAdvice_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SuggestionAdvice_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SuggestionAdvice_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SuggestionAdvice.h b/src/tmx/Asn_J2735/src/r2024/SuggestionAdvice.h deleted file mode 100644 index 2d0476a3d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SuggestionAdvice.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SuggestionAdvice_H_ -#define _SuggestionAdvice_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SuggestionAdvice { - SuggestionAdvice_why_not_ride_share = 6657, - SuggestionAdvice_is_this_your_no_ride_day = 6658, - SuggestionAdvice_why_not_use_transit = 6659, - SuggestionAdvice_why_not_park_and_ride = 6660, - SuggestionAdvice_why_not_try_paratransit = 6661, - SuggestionAdvice_why_not_travel_by_rail = 6662, - SuggestionAdvice_why_not_use_the_subway = 6663, - SuggestionAdvice_why_not_try_rapid_transit = 6664, - SuggestionAdvice_why_not_travel_by_bus = 6665, - SuggestionAdvice_your_parking_ticket_covers_the_return_ride = 6666, - SuggestionAdvice_avoid_the_rush_hour = 6667, - SuggestionAdvice_do_not_allow_unnecessary_gaps = 6668, - SuggestionAdvice_follow_the_vehicle_in_front_smoothly = 6669, - SuggestionAdvice_do_not_slow_down_unnecessarily = 6670, - SuggestionAdvice_watch_for_muggers = 6671, - SuggestionAdvice_watch_for_pickpockets = 6672, - SuggestionAdvice_watch_for_thieves = 6673, - SuggestionAdvice_sorry_for_any_delay = 6674, - SuggestionAdvice_thank_you_for_your_understanding = 6675, - SuggestionAdvice_we_appreciate_your_patience = 6676, - SuggestionAdvice_we_are_grateful_for_your_cooperation = 6677, - SuggestionAdvice_share_the_road = 6678 -} e_SuggestionAdvice; - -/* SuggestionAdvice */ -typedef long SuggestionAdvice_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SuggestionAdvice_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SuggestionAdvice; -asn_struct_free_f SuggestionAdvice_free; -asn_struct_print_f SuggestionAdvice_print; -asn_constr_check_f SuggestionAdvice_constraint; -ber_type_decoder_f SuggestionAdvice_decode_ber; -der_type_encoder_f SuggestionAdvice_encode_der; -xer_type_decoder_f SuggestionAdvice_decode_xer; -xer_type_encoder_f SuggestionAdvice_encode_xer; -oer_type_decoder_f SuggestionAdvice_decode_oer; -oer_type_encoder_f SuggestionAdvice_encode_oer; -per_type_decoder_f SuggestionAdvice_decode_uper; -per_type_encoder_f SuggestionAdvice_encode_uper; -per_type_decoder_f SuggestionAdvice_decode_aper; -per_type_encoder_f SuggestionAdvice_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SuggestionAdvice_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SummerTime.c b/src/tmx/Asn_J2735/src/r2024/SummerTime.c new file mode 100644 index 000000000..3f87e4c19 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SummerTime.c @@ -0,0 +1,68 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SummerTime.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SummerTime_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SummerTime_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_SummerTime_value2enum_1[] = { + { 0, 15, "notInSummerTime" }, + { 1, 12, "inSummerTime" } +}; +static const unsigned int asn_MAP_SummerTime_enum2value_1[] = { + 1, /* inSummerTime(1) */ + 0 /* notInSummerTime(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_SummerTime_specs_1 = { + asn_MAP_SummerTime_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_SummerTime_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_SummerTime_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SummerTime = { + "SummerTime", + "SummerTime", + &asn_OP_NativeEnumerated, + asn_DEF_SummerTime_tags_1, + sizeof(asn_DEF_SummerTime_tags_1) + /sizeof(asn_DEF_SummerTime_tags_1[0]), /* 1 */ + asn_DEF_SummerTime_tags_1, /* Same as above */ + sizeof(asn_DEF_SummerTime_tags_1) + /sizeof(asn_DEF_SummerTime_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SummerTime_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SummerTime_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_SummerTime_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SummerTime.h b/src/tmx/Asn_J2735/src/r2024/SummerTime.h deleted file mode 100644 index 13127f39c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SummerTime.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SummerTime_H_ -#define _SummerTime_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SummerTime { - SummerTime_notInSummerTime = 0, - SummerTime_inSummerTime = 1 -} e_SummerTime; - -/* SummerTime */ -typedef long SummerTime_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SummerTime_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SummerTime; -extern const asn_INTEGER_specifics_t asn_SPC_SummerTime_specs_1; -asn_struct_free_f SummerTime_free; -asn_struct_print_f SummerTime_print; -asn_constr_check_f SummerTime_constraint; -ber_type_decoder_f SummerTime_decode_ber; -der_type_encoder_f SummerTime_encode_der; -xer_type_decoder_f SummerTime_decode_xer; -xer_type_encoder_f SummerTime_encode_xer; -oer_type_decoder_f SummerTime_decode_oer; -oer_type_encoder_f SummerTime_encode_oer; -per_type_decoder_f SummerTime_decode_uper; -per_type_encoder_f SummerTime_encode_uper; -per_type_decoder_f SummerTime_decode_aper; -per_type_encoder_f SummerTime_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SummerTime_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SunSensor.c b/src/tmx/Asn_J2735/src/r2024/SunSensor.c new file mode 100644 index 000000000..bd4f7b843 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SunSensor.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SunSensor.h" + +int +SunSensor_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 1000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SunSensor_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..1000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SunSensor_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1000 } /* (0..1000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SunSensor_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SunSensor = { + "SunSensor", + "SunSensor", + &asn_OP_NativeInteger, + asn_DEF_SunSensor_tags_1, + sizeof(asn_DEF_SunSensor_tags_1) + /sizeof(asn_DEF_SunSensor_tags_1[0]), /* 1 */ + asn_DEF_SunSensor_tags_1, /* Same as above */ + sizeof(asn_DEF_SunSensor_tags_1) + /sizeof(asn_DEF_SunSensor_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SunSensor_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SunSensor_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SunSensor_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SunSensor.h b/src/tmx/Asn_J2735/src/r2024/SunSensor.h deleted file mode 100644 index 453e6d6fc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SunSensor.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SunSensor_H_ -#define _SunSensor_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SunSensor */ -typedef long SunSensor_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SunSensor_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SunSensor; -asn_struct_free_f SunSensor_free; -asn_struct_print_f SunSensor_print; -asn_constr_check_f SunSensor_constraint; -ber_type_decoder_f SunSensor_decode_ber; -der_type_encoder_f SunSensor_encode_der; -xer_type_decoder_f SunSensor_decode_xer; -xer_type_encoder_f SunSensor_encode_xer; -oer_type_decoder_f SunSensor_decode_oer; -oer_type_encoder_f SunSensor_encode_oer; -per_type_decoder_f SunSensor_decode_uper; -per_type_encoder_f SunSensor_encode_uper; -per_type_decoder_f SunSensor_decode_aper; -per_type_encoder_f SunSensor_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SunSensor_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SupplementalVehicleExtensions.c b/src/tmx/Asn_J2735/src/r2024/SupplementalVehicleExtensions.c new file mode 100644 index 000000000..718b64f02 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SupplementalVehicleExtensions.c @@ -0,0 +1,387 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SupplementalVehicleExtensions.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_11 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_11 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_11 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_11 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_11[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_SupplementalVehicleExtensions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_11[] = { + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_11 = { + sizeof(struct SupplementalVehicleExtensions__regional), + offsetof(struct SupplementalVehicleExtensions__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_11 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_11, + sizeof(asn_DEF_regional_tags_11) + /sizeof(asn_DEF_regional_tags_11[0]) - 1, /* 1 */ + asn_DEF_regional_tags_11, /* Same as above */ + sizeof(asn_DEF_regional_tags_11) + /sizeof(asn_DEF_regional_tags_11[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_11, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_11, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_11, + 1, /* Single element */ + &asn_SPC_regional_specs_11 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_SupplementalVehicleExtensions_1[] = { + { ATF_POINTER, 13, offsetof(struct SupplementalVehicleExtensions, classification), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BasicVehicleClass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "classification" + }, + { ATF_POINTER, 12, offsetof(struct SupplementalVehicleExtensions, classDetails), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleClassification, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "classDetails" + }, + { ATF_POINTER, 11, offsetof(struct SupplementalVehicleExtensions, vehicleData), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleData" + }, + { ATF_POINTER, 10, offsetof(struct SupplementalVehicleExtensions, deprecated1), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WeatherReport, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deprecated1" + }, + { ATF_POINTER, 9, offsetof(struct SupplementalVehicleExtensions, deprecated2), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WeatherProbe, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deprecated2" + }, + { ATF_POINTER, 8, offsetof(struct SupplementalVehicleExtensions, deprecated3), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ObstacleDetection, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deprecated3" + }, + { ATF_POINTER, 7, offsetof(struct SupplementalVehicleExtensions, status), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DisabledVehicle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "status" + }, + { ATF_POINTER, 6, offsetof(struct SupplementalVehicleExtensions, deprecated4), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedProfile, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deprecated4" + }, + { ATF_POINTER, 5, offsetof(struct SupplementalVehicleExtensions, deprecated5), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RTCMPackage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deprecated5" + }, + { ATF_POINTER, 4, offsetof(struct SupplementalVehicleExtensions, regional), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + 0, + &asn_DEF_regional_11, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_11, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_11, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, + { ATF_POINTER, 3, offsetof(struct SupplementalVehicleExtensions, fhwaVehicleClass), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RptVehicleClass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "fhwaVehicleClass" + }, + { ATF_POINTER, 2, offsetof(struct SupplementalVehicleExtensions, trailers), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrailersJ2945Slash1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trailers" + }, + { ATF_POINTER, 1, offsetof(struct SupplementalVehicleExtensions, schoolBus), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SchoolBusJ2945Slash1C, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "schoolBus" + }, +}; +static const int asn_MAP_SupplementalVehicleExtensions_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 }; +static const ber_tlv_tag_t asn_DEF_SupplementalVehicleExtensions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SupplementalVehicleExtensions_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* classification */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* classDetails */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* vehicleData */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* deprecated1 */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* deprecated2 */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* deprecated3 */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* status */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* deprecated4 */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* deprecated5 */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* regional */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* fhwaVehicleClass */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* trailers */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 } /* schoolBus */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SupplementalVehicleExtensions_specs_1 = { + sizeof(struct SupplementalVehicleExtensions), + offsetof(struct SupplementalVehicleExtensions, _asn_ctx), + asn_MAP_SupplementalVehicleExtensions_tag2el_1, + 13, /* Count of tags in the map */ + asn_MAP_SupplementalVehicleExtensions_oms_1, /* Optional members */ + 10, 3, /* Root/Additions */ + 10, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SupplementalVehicleExtensions = { + "SupplementalVehicleExtensions", + "SupplementalVehicleExtensions", + &asn_OP_SEQUENCE, + asn_DEF_SupplementalVehicleExtensions_tags_1, + sizeof(asn_DEF_SupplementalVehicleExtensions_tags_1) + /sizeof(asn_DEF_SupplementalVehicleExtensions_tags_1[0]), /* 1 */ + asn_DEF_SupplementalVehicleExtensions_tags_1, /* Same as above */ + sizeof(asn_DEF_SupplementalVehicleExtensions_tags_1) + /sizeof(asn_DEF_SupplementalVehicleExtensions_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SupplementalVehicleExtensions_1, + 13, /* Elements count */ + &asn_SPC_SupplementalVehicleExtensions_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SupplementalVehicleExtensions.h b/src/tmx/Asn_J2735/src/r2024/SupplementalVehicleExtensions.h deleted file mode 100644 index 45c21fc34..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SupplementalVehicleExtensions.h +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SupplementalVehicleExtensions_H_ -#define _SupplementalVehicleExtensions_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BasicVehicleClass.h" -#include "RptVehicleClass.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct VehicleClassification; -struct VehicleData; -struct WeatherReport; -struct WeatherProbe; -struct ObstacleDetection; -struct DisabledVehicle; -struct SpeedProfile; -struct RTCMPackage; -struct TrailersJ2945Slash1B; -struct SchoolBusJ2945Slash1C; -struct Reg_SupplementalVehicleExtensions; - -/* SupplementalVehicleExtensions */ -typedef struct SupplementalVehicleExtensions { - BasicVehicleClass_t *classification; /* OPTIONAL */ - struct VehicleClassification *classDetails; /* OPTIONAL */ - struct VehicleData *vehicleData; /* OPTIONAL */ - struct WeatherReport *deprecated1; /* OPTIONAL */ - struct WeatherProbe *deprecated2; /* OPTIONAL */ - struct ObstacleDetection *deprecated3; /* OPTIONAL */ - struct DisabledVehicle *status; /* OPTIONAL */ - struct SpeedProfile *deprecated4; /* OPTIONAL */ - struct RTCMPackage *deprecated5; /* OPTIONAL */ - struct SupplementalVehicleExtensions__regional { - A_SEQUENCE_OF(struct Reg_SupplementalVehicleExtensions) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - RptVehicleClass_t *fhwaVehicleClass; - struct TrailersJ2945Slash1B *trailers; /* OPTIONAL */ - struct SchoolBusJ2945Slash1C *schoolBus; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SupplementalVehicleExtensions_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SupplementalVehicleExtensions; -extern asn_SEQUENCE_specifics_t asn_SPC_SupplementalVehicleExtensions_specs_1; -extern asn_TYPE_member_t asn_MBR_SupplementalVehicleExtensions_1[13]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "VehicleClassification.h" -#include "VehicleData.h" -#include "WeatherReport.h" -#include "WeatherProbe.h" -#include "ObstacleDetection.h" -#include "DisabledVehicle.h" -#include "SpeedProfile.h" -#include "RTCMPackage.h" -#include "TrailersJ2945Slash1B.h" -#include "SchoolBusJ2945Slash1C.h" -#include "RegionalExtension.h" - -#endif /* _SupplementalVehicleExtensions_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SurfaceTempMeasurementStdDev.c b/src/tmx/Asn_J2735/src/r2024/SurfaceTempMeasurementStdDev.c new file mode 100644 index 000000000..cae0ec919 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SurfaceTempMeasurementStdDev.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SurfaceTempMeasurementStdDev.h" + +int +SurfaceTempMeasurementStdDev_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 16L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SurfaceTempMeasurementStdDev_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..16) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SurfaceTempMeasurementStdDev_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (1..16) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SurfaceTempMeasurementStdDev_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SurfaceTempMeasurementStdDev = { + "SurfaceTempMeasurementStdDev", + "SurfaceTempMeasurementStdDev", + &asn_OP_NativeInteger, + asn_DEF_SurfaceTempMeasurementStdDev_tags_1, + sizeof(asn_DEF_SurfaceTempMeasurementStdDev_tags_1) + /sizeof(asn_DEF_SurfaceTempMeasurementStdDev_tags_1[0]), /* 1 */ + asn_DEF_SurfaceTempMeasurementStdDev_tags_1, /* Same as above */ + sizeof(asn_DEF_SurfaceTempMeasurementStdDev_tags_1) + /sizeof(asn_DEF_SurfaceTempMeasurementStdDev_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SurfaceTempMeasurementStdDev_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SurfaceTempMeasurementStdDev_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SurfaceTempMeasurementStdDev_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SurfaceTempMeasurementStdDev.h b/src/tmx/Asn_J2735/src/r2024/SurfaceTempMeasurementStdDev.h deleted file mode 100644 index 87cc7ade9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SurfaceTempMeasurementStdDev.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SurfaceTempMeasurementStdDev_H_ -#define _SurfaceTempMeasurementStdDev_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SurfaceTempMeasurementStdDev */ -typedef long SurfaceTempMeasurementStdDev_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SurfaceTempMeasurementStdDev_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SurfaceTempMeasurementStdDev; -asn_struct_free_f SurfaceTempMeasurementStdDev_free; -asn_struct_print_f SurfaceTempMeasurementStdDev_print; -asn_constr_check_f SurfaceTempMeasurementStdDev_constraint; -ber_type_decoder_f SurfaceTempMeasurementStdDev_decode_ber; -der_type_encoder_f SurfaceTempMeasurementStdDev_encode_der; -xer_type_decoder_f SurfaceTempMeasurementStdDev_decode_xer; -xer_type_encoder_f SurfaceTempMeasurementStdDev_encode_xer; -oer_type_decoder_f SurfaceTempMeasurementStdDev_decode_oer; -oer_type_encoder_f SurfaceTempMeasurementStdDev_encode_oer; -per_type_decoder_f SurfaceTempMeasurementStdDev_decode_uper; -per_type_encoder_f SurfaceTempMeasurementStdDev_encode_uper; -per_type_decoder_f SurfaceTempMeasurementStdDev_decode_aper; -per_type_encoder_f SurfaceTempMeasurementStdDev_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SurfaceTempMeasurementStdDev_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SurroundingVehicleInfo.c b/src/tmx/Asn_J2735/src/r2024/SurroundingVehicleInfo.c new file mode 100644 index 000000000..52b1c2163 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SurroundingVehicleInfo.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SurroundingVehicleInfo.h" + +asn_TYPE_member_t asn_MBR_SurroundingVehicleInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct SurroundingVehicleInfo, surroundingVehicleID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "surroundingVehicleID" + }, + { ATF_NOFLAGS, 0, offsetof(struct SurroundingVehicleInfo, surroundingVehiclePosition), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "surroundingVehiclePosition" + }, + { ATF_NOFLAGS, 0, offsetof(struct SurroundingVehicleInfo, surroundingVehicleSize), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleSize, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "surroundingVehicleSize" + }, +}; +static const ber_tlv_tag_t asn_DEF_SurroundingVehicleInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_SurroundingVehicleInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* surroundingVehicleID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* surroundingVehiclePosition */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* surroundingVehicleSize */ +}; +asn_SEQUENCE_specifics_t asn_SPC_SurroundingVehicleInfo_specs_1 = { + sizeof(struct SurroundingVehicleInfo), + offsetof(struct SurroundingVehicleInfo, _asn_ctx), + asn_MAP_SurroundingVehicleInfo_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_SurroundingVehicleInfo = { + "SurroundingVehicleInfo", + "SurroundingVehicleInfo", + &asn_OP_SEQUENCE, + asn_DEF_SurroundingVehicleInfo_tags_1, + sizeof(asn_DEF_SurroundingVehicleInfo_tags_1) + /sizeof(asn_DEF_SurroundingVehicleInfo_tags_1[0]), /* 1 */ + asn_DEF_SurroundingVehicleInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_SurroundingVehicleInfo_tags_1) + /sizeof(asn_DEF_SurroundingVehicleInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_SurroundingVehicleInfo_1, + 3, /* Elements count */ + &asn_SPC_SurroundingVehicleInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SurroundingVehicleInfo.h b/src/tmx/Asn_J2735/src/r2024/SurroundingVehicleInfo.h deleted file mode 100644 index b81bd8c05..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SurroundingVehicleInfo.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SurroundingVehicleInfo_H_ -#define _SurroundingVehicleInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TemporaryID.h" -#include "ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ.h" -#include "VehicleSize.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* SurroundingVehicleInfo */ -typedef struct SurroundingVehicleInfo { - TemporaryID_t surroundingVehicleID; - ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_t surroundingVehiclePosition; - VehicleSize_t surroundingVehicleSize; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} SurroundingVehicleInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_SurroundingVehicleInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_SurroundingVehicleInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_SurroundingVehicleInfo_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _SurroundingVehicleInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/SystemInformation.c b/src/tmx/Asn_J2735/src/r2024/SystemInformation.c new file mode 100644 index 000000000..133c84606 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/SystemInformation.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "SystemInformation.h" + +int +SystemInformation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_SystemInformation_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_SystemInformation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_SystemInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_SystemInformation = { + "SystemInformation", + "SystemInformation", + &asn_OP_NativeInteger, + asn_DEF_SystemInformation_tags_1, + sizeof(asn_DEF_SystemInformation_tags_1) + /sizeof(asn_DEF_SystemInformation_tags_1[0]), /* 1 */ + asn_DEF_SystemInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_SystemInformation_tags_1) + /sizeof(asn_DEF_SystemInformation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_SystemInformation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_SystemInformation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SystemInformation_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/SystemInformation.h b/src/tmx/Asn_J2735/src/r2024/SystemInformation.h deleted file mode 100644 index 55eab6939..000000000 --- a/src/tmx/Asn_J2735/src/r2024/SystemInformation.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _SystemInformation_H_ -#define _SystemInformation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum SystemInformation { - SystemInformation_information_available_on_radio = 4353, - SystemInformation_information_available_on_TV = 4354, - SystemInformation_call_to_get_information = 4355, - SystemInformation_information_available_via_Internet = 4356, - SystemInformation_test_message = 4357, - SystemInformation_no_information_available = 4358, - SystemInformation_null_description = 4359, - SystemInformation_police_assistance = 4361, - SystemInformation_police_monitor_CB = 4362, - SystemInformation_emergency_notification = 4363, - SystemInformation_in_emergency_dial_911 = 4364, - SystemInformation_travel_Info_call_511 = 4365, - SystemInformation_car_pool_information = 4366, - SystemInformation_information_service_resumed = 4478, - SystemInformation_information_service_is_being_suspended = 4360, - SystemInformation_message_canceled = 4479 -} e_SystemInformation; - -/* SystemInformation */ -typedef long SystemInformation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_SystemInformation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_SystemInformation; -asn_struct_free_f SystemInformation_free; -asn_struct_print_f SystemInformation_print; -asn_constr_check_f SystemInformation_constraint; -ber_type_decoder_f SystemInformation_decode_ber; -der_type_encoder_f SystemInformation_encode_der; -xer_type_decoder_f SystemInformation_decode_xer; -xer_type_encoder_f SystemInformation_encode_xer; -oer_type_decoder_f SystemInformation_decode_oer; -oer_type_encoder_f SystemInformation_encode_oer; -per_type_decoder_f SystemInformation_decode_uper; -per_type_encoder_f SystemInformation_encode_uper; -per_type_decoder_f SystemInformation_decode_aper; -per_type_encoder_f SystemInformation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _SystemInformation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TRRLength.c b/src/tmx/Asn_J2735/src/r2024/TRRLength.c new file mode 100644 index 000000000..c67a057c8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TRRLength.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TRRLength.h" + +int +TRRLength_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 4095L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TRRLength_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..4095) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TRRLength_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 4095 } /* (0..4095) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TRRLength_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TRRLength = { + "TRRLength", + "TRRLength", + &asn_OP_NativeInteger, + asn_DEF_TRRLength_tags_1, + sizeof(asn_DEF_TRRLength_tags_1) + /sizeof(asn_DEF_TRRLength_tags_1[0]), /* 1 */ + asn_DEF_TRRLength_tags_1, /* Same as above */ + sizeof(asn_DEF_TRRLength_tags_1) + /sizeof(asn_DEF_TRRLength_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TRRLength_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TRRLength_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TRRLength_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TRRLength.h b/src/tmx/Asn_J2735/src/r2024/TRRLength.h deleted file mode 100644 index 9b438ff43..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TRRLength.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TRRLength_H_ -#define _TRRLength_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TRRLength */ -typedef long TRRLength_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TRRLength_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TRRLength; -asn_struct_free_f TRRLength_free; -asn_struct_print_f TRRLength_print; -asn_constr_check_f TRRLength_constraint; -ber_type_decoder_f TRRLength_decode_ber; -der_type_encoder_f TRRLength_encode_der; -xer_type_decoder_f TRRLength_decode_xer; -xer_type_encoder_f TRRLength_encode_xer; -oer_type_decoder_f TRRLength_decode_oer; -oer_type_encoder_f TRRLength_encode_oer; -per_type_decoder_f TRRLength_decode_uper; -per_type_encoder_f TRRLength_encode_uper; -per_type_decoder_f TRRLength_decode_aper; -per_type_encoder_f TRRLength_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TRRLength_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TRRLocation.c b/src/tmx/Asn_J2735/src/r2024/TRRLocation.c new file mode 100644 index 000000000..4ca45a82e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TRRLocation.c @@ -0,0 +1,111 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TRRLocation.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TRRLocation_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TRRLocation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TRRLocation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TRRLocation, choice.tRRLocationType1), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TRRLocationType1, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tRRLocationType1" + }, + { ATF_NOFLAGS, 0, offsetof(struct TRRLocation, choice.tRRLocationType2), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TRRLocationType2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tRRLocationType2" + }, + { ATF_NOFLAGS, 0, offsetof(struct TRRLocation, choice.tRRLocationType3), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TRRLocationType3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tRRLocationType3" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_TRRLocation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tRRLocationType1 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tRRLocationType2 */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* tRRLocationType3 */ +}; +asn_CHOICE_specifics_t asn_SPC_TRRLocation_specs_1 = { + sizeof(struct TRRLocation), + offsetof(struct TRRLocation, _asn_ctx), + offsetof(struct TRRLocation, present), + sizeof(((struct TRRLocation *)0)->present), + asn_MAP_TRRLocation_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, + 3 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_TRRLocation = { + "TRRLocation", + "TRRLocation", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TRRLocation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TRRLocation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_TRRLocation_1, + 3, /* Elements count */ + &asn_SPC_TRRLocation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TRRLocation.h b/src/tmx/Asn_J2735/src/r2024/TRRLocation.h deleted file mode 100644 index 42125f5c2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TRRLocation.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TRRLocation_H_ -#define _TRRLocation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TRRLocationType1.h" -#include "TRRLocationType2.h" -#include "TRRLocationType3.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TRRLocation_PR { - TRRLocation_PR_NOTHING, /* No components present */ - TRRLocation_PR_tRRLocationType1, - TRRLocation_PR_tRRLocationType2, - TRRLocation_PR_tRRLocationType3 - /* Extensions may appear below */ - -} TRRLocation_PR; - -/* TRRLocation */ -typedef struct TRRLocation { - TRRLocation_PR present; - union TRRLocation_u { - TRRLocationType1_t tRRLocationType1; - TRRLocationType2_t tRRLocationType2; - TRRLocationType3_t tRRLocationType3; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TRRLocation_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TRRLocation; -extern asn_CHOICE_specifics_t asn_SPC_TRRLocation_specs_1; -extern asn_TYPE_member_t asn_MBR_TRRLocation_1[3]; -extern asn_per_constraints_t asn_PER_type_TRRLocation_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _TRRLocation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TRRLocationType1.c b/src/tmx/Asn_J2735/src/r2024/TRRLocationType1.c new file mode 100644 index 000000000..360d32ecb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TRRLocationType1.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TRRLocationType1.h" + +asn_TYPE_member_t asn_MBR_TRRLocationType1_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TRRLocationType1, tRRLength), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TRRLength, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tRRLength" + }, + { ATF_NOFLAGS, 0, offsetof(struct TRRLocationType1, frontSidePosition), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "frontSidePosition" + }, + { ATF_NOFLAGS, 0, offsetof(struct TRRLocationType1, laneOffset), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneOffset, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneOffset" + }, + { ATF_POINTER, 1, offsetof(struct TRRLocationType1, tRRMovement), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Speed, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tRRMovement" + }, +}; +static const int asn_MAP_TRRLocationType1_oms_1[] = { 3 }; +static const ber_tlv_tag_t asn_DEF_TRRLocationType1_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TRRLocationType1_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tRRLength */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* frontSidePosition */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* laneOffset */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* tRRMovement */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TRRLocationType1_specs_1 = { + sizeof(struct TRRLocationType1), + offsetof(struct TRRLocationType1, _asn_ctx), + asn_MAP_TRRLocationType1_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_TRRLocationType1_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TRRLocationType1 = { + "TRRLocationType1", + "TRRLocationType1", + &asn_OP_SEQUENCE, + asn_DEF_TRRLocationType1_tags_1, + sizeof(asn_DEF_TRRLocationType1_tags_1) + /sizeof(asn_DEF_TRRLocationType1_tags_1[0]), /* 1 */ + asn_DEF_TRRLocationType1_tags_1, /* Same as above */ + sizeof(asn_DEF_TRRLocationType1_tags_1) + /sizeof(asn_DEF_TRRLocationType1_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TRRLocationType1_1, + 4, /* Elements count */ + &asn_SPC_TRRLocationType1_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TRRLocationType1.h b/src/tmx/Asn_J2735/src/r2024/TRRLocationType1.h deleted file mode 100644 index 97764f59b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TRRLocationType1.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TRRLocationType1_H_ -#define _TRRLocationType1_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TRRLength.h" -#include "ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ.h" -#include "LaneOffset.h" -#include "Speed.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TRRLocationType1 */ -typedef struct TRRLocationType1 { - TRRLength_t tRRLength; - ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ_t frontSidePosition; - LaneOffset_t laneOffset; - Speed_t *tRRMovement; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TRRLocationType1_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TRRLocationType1; -extern asn_SEQUENCE_specifics_t asn_SPC_TRRLocationType1_specs_1; -extern asn_TYPE_member_t asn_MBR_TRRLocationType1_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TRRLocationType1_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TRRLocationType2.c b/src/tmx/Asn_J2735/src/r2024/TRRLocationType2.c new file mode 100644 index 000000000..6bec2132f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TRRLocationType2.c @@ -0,0 +1,140 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TRRLocationType2.h" + +asn_TYPE_member_t asn_MBR_TRRLocationType2_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TRRLocationType2, safetyGap), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TRRLength, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "safetyGap" + }, + { ATF_POINTER, 3, offsetof(struct TRRLocationType2, frontSideVehicle), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SurroundingVehicleInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "frontSideVehicle" + }, + { ATF_POINTER, 2, offsetof(struct TRRLocationType2, rearSideVehicle), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SurroundingVehicleInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rearSideVehicle" + }, + { ATF_POINTER, 1, offsetof(struct TRRLocationType2, tRRLength), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TRRLength, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tRRLength" + }, + { ATF_NOFLAGS, 0, offsetof(struct TRRLocationType2, laneOffset), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneOffset, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneOffset" + }, +}; +static const int asn_MAP_TRRLocationType2_oms_1[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_TRRLocationType2_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TRRLocationType2_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* safetyGap */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* frontSideVehicle */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rearSideVehicle */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* tRRLength */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* laneOffset */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TRRLocationType2_specs_1 = { + sizeof(struct TRRLocationType2), + offsetof(struct TRRLocationType2, _asn_ctx), + asn_MAP_TRRLocationType2_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_TRRLocationType2_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TRRLocationType2 = { + "TRRLocationType2", + "TRRLocationType2", + &asn_OP_SEQUENCE, + asn_DEF_TRRLocationType2_tags_1, + sizeof(asn_DEF_TRRLocationType2_tags_1) + /sizeof(asn_DEF_TRRLocationType2_tags_1[0]), /* 1 */ + asn_DEF_TRRLocationType2_tags_1, /* Same as above */ + sizeof(asn_DEF_TRRLocationType2_tags_1) + /sizeof(asn_DEF_TRRLocationType2_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TRRLocationType2_1, + 5, /* Elements count */ + &asn_SPC_TRRLocationType2_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TRRLocationType2.h b/src/tmx/Asn_J2735/src/r2024/TRRLocationType2.h deleted file mode 100644 index 09ba7fc6f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TRRLocationType2.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TRRLocationType2_H_ -#define _TRRLocationType2_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TRRLength.h" -#include "LaneOffset.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct SurroundingVehicleInfo; - -/* TRRLocationType2 */ -typedef struct TRRLocationType2 { - TRRLength_t safetyGap; - struct SurroundingVehicleInfo *frontSideVehicle; /* OPTIONAL */ - struct SurroundingVehicleInfo *rearSideVehicle; /* OPTIONAL */ - TRRLength_t *tRRLength; /* OPTIONAL */ - LaneOffset_t laneOffset; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TRRLocationType2_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TRRLocationType2; -extern asn_SEQUENCE_specifics_t asn_SPC_TRRLocationType2_specs_1; -extern asn_TYPE_member_t asn_MBR_TRRLocationType2_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "SurroundingVehicleInfo.h" - -#endif /* _TRRLocationType2_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TRRLocationType3.c b/src/tmx/Asn_J2735/src/r2024/TRRLocationType3.c new file mode 100644 index 000000000..3dd151e88 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TRRLocationType3.c @@ -0,0 +1,60 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TRRLocationType3.h" + +asn_TYPE_member_t asn_MBR_TRRLocationType3_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_TRRLocationType3_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_TRRLocationType3_specs_1 = { + sizeof(struct TRRLocationType3), + offsetof(struct TRRLocationType3, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_TRRLocationType3 = { + "TRRLocationType3", + "TRRLocationType3", + &asn_OP_SEQUENCE_OF, + asn_DEF_TRRLocationType3_tags_1, + sizeof(asn_DEF_TRRLocationType3_tags_1) + /sizeof(asn_DEF_TRRLocationType3_tags_1[0]), /* 1 */ + asn_DEF_TRRLocationType3_tags_1, /* Same as above */ + sizeof(asn_DEF_TRRLocationType3_tags_1) + /sizeof(asn_DEF_TRRLocationType3_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_TRRLocationType3_1, + 1, /* Single element */ + &asn_SPC_TRRLocationType3_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TRRLocationType3.h b/src/tmx/Asn_J2735/src/r2024/TRRLocationType3.h deleted file mode 100644 index 6e82f9be0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TRRLocationType3.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TRRLocationType3_H_ -#define _TRRLocationType3_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct PositionOffsetXYZ; - -/* TRRLocationType3 */ -typedef struct TRRLocationType3 { - A_SEQUENCE_OF(struct PositionOffsetXYZ) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TRRLocationType3_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TRRLocationType3; -extern asn_SET_OF_specifics_t asn_SPC_TRRLocationType3_specs_1; -extern asn_TYPE_member_t asn_MBR_TRRLocationType3_1[1]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "ManeuverSharingAndCoordinatingMessage_PositionOffsetXYZ.h" - -#endif /* _TRRLocationType3_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TRRType.c b/src/tmx/Asn_J2735/src/r2024/TRRType.c new file mode 100644 index 000000000..994f66513 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TRRType.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TRRType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TRRType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TRRType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_TRRType_value2enum_1[] = { + { 0, 8, "tRRType1" }, + { 1, 8, "tRRType2" }, + { 2, 8, "tRRType3" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_TRRType_enum2value_1[] = { + 0, /* tRRType1(0) */ + 1, /* tRRType2(1) */ + 2 /* tRRType3(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_TRRType_specs_1 = { + asn_MAP_TRRType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TRRType_enum2value_1, /* N => "tag"; sorted by N */ + 3, /* Number of elements in the maps */ + 4, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TRRType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TRRType = { + "TRRType", + "TRRType", + &asn_OP_NativeEnumerated, + asn_DEF_TRRType_tags_1, + sizeof(asn_DEF_TRRType_tags_1) + /sizeof(asn_DEF_TRRType_tags_1[0]), /* 1 */ + asn_DEF_TRRType_tags_1, /* Same as above */ + sizeof(asn_DEF_TRRType_tags_1) + /sizeof(asn_DEF_TRRType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TRRType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TRRType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TRRType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TRRType.h b/src/tmx/Asn_J2735/src/r2024/TRRType.h deleted file mode 100644 index be5fe80f9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TRRType.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TRRType_H_ -#define _TRRType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TRRType { - TRRType_tRRType1 = 0, - TRRType_tRRType2 = 1, - TRRType_tRRType3 = 2 - /* - * Enumeration is extensible - */ -} e_TRRType; - -/* TRRType */ -typedef long TRRType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TRRType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TRRType; -extern const asn_INTEGER_specifics_t asn_SPC_TRRType_specs_1; -asn_struct_free_f TRRType_free; -asn_struct_print_f TRRType_print; -asn_constr_check_f TRRType_constraint; -ber_type_decoder_f TRRType_decode_ber; -der_type_encoder_f TRRType_encode_der; -xer_type_decoder_f TRRType_decode_xer; -xer_type_encoder_f TRRType_encode_xer; -oer_type_decoder_f TRRType_decode_oer; -oer_type_encoder_f TRRType_encode_oer; -per_type_decoder_f TRRType_decode_uper; -per_type_encoder_f TRRType_encode_uper; -per_type_decoder_f TRRType_decode_aper; -per_type_encoder_f TRRType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TRRType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TargetRoadResource.c b/src/tmx/Asn_J2735/src/r2024/TargetRoadResource.c new file mode 100644 index 000000000..6b7032768 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TargetRoadResource.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TargetRoadResource.h" + +asn_TYPE_member_t asn_MBR_TargetRoadResource_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TargetRoadResource, tRRType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TRRType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tRRType" + }, + { ATF_NOFLAGS, 0, offsetof(struct TargetRoadResource, tRRLocation), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_TRRLocation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tRRLocation" + }, +}; +static const ber_tlv_tag_t asn_DEF_TargetRoadResource_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TargetRoadResource_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tRRType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tRRLocation */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TargetRoadResource_specs_1 = { + sizeof(struct TargetRoadResource), + offsetof(struct TargetRoadResource, _asn_ctx), + asn_MAP_TargetRoadResource_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TargetRoadResource = { + "TargetRoadResource", + "TargetRoadResource", + &asn_OP_SEQUENCE, + asn_DEF_TargetRoadResource_tags_1, + sizeof(asn_DEF_TargetRoadResource_tags_1) + /sizeof(asn_DEF_TargetRoadResource_tags_1[0]), /* 1 */ + asn_DEF_TargetRoadResource_tags_1, /* Same as above */ + sizeof(asn_DEF_TargetRoadResource_tags_1) + /sizeof(asn_DEF_TargetRoadResource_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TargetRoadResource_1, + 2, /* Elements count */ + &asn_SPC_TargetRoadResource_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TargetRoadResource.h b/src/tmx/Asn_J2735/src/r2024/TargetRoadResource.h deleted file mode 100644 index 25e872f37..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TargetRoadResource.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TargetRoadResource_H_ -#define _TargetRoadResource_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TRRType.h" -#include "TRRLocation.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TargetRoadResource */ -typedef struct TargetRoadResource { - TRRType_t tRRType; - TRRLocation_t tRRLocation; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TargetRoadResource_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TargetRoadResource; -extern asn_SEQUENCE_specifics_t asn_SPC_TargetRoadResource_specs_1; -extern asn_TYPE_member_t asn_MBR_TargetRoadResource_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TargetRoadResource_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TariffClassDescription.c b/src/tmx/Asn_J2735/src/r2024/TariffClassDescription.c new file mode 100644 index 000000000..6735c3417 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TariffClassDescription.c @@ -0,0 +1,163 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TariffClassDescription.h" + +static int asn_DFL_2_cmp_0(const void *sptr) { + const TariffClassId_t *st = sptr; + + if(!st) { + return -1; /* No value is not a default value */ + } + + /* Test default value 0 */ + return (*st != 0); +} +static int asn_DFL_2_set_0(void **sptr) { + TariffClassId_t *st = *sptr; + + if(!st) { + st = (*sptr = CALLOC(1, sizeof(*st))); + if(!st) return -1; + } + + /* Install default value 0 */ + *st = 0; + return 0; +} +asn_TYPE_member_t asn_MBR_TariffClassDescription_1[] = { + { ATF_NOFLAGS, 5, offsetof(struct TariffClassDescription, tariffClassId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TariffClassId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + &asn_DFL_2_cmp_0, /* Compare DEFAULT 0 */ + &asn_DFL_2_set_0, /* Set DEFAULT 0 */ + "tariffClassId" + }, + { ATF_POINTER, 4, offsetof(struct TariffClassDescription, localVehicleClassId), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LocalVehicleClassId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "localVehicleClassId" + }, + { ATF_POINTER, 3, offsetof(struct TariffClassDescription, timeClassId), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeClassId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeClassId" + }, + { ATF_POINTER, 2, offsetof(struct TariffClassDescription, locationClassId), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LocationClassId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "locationClassId" + }, + { ATF_POINTER, 1, offsetof(struct TariffClassDescription, userClassId), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UserClassId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "userClassId" + }, +}; +static const int asn_MAP_TariffClassDescription_oms_1[] = { 0, 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_TariffClassDescription_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TariffClassDescription_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tariffClassId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* localVehicleClassId */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* timeClassId */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* locationClassId */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* userClassId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TariffClassDescription_specs_1 = { + sizeof(struct TariffClassDescription), + offsetof(struct TariffClassDescription, _asn_ctx), + asn_MAP_TariffClassDescription_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_TariffClassDescription_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TariffClassDescription = { + "TariffClassDescription", + "TariffClassDescription", + &asn_OP_SEQUENCE, + asn_DEF_TariffClassDescription_tags_1, + sizeof(asn_DEF_TariffClassDescription_tags_1) + /sizeof(asn_DEF_TariffClassDescription_tags_1[0]), /* 1 */ + asn_DEF_TariffClassDescription_tags_1, /* Same as above */ + sizeof(asn_DEF_TariffClassDescription_tags_1) + /sizeof(asn_DEF_TariffClassDescription_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TariffClassDescription_1, + 5, /* Elements count */ + &asn_SPC_TariffClassDescription_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TariffClassDescription.h b/src/tmx/Asn_J2735/src/r2024/TariffClassDescription.h deleted file mode 100644 index 1caf15506..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TariffClassDescription.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TariffClassDescription_H_ -#define _TariffClassDescription_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TariffClassId.h" -#include "LocalVehicleClassId.h" -#include "TimeClassId.h" -#include "LocationClassId.h" -#include "UserClassId.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TariffClassDescription */ -typedef struct TariffClassDescription { - TariffClassId_t tariffClassId; /* DEFAULT 0 */ - LocalVehicleClassId_t *localVehicleClassId; /* OPTIONAL */ - TimeClassId_t *timeClassId; /* OPTIONAL */ - LocationClassId_t *locationClassId; /* OPTIONAL */ - UserClassId_t *userClassId; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TariffClassDescription_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TariffClassDescription; -extern asn_SEQUENCE_specifics_t asn_SPC_TariffClassDescription_specs_1; -extern asn_TYPE_member_t asn_MBR_TariffClassDescription_1[5]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TariffClassDescription_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TariffClassId.c b/src/tmx/Asn_J2735/src/r2024/TariffClassId.c new file mode 100644 index 000000000..be7f583d9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TariffClassId.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TariffClassId.h" + +int +TariffClassId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using Int4Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TariffClassId_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..4294967295) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TariffClassId_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TariffClassId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TariffClassId = { + "TariffClassId", + "TariffClassId", + &asn_OP_NativeInteger, + asn_DEF_TariffClassId_tags_1, + sizeof(asn_DEF_TariffClassId_tags_1) + /sizeof(asn_DEF_TariffClassId_tags_1[0]), /* 1 */ + asn_DEF_TariffClassId_tags_1, /* Same as above */ + sizeof(asn_DEF_TariffClassId_tags_1) + /sizeof(asn_DEF_TariffClassId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TariffClassId_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TariffClassId_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TariffClassId_constraint + }, + 0, 0, /* No members */ + &asn_SPC_Int4Unsigned_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TariffClassId.h b/src/tmx/Asn_J2735/src/r2024/TariffClassId.h deleted file mode 100644 index ce990e6e4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TariffClassId.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TariffClassId_H_ -#define _TariffClassId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int4Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TariffClassId */ -typedef Int4Unsigned_t TariffClassId_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TariffClassId_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TariffClassId; -asn_struct_free_f TariffClassId_free; -asn_struct_print_f TariffClassId_print; -asn_constr_check_f TariffClassId_constraint; -ber_type_decoder_f TariffClassId_decode_ber; -der_type_encoder_f TariffClassId_encode_der; -xer_type_decoder_f TariffClassId_decode_xer; -xer_type_encoder_f TariffClassId_encode_xer; -oer_type_decoder_f TariffClassId_decode_oer; -oer_type_encoder_f TariffClassId_encode_oer; -per_type_decoder_f TariffClassId_decode_uper; -per_type_encoder_f TariffClassId_encode_uper; -per_type_decoder_f TariffClassId_decode_aper; -per_type_encoder_f TariffClassId_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TariffClassId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Temperature.c b/src/tmx/Asn_J2735/src/r2024/Temperature.c new file mode 100644 index 000000000..2ba9a1af1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Temperature.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Temperature.h" + +int +Temperature_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Temperature_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Temperature_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Temperature_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Temperature = { + "Temperature", + "Temperature", + &asn_OP_NativeInteger, + asn_DEF_Temperature_tags_1, + sizeof(asn_DEF_Temperature_tags_1) + /sizeof(asn_DEF_Temperature_tags_1[0]), /* 1 */ + asn_DEF_Temperature_tags_1, /* Same as above */ + sizeof(asn_DEF_Temperature_tags_1) + /sizeof(asn_DEF_Temperature_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Temperature_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Temperature_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Temperature_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Temperature.h b/src/tmx/Asn_J2735/src/r2024/Temperature.h deleted file mode 100644 index 9abe69147..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Temperature.h +++ /dev/null @@ -1,73 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Temperature_H_ -#define _Temperature_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Temperature { - Temperature_maximum_temperature = 5633, - Temperature_temperature = 5634, - Temperature_minimum_temperature = 5635, - Temperature_current_temperature = 5636, - Temperature_heat_index = 5637, - Temperature_extreme_heat = 5638, - Temperature_hot = 5639, - Temperature_hotter = 5640, - Temperature_heat = 5641, - Temperature_warmer = 5642, - Temperature_warm = 5643, - Temperature_mild = 5644, - Temperature_cool = 5645, - Temperature_cooler = 5646, - Temperature_cold = 5647, - Temperature_colder = 5648, - Temperature_very_cold = 5649, - Temperature_extreme_cold = 5650, - Temperature_wind_chill = 5651, - Temperature_dewpoint = 5652, - Temperature_relative_humidity = 5653, - Temperature_temperatures_close_to_the_seasonal_norm = 5758, - Temperature_less_extreme_temperatures = 5759 -} e_Temperature; - -/* Temperature */ -typedef long Temperature_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Temperature_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Temperature; -asn_struct_free_f Temperature_free; -asn_struct_print_f Temperature_print; -asn_constr_check_f Temperature_constraint; -ber_type_decoder_f Temperature_decode_ber; -der_type_encoder_f Temperature_encode_der; -xer_type_decoder_f Temperature_decode_xer; -xer_type_encoder_f Temperature_encode_xer; -oer_type_decoder_f Temperature_decode_oer; -oer_type_encoder_f Temperature_encode_oer; -per_type_decoder_f Temperature_decode_uper; -per_type_encoder_f Temperature_encode_uper; -per_type_decoder_f Temperature_decode_aper; -per_type_encoder_f Temperature_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Temperature_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TemperatureMeasurementStdDev.c b/src/tmx/Asn_J2735/src/r2024/TemperatureMeasurementStdDev.c new file mode 100644 index 000000000..6c43b13af --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TemperatureMeasurementStdDev.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TemperatureMeasurementStdDev.h" + +int +TemperatureMeasurementStdDev_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 16L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TemperatureMeasurementStdDev_constr_1 CC_NOTUSED = { + { 1, 1 } /* (1..16) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TemperatureMeasurementStdDev_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (1..16) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TemperatureMeasurementStdDev_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TemperatureMeasurementStdDev = { + "TemperatureMeasurementStdDev", + "TemperatureMeasurementStdDev", + &asn_OP_NativeInteger, + asn_DEF_TemperatureMeasurementStdDev_tags_1, + sizeof(asn_DEF_TemperatureMeasurementStdDev_tags_1) + /sizeof(asn_DEF_TemperatureMeasurementStdDev_tags_1[0]), /* 1 */ + asn_DEF_TemperatureMeasurementStdDev_tags_1, /* Same as above */ + sizeof(asn_DEF_TemperatureMeasurementStdDev_tags_1) + /sizeof(asn_DEF_TemperatureMeasurementStdDev_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TemperatureMeasurementStdDev_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TemperatureMeasurementStdDev_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TemperatureMeasurementStdDev_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TemperatureMeasurementStdDev.h b/src/tmx/Asn_J2735/src/r2024/TemperatureMeasurementStdDev.h deleted file mode 100644 index a55ce9afa..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TemperatureMeasurementStdDev.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TemperatureMeasurementStdDev_H_ -#define _TemperatureMeasurementStdDev_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TemperatureMeasurementStdDev */ -typedef long TemperatureMeasurementStdDev_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TemperatureMeasurementStdDev_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TemperatureMeasurementStdDev; -asn_struct_free_f TemperatureMeasurementStdDev_free; -asn_struct_print_f TemperatureMeasurementStdDev_print; -asn_constr_check_f TemperatureMeasurementStdDev_constraint; -ber_type_decoder_f TemperatureMeasurementStdDev_decode_ber; -der_type_encoder_f TemperatureMeasurementStdDev_encode_der; -xer_type_decoder_f TemperatureMeasurementStdDev_decode_xer; -xer_type_encoder_f TemperatureMeasurementStdDev_encode_xer; -oer_type_decoder_f TemperatureMeasurementStdDev_decode_oer; -oer_type_encoder_f TemperatureMeasurementStdDev_encode_oer; -per_type_decoder_f TemperatureMeasurementStdDev_decode_uper; -per_type_encoder_f TemperatureMeasurementStdDev_encode_uper; -per_type_decoder_f TemperatureMeasurementStdDev_decode_aper; -per_type_encoder_f TemperatureMeasurementStdDev_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TemperatureMeasurementStdDev_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TemporaryID.c b/src/tmx/Asn_J2735/src/r2024/TemporaryID.c new file mode 100644 index 000000000..e2fe98ef9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TemporaryID.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TemporaryID.h" + +int +TemporaryID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 4UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TemporaryID_constr_1 CC_NOTUSED = { + { 0, 0 }, + 4 /* (SIZE(4..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TemporaryID_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 4, 4 } /* (SIZE(4..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TemporaryID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TemporaryID = { + "TemporaryID", + "TemporaryID", + &asn_OP_OCTET_STRING, + asn_DEF_TemporaryID_tags_1, + sizeof(asn_DEF_TemporaryID_tags_1) + /sizeof(asn_DEF_TemporaryID_tags_1[0]), /* 1 */ + asn_DEF_TemporaryID_tags_1, /* Same as above */ + sizeof(asn_DEF_TemporaryID_tags_1) + /sizeof(asn_DEF_TemporaryID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TemporaryID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TemporaryID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TemporaryID_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TemporaryID.h b/src/tmx/Asn_J2735/src/r2024/TemporaryID.h deleted file mode 100644 index a9fdaab2e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TemporaryID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TemporaryID_H_ -#define _TemporaryID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TemporaryID */ -typedef OCTET_STRING_t TemporaryID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TemporaryID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TemporaryID; -asn_struct_free_f TemporaryID_free; -asn_struct_print_f TemporaryID_print; -asn_constr_check_f TemporaryID_constraint; -ber_type_decoder_f TemporaryID_decode_ber; -der_type_encoder_f TemporaryID_encode_der; -xer_type_decoder_f TemporaryID_decode_xer; -xer_type_encoder_f TemporaryID_encode_xer; -oer_type_decoder_f TemporaryID_decode_oer; -oer_type_encoder_f TemporaryID_encode_oer; -per_type_decoder_f TemporaryID_decode_uper; -per_type_encoder_f TemporaryID_encode_uper; -per_type_decoder_f TemporaryID_decode_aper; -per_type_encoder_f TemporaryID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TemporaryID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TemporaryIDList.c b/src/tmx/Asn_J2735/src/r2024/TemporaryIDList.c new file mode 100644 index 000000000..962153dca --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TemporaryIDList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TemporaryIDList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TemporaryIDList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TemporaryIDList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TemporaryIDList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_TemporaryIDList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_TemporaryIDList_specs_1 = { + sizeof(struct TemporaryIDList), + offsetof(struct TemporaryIDList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_TemporaryIDList = { + "TemporaryIDList", + "TemporaryIDList", + &asn_OP_SEQUENCE_OF, + asn_DEF_TemporaryIDList_tags_1, + sizeof(asn_DEF_TemporaryIDList_tags_1) + /sizeof(asn_DEF_TemporaryIDList_tags_1[0]), /* 1 */ + asn_DEF_TemporaryIDList_tags_1, /* Same as above */ + sizeof(asn_DEF_TemporaryIDList_tags_1) + /sizeof(asn_DEF_TemporaryIDList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TemporaryIDList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TemporaryIDList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_TemporaryIDList_1, + 1, /* Single element */ + &asn_SPC_TemporaryIDList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TemporaryIDList.h b/src/tmx/Asn_J2735/src/r2024/TemporaryIDList.h deleted file mode 100644 index d81c1c152..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TemporaryIDList.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TemporaryIDList_H_ -#define _TemporaryIDList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TemporaryID.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TemporaryIDList */ -typedef struct TemporaryIDList { - A_SEQUENCE_OF(TemporaryID_t) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TemporaryIDList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TemporaryIDList; -extern asn_SET_OF_specifics_t asn_SPC_TemporaryIDList_specs_1; -extern asn_TYPE_member_t asn_MBR_TemporaryIDList_1[1]; -extern asn_per_constraints_t asn_PER_type_TemporaryIDList_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _TemporaryIDList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TemporaryIDPointer.c b/src/tmx/Asn_J2735/src/r2024/TemporaryIDPointer.c new file mode 100644 index 000000000..2628c4db5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TemporaryIDPointer.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" + * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TemporaryIDPointer.h" + +int +TemporaryIDPointer_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 1UL && size <= 32UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TemporaryIDPointer_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TemporaryIDPointer_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TemporaryIDPointer_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TemporaryIDPointer = { + "TemporaryIDPointer", + "TemporaryIDPointer", + &asn_OP_BIT_STRING, + asn_DEF_TemporaryIDPointer_tags_1, + sizeof(asn_DEF_TemporaryIDPointer_tags_1) + /sizeof(asn_DEF_TemporaryIDPointer_tags_1[0]), /* 1 */ + asn_DEF_TemporaryIDPointer_tags_1, /* Same as above */ + sizeof(asn_DEF_TemporaryIDPointer_tags_1) + /sizeof(asn_DEF_TemporaryIDPointer_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TemporaryIDPointer_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TemporaryIDPointer_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TemporaryIDPointer_constraint + }, + 0, 0, /* No members */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TemporaryIDPointer.h b/src/tmx/Asn_J2735/src/r2024/TemporaryIDPointer.h deleted file mode 100644 index 8163b456e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TemporaryIDPointer.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ManeuverSharingAndCoordinatingMessage" - * found in "J3186-ManeuverSharingandCoordinatingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TemporaryIDPointer_H_ -#define _TemporaryIDPointer_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TemporaryIDPointer */ -typedef BIT_STRING_t TemporaryIDPointer_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TemporaryIDPointer_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TemporaryIDPointer; -asn_struct_free_f TemporaryIDPointer_free; -asn_struct_print_f TemporaryIDPointer_print; -asn_constr_check_f TemporaryIDPointer_constraint; -ber_type_decoder_f TemporaryIDPointer_decode_ber; -der_type_encoder_f TemporaryIDPointer_encode_der; -xer_type_decoder_f TemporaryIDPointer_decode_xer; -xer_type_encoder_f TemporaryIDPointer_encode_xer; -oer_type_decoder_f TemporaryIDPointer_decode_oer; -oer_type_encoder_f TemporaryIDPointer_encode_oer; -per_type_decoder_f TemporaryIDPointer_decode_uper; -per_type_encoder_f TemporaryIDPointer_encode_uper; -per_type_decoder_f TemporaryIDPointer_decode_aper; -per_type_encoder_f TemporaryIDPointer_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TemporaryIDPointer_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TenthSecond.c b/src/tmx/Asn_J2735/src/r2024/TenthSecond.c new file mode 100644 index 000000000..7829492b7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TenthSecond.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TenthSecond.h" + +int +TenthSecond_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 9L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TenthSecond_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..9) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TenthSecond_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 9 } /* (0..9) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TenthSecond_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TenthSecond = { + "TenthSecond", + "TenthSecond", + &asn_OP_NativeInteger, + asn_DEF_TenthSecond_tags_1, + sizeof(asn_DEF_TenthSecond_tags_1) + /sizeof(asn_DEF_TenthSecond_tags_1[0]), /* 1 */ + asn_DEF_TenthSecond_tags_1, /* Same as above */ + sizeof(asn_DEF_TenthSecond_tags_1) + /sizeof(asn_DEF_TenthSecond_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TenthSecond_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TenthSecond_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TenthSecond_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TenthSecond.h b/src/tmx/Asn_J2735/src/r2024/TenthSecond.h deleted file mode 100644 index a12dafb9d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TenthSecond.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TenthSecond_H_ -#define _TenthSecond_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TenthSecond */ -typedef long TenthSecond_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TenthSecond_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TenthSecond; -asn_struct_free_f TenthSecond_free; -asn_struct_print_f TenthSecond_print; -asn_constr_check_f TenthSecond_constraint; -ber_type_decoder_f TenthSecond_decode_ber; -der_type_encoder_f TenthSecond_encode_der; -xer_type_decoder_f TenthSecond_decode_xer; -xer_type_encoder_f TenthSecond_encode_xer; -oer_type_decoder_f TenthSecond_decode_oer; -oer_type_encoder_f TenthSecond_encode_oer; -per_type_decoder_f TenthSecond_decode_uper; -per_type_encoder_f TenthSecond_encode_uper; -per_type_decoder_f TenthSecond_decode_aper; -per_type_encoder_f TenthSecond_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TenthSecond_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TermDistance.c b/src/tmx/Asn_J2735/src/r2024/TermDistance.c new file mode 100644 index 000000000..97713d320 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TermDistance.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataManagement" + * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TermDistance.h" + +int +TermDistance_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 30000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TermDistance_constr_1 CC_NOTUSED = { + { 2, 1 } /* (1..30000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TermDistance_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 1, 30000 } /* (1..30000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TermDistance_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TermDistance = { + "TermDistance", + "TermDistance", + &asn_OP_NativeInteger, + asn_DEF_TermDistance_tags_1, + sizeof(asn_DEF_TermDistance_tags_1) + /sizeof(asn_DEF_TermDistance_tags_1[0]), /* 1 */ + asn_DEF_TermDistance_tags_1, /* Same as above */ + sizeof(asn_DEF_TermDistance_tags_1) + /sizeof(asn_DEF_TermDistance_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TermDistance_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TermDistance_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TermDistance_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TermDistance.h b/src/tmx/Asn_J2735/src/r2024/TermDistance.h deleted file mode 100644 index af7701a7e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TermDistance.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataManagement" - * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TermDistance_H_ -#define _TermDistance_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TermDistance */ -typedef long TermDistance_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TermDistance_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TermDistance; -asn_struct_free_f TermDistance_free; -asn_struct_print_f TermDistance_print; -asn_constr_check_f TermDistance_constraint; -ber_type_decoder_f TermDistance_decode_ber; -der_type_encoder_f TermDistance_encode_der; -xer_type_decoder_f TermDistance_decode_xer; -xer_type_encoder_f TermDistance_encode_xer; -oer_type_decoder_f TermDistance_decode_oer; -oer_type_encoder_f TermDistance_encode_oer; -per_type_decoder_f TermDistance_decode_uper; -per_type_encoder_f TermDistance_encode_uper; -per_type_decoder_f TermDistance_decode_aper; -per_type_encoder_f TermDistance_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TermDistance_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TermTime.c b/src/tmx/Asn_J2735/src/r2024/TermTime.c new file mode 100644 index 000000000..a07494bcf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TermTime.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataManagement" + * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TermTime.h" + +int +TermTime_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 1800L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TermTime_constr_1 CC_NOTUSED = { + { 2, 1 } /* (1..1800) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TermTime_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 1, 1800 } /* (1..1800) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TermTime_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TermTime = { + "TermTime", + "TermTime", + &asn_OP_NativeInteger, + asn_DEF_TermTime_tags_1, + sizeof(asn_DEF_TermTime_tags_1) + /sizeof(asn_DEF_TermTime_tags_1[0]), /* 1 */ + asn_DEF_TermTime_tags_1, /* Same as above */ + sizeof(asn_DEF_TermTime_tags_1) + /sizeof(asn_DEF_TermTime_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TermTime_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TermTime_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TermTime_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TermTime.h b/src/tmx/Asn_J2735/src/r2024/TermTime.h deleted file mode 100644 index e0df13a37..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TermTime.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataManagement" - * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TermTime_H_ -#define _TermTime_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TermTime */ -typedef long TermTime_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TermTime_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TermTime; -asn_struct_free_f TermTime_free; -asn_struct_print_f TermTime_print; -asn_constr_check_f TermTime_constraint; -ber_type_decoder_f TermTime_decode_ber; -der_type_encoder_f TermTime_encode_der; -xer_type_decoder_f TermTime_decode_xer; -xer_type_encoder_f TermTime_encode_xer; -oer_type_decoder_f TermTime_decode_oer; -oer_type_encoder_f TermTime_encode_oer; -per_type_decoder_f TermTime_decode_uper; -per_type_encoder_f TermTime_encode_uper; -per_type_decoder_f TermTime_decode_aper; -per_type_encoder_f TermTime_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TermTime_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage00.c b/src/tmx/Asn_J2735/src/r2024/TestMessage00.c new file mode 100644 index 000000000..206fc31c0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage00.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage00" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage00.h" + +asn_TYPE_member_t asn_MBR_TestMessage00_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage00, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage00, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage00, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage00_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage00_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage00_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage00_specs_1 = { + sizeof(struct TestMessage00), + offsetof(struct TestMessage00, _asn_ctx), + asn_MAP_TestMessage00_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage00_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage00 = { + "TestMessage00", + "TestMessage00", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage00_tags_1, + sizeof(asn_DEF_TestMessage00_tags_1) + /sizeof(asn_DEF_TestMessage00_tags_1[0]), /* 1 */ + asn_DEF_TestMessage00_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage00_tags_1) + /sizeof(asn_DEF_TestMessage00_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage00_1, + 2, /* Elements count */ + &asn_SPC_TestMessage00_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage00.h b/src/tmx/Asn_J2735/src/r2024/TestMessage00.h deleted file mode 100644 index 9bce12a17..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage00.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage00" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage00_H_ -#define _TestMessage00_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage00; - -/* TestMessage00 */ -typedef struct TestMessage00 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage00 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage00_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage00; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage00_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage00_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage00_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage01.c b/src/tmx/Asn_J2735/src/r2024/TestMessage01.c new file mode 100644 index 000000000..3d688b45e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage01.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage01" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage01.h" + +asn_TYPE_member_t asn_MBR_TestMessage01_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage01, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage01, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage01, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage01_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage01_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage01_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage01_specs_1 = { + sizeof(struct TestMessage01), + offsetof(struct TestMessage01, _asn_ctx), + asn_MAP_TestMessage01_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage01_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage01 = { + "TestMessage01", + "TestMessage01", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage01_tags_1, + sizeof(asn_DEF_TestMessage01_tags_1) + /sizeof(asn_DEF_TestMessage01_tags_1[0]), /* 1 */ + asn_DEF_TestMessage01_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage01_tags_1) + /sizeof(asn_DEF_TestMessage01_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage01_1, + 2, /* Elements count */ + &asn_SPC_TestMessage01_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage01.h b/src/tmx/Asn_J2735/src/r2024/TestMessage01.h deleted file mode 100644 index 1cbc522fa..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage01.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage01" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage01_H_ -#define _TestMessage01_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage01; - -/* TestMessage01 */ -typedef struct TestMessage01 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage01 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage01_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage01; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage01_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage01_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage01_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage02.c b/src/tmx/Asn_J2735/src/r2024/TestMessage02.c new file mode 100644 index 000000000..8dd0a1d8a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage02.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage02" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage02.h" + +asn_TYPE_member_t asn_MBR_TestMessage02_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage02, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage02, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage02, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage02_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage02_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage02_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage02_specs_1 = { + sizeof(struct TestMessage02), + offsetof(struct TestMessage02, _asn_ctx), + asn_MAP_TestMessage02_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage02_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage02 = { + "TestMessage02", + "TestMessage02", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage02_tags_1, + sizeof(asn_DEF_TestMessage02_tags_1) + /sizeof(asn_DEF_TestMessage02_tags_1[0]), /* 1 */ + asn_DEF_TestMessage02_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage02_tags_1) + /sizeof(asn_DEF_TestMessage02_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage02_1, + 2, /* Elements count */ + &asn_SPC_TestMessage02_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage02.h b/src/tmx/Asn_J2735/src/r2024/TestMessage02.h deleted file mode 100644 index 8092bd581..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage02.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage02" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage02_H_ -#define _TestMessage02_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage02; - -/* TestMessage02 */ -typedef struct TestMessage02 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage02 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage02_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage02; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage02_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage02_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage02_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage03.c b/src/tmx/Asn_J2735/src/r2024/TestMessage03.c new file mode 100644 index 000000000..f81f62731 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage03.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage03" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage03.h" + +asn_TYPE_member_t asn_MBR_TestMessage03_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage03, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage03, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage03, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage03_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage03_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage03_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage03_specs_1 = { + sizeof(struct TestMessage03), + offsetof(struct TestMessage03, _asn_ctx), + asn_MAP_TestMessage03_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage03_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage03 = { + "TestMessage03", + "TestMessage03", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage03_tags_1, + sizeof(asn_DEF_TestMessage03_tags_1) + /sizeof(asn_DEF_TestMessage03_tags_1[0]), /* 1 */ + asn_DEF_TestMessage03_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage03_tags_1) + /sizeof(asn_DEF_TestMessage03_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage03_1, + 2, /* Elements count */ + &asn_SPC_TestMessage03_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage03.h b/src/tmx/Asn_J2735/src/r2024/TestMessage03.h deleted file mode 100644 index afec562a3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage03.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage03" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage03_H_ -#define _TestMessage03_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage03; - -/* TestMessage03 */ -typedef struct TestMessage03 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage03 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage03_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage03; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage03_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage03_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage03_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage04.c b/src/tmx/Asn_J2735/src/r2024/TestMessage04.c new file mode 100644 index 000000000..031533d8e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage04.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage04" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage04.h" + +asn_TYPE_member_t asn_MBR_TestMessage04_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage04, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage04, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage04, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage04_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage04_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage04_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage04_specs_1 = { + sizeof(struct TestMessage04), + offsetof(struct TestMessage04, _asn_ctx), + asn_MAP_TestMessage04_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage04_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage04 = { + "TestMessage04", + "TestMessage04", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage04_tags_1, + sizeof(asn_DEF_TestMessage04_tags_1) + /sizeof(asn_DEF_TestMessage04_tags_1[0]), /* 1 */ + asn_DEF_TestMessage04_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage04_tags_1) + /sizeof(asn_DEF_TestMessage04_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage04_1, + 2, /* Elements count */ + &asn_SPC_TestMessage04_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage04.h b/src/tmx/Asn_J2735/src/r2024/TestMessage04.h deleted file mode 100644 index 87a43e72a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage04.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage04" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage04_H_ -#define _TestMessage04_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage04; - -/* TestMessage04 */ -typedef struct TestMessage04 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage04 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage04_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage04; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage04_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage04_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage04_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage05.c b/src/tmx/Asn_J2735/src/r2024/TestMessage05.c new file mode 100644 index 000000000..463ef89ba --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage05.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage05" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage05.h" + +asn_TYPE_member_t asn_MBR_TestMessage05_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage05, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage05, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage05, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage05_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage05_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage05_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage05_specs_1 = { + sizeof(struct TestMessage05), + offsetof(struct TestMessage05, _asn_ctx), + asn_MAP_TestMessage05_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage05_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage05 = { + "TestMessage05", + "TestMessage05", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage05_tags_1, + sizeof(asn_DEF_TestMessage05_tags_1) + /sizeof(asn_DEF_TestMessage05_tags_1[0]), /* 1 */ + asn_DEF_TestMessage05_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage05_tags_1) + /sizeof(asn_DEF_TestMessage05_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage05_1, + 2, /* Elements count */ + &asn_SPC_TestMessage05_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage05.h b/src/tmx/Asn_J2735/src/r2024/TestMessage05.h deleted file mode 100644 index 7bfac9b6b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage05.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage05" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage05_H_ -#define _TestMessage05_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage05; - -/* TestMessage05 */ -typedef struct TestMessage05 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage05 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage05_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage05; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage05_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage05_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage05_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage06.c b/src/tmx/Asn_J2735/src/r2024/TestMessage06.c new file mode 100644 index 000000000..b5926e093 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage06.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage06" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage06.h" + +asn_TYPE_member_t asn_MBR_TestMessage06_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage06, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage06, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage06, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage06_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage06_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage06_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage06_specs_1 = { + sizeof(struct TestMessage06), + offsetof(struct TestMessage06, _asn_ctx), + asn_MAP_TestMessage06_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage06_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage06 = { + "TestMessage06", + "TestMessage06", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage06_tags_1, + sizeof(asn_DEF_TestMessage06_tags_1) + /sizeof(asn_DEF_TestMessage06_tags_1[0]), /* 1 */ + asn_DEF_TestMessage06_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage06_tags_1) + /sizeof(asn_DEF_TestMessage06_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage06_1, + 2, /* Elements count */ + &asn_SPC_TestMessage06_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage06.h b/src/tmx/Asn_J2735/src/r2024/TestMessage06.h deleted file mode 100644 index 34426c3cf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage06.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage06" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage06_H_ -#define _TestMessage06_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage06; - -/* TestMessage06 */ -typedef struct TestMessage06 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage06 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage06_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage06; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage06_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage06_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage06_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage07.c b/src/tmx/Asn_J2735/src/r2024/TestMessage07.c new file mode 100644 index 000000000..c1045cc23 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage07.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage07" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage07.h" + +asn_TYPE_member_t asn_MBR_TestMessage07_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage07, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage07, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage07, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage07_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage07_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage07_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage07_specs_1 = { + sizeof(struct TestMessage07), + offsetof(struct TestMessage07, _asn_ctx), + asn_MAP_TestMessage07_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage07_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage07 = { + "TestMessage07", + "TestMessage07", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage07_tags_1, + sizeof(asn_DEF_TestMessage07_tags_1) + /sizeof(asn_DEF_TestMessage07_tags_1[0]), /* 1 */ + asn_DEF_TestMessage07_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage07_tags_1) + /sizeof(asn_DEF_TestMessage07_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage07_1, + 2, /* Elements count */ + &asn_SPC_TestMessage07_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage07.h b/src/tmx/Asn_J2735/src/r2024/TestMessage07.h deleted file mode 100644 index ae9e3c9f5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage07.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage07" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage07_H_ -#define _TestMessage07_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage07; - -/* TestMessage07 */ -typedef struct TestMessage07 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage07 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage07_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage07; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage07_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage07_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage07_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage08.c b/src/tmx/Asn_J2735/src/r2024/TestMessage08.c new file mode 100644 index 000000000..813da4d48 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage08.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage08" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage08.h" + +asn_TYPE_member_t asn_MBR_TestMessage08_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage08, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage08, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage08, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage08_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage08_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage08_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage08_specs_1 = { + sizeof(struct TestMessage08), + offsetof(struct TestMessage08, _asn_ctx), + asn_MAP_TestMessage08_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage08_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage08 = { + "TestMessage08", + "TestMessage08", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage08_tags_1, + sizeof(asn_DEF_TestMessage08_tags_1) + /sizeof(asn_DEF_TestMessage08_tags_1[0]), /* 1 */ + asn_DEF_TestMessage08_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage08_tags_1) + /sizeof(asn_DEF_TestMessage08_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage08_1, + 2, /* Elements count */ + &asn_SPC_TestMessage08_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage08.h b/src/tmx/Asn_J2735/src/r2024/TestMessage08.h deleted file mode 100644 index c708c3c08..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage08.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage08" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage08_H_ -#define _TestMessage08_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage08; - -/* TestMessage08 */ -typedef struct TestMessage08 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage08 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage08_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage08; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage08_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage08_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage08_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage09.c b/src/tmx/Asn_J2735/src/r2024/TestMessage09.c new file mode 100644 index 000000000..9fe57d160 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage09.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage09" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage09.h" + +asn_TYPE_member_t asn_MBR_TestMessage09_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage09, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage09, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage09, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage09_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage09_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage09_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage09_specs_1 = { + sizeof(struct TestMessage09), + offsetof(struct TestMessage09, _asn_ctx), + asn_MAP_TestMessage09_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage09_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage09 = { + "TestMessage09", + "TestMessage09", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage09_tags_1, + sizeof(asn_DEF_TestMessage09_tags_1) + /sizeof(asn_DEF_TestMessage09_tags_1[0]), /* 1 */ + asn_DEF_TestMessage09_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage09_tags_1) + /sizeof(asn_DEF_TestMessage09_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage09_1, + 2, /* Elements count */ + &asn_SPC_TestMessage09_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage09.h b/src/tmx/Asn_J2735/src/r2024/TestMessage09.h deleted file mode 100644 index badf6cabe..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage09.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage09" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage09_H_ -#define _TestMessage09_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage09; - -/* TestMessage09 */ -typedef struct TestMessage09 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage09 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage09_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage09; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage09_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage09_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage09_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage10.c b/src/tmx/Asn_J2735/src/r2024/TestMessage10.c new file mode 100644 index 000000000..f51bd1aee --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage10.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage10" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage10.h" + +asn_TYPE_member_t asn_MBR_TestMessage10_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage10, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage10, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage10_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage10_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage10_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage10_specs_1 = { + sizeof(struct TestMessage10), + offsetof(struct TestMessage10, _asn_ctx), + asn_MAP_TestMessage10_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage10_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage10 = { + "TestMessage10", + "TestMessage10", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage10_tags_1, + sizeof(asn_DEF_TestMessage10_tags_1) + /sizeof(asn_DEF_TestMessage10_tags_1[0]), /* 1 */ + asn_DEF_TestMessage10_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage10_tags_1) + /sizeof(asn_DEF_TestMessage10_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage10_1, + 2, /* Elements count */ + &asn_SPC_TestMessage10_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage10.h b/src/tmx/Asn_J2735/src/r2024/TestMessage10.h deleted file mode 100644 index d2366b103..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage10.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage10" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage10_H_ -#define _TestMessage10_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage10; - -/* TestMessage10 */ -typedef struct TestMessage10 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage10 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage10_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage10; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage10_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage10_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage10_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage11.c b/src/tmx/Asn_J2735/src/r2024/TestMessage11.c new file mode 100644 index 000000000..0c933990d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage11.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage11" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage11.h" + +asn_TYPE_member_t asn_MBR_TestMessage11_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage11, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage11, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage11, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage11_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage11_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage11_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage11_specs_1 = { + sizeof(struct TestMessage11), + offsetof(struct TestMessage11, _asn_ctx), + asn_MAP_TestMessage11_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage11_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage11 = { + "TestMessage11", + "TestMessage11", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage11_tags_1, + sizeof(asn_DEF_TestMessage11_tags_1) + /sizeof(asn_DEF_TestMessage11_tags_1[0]), /* 1 */ + asn_DEF_TestMessage11_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage11_tags_1) + /sizeof(asn_DEF_TestMessage11_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage11_1, + 2, /* Elements count */ + &asn_SPC_TestMessage11_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage11.h b/src/tmx/Asn_J2735/src/r2024/TestMessage11.h deleted file mode 100644 index 221d68c87..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage11.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage11" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage11_H_ -#define _TestMessage11_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage11; - -/* TestMessage11 */ -typedef struct TestMessage11 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage11 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage11_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage11; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage11_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage11_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage11_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage12.c b/src/tmx/Asn_J2735/src/r2024/TestMessage12.c new file mode 100644 index 000000000..3566147e5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage12.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage12" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage12.h" + +asn_TYPE_member_t asn_MBR_TestMessage12_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage12, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage12, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage12_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage12_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage12_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage12_specs_1 = { + sizeof(struct TestMessage12), + offsetof(struct TestMessage12, _asn_ctx), + asn_MAP_TestMessage12_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage12_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage12 = { + "TestMessage12", + "TestMessage12", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage12_tags_1, + sizeof(asn_DEF_TestMessage12_tags_1) + /sizeof(asn_DEF_TestMessage12_tags_1[0]), /* 1 */ + asn_DEF_TestMessage12_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage12_tags_1) + /sizeof(asn_DEF_TestMessage12_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage12_1, + 2, /* Elements count */ + &asn_SPC_TestMessage12_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage12.h b/src/tmx/Asn_J2735/src/r2024/TestMessage12.h deleted file mode 100644 index 85c1418d2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage12.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage12" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage12_H_ -#define _TestMessage12_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage12; - -/* TestMessage12 */ -typedef struct TestMessage12 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage12 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage12_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage12; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage12_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage12_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage12_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage13.c b/src/tmx/Asn_J2735/src/r2024/TestMessage13.c new file mode 100644 index 000000000..a46fbe4ab --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage13.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage13" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage13.h" + +asn_TYPE_member_t asn_MBR_TestMessage13_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage13, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage13, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage13, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage13_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage13_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage13_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage13_specs_1 = { + sizeof(struct TestMessage13), + offsetof(struct TestMessage13, _asn_ctx), + asn_MAP_TestMessage13_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage13_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage13 = { + "TestMessage13", + "TestMessage13", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage13_tags_1, + sizeof(asn_DEF_TestMessage13_tags_1) + /sizeof(asn_DEF_TestMessage13_tags_1[0]), /* 1 */ + asn_DEF_TestMessage13_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage13_tags_1) + /sizeof(asn_DEF_TestMessage13_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage13_1, + 2, /* Elements count */ + &asn_SPC_TestMessage13_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage13.h b/src/tmx/Asn_J2735/src/r2024/TestMessage13.h deleted file mode 100644 index b547172a4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage13.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage13" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage13_H_ -#define _TestMessage13_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage13; - -/* TestMessage13 */ -typedef struct TestMessage13 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage13 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage13_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage13; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage13_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage13_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage13_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage14.c b/src/tmx/Asn_J2735/src/r2024/TestMessage14.c new file mode 100644 index 000000000..09da851d9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage14.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage14" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage14.h" + +asn_TYPE_member_t asn_MBR_TestMessage14_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage14, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage14, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage14, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage14_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage14_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage14_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage14_specs_1 = { + sizeof(struct TestMessage14), + offsetof(struct TestMessage14, _asn_ctx), + asn_MAP_TestMessage14_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage14_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage14 = { + "TestMessage14", + "TestMessage14", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage14_tags_1, + sizeof(asn_DEF_TestMessage14_tags_1) + /sizeof(asn_DEF_TestMessage14_tags_1[0]), /* 1 */ + asn_DEF_TestMessage14_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage14_tags_1) + /sizeof(asn_DEF_TestMessage14_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage14_1, + 2, /* Elements count */ + &asn_SPC_TestMessage14_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage14.h b/src/tmx/Asn_J2735/src/r2024/TestMessage14.h deleted file mode 100644 index 679132965..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage14.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage14" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage14_H_ -#define _TestMessage14_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage14; - -/* TestMessage14 */ -typedef struct TestMessage14 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage14 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage14_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage14; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage14_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage14_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage14_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage15.c b/src/tmx/Asn_J2735/src/r2024/TestMessage15.c new file mode 100644 index 000000000..6b451487f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TestMessage15.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TestMessage15" + * found in "J2735-TestMessages-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TestMessage15.h" + +asn_TYPE_member_t asn_MBR_TestMessage15_1[] = { + { ATF_POINTER, 2, offsetof(struct TestMessage15, header), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Header, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "header" + }, + { ATF_POINTER, 1, offsetof(struct TestMessage15, regional), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_TestMessage15, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TestMessage15_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_TestMessage15_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TestMessage15_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* header */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TestMessage15_specs_1 = { + sizeof(struct TestMessage15), + offsetof(struct TestMessage15, _asn_ctx), + asn_MAP_TestMessage15_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TestMessage15_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TestMessage15 = { + "TestMessage15", + "TestMessage15", + &asn_OP_SEQUENCE, + asn_DEF_TestMessage15_tags_1, + sizeof(asn_DEF_TestMessage15_tags_1) + /sizeof(asn_DEF_TestMessage15_tags_1[0]), /* 1 */ + asn_DEF_TestMessage15_tags_1, /* Same as above */ + sizeof(asn_DEF_TestMessage15_tags_1) + /sizeof(asn_DEF_TestMessage15_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TestMessage15_1, + 2, /* Elements count */ + &asn_SPC_TestMessage15_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TestMessage15.h b/src/tmx/Asn_J2735/src/r2024/TestMessage15.h deleted file mode 100644 index 519c4ad90..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TestMessage15.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TestMessage15" - * found in "J2735-TestMessages-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TestMessage15_H_ -#define _TestMessage15_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Header; -struct Reg_TestMessage15; - -/* TestMessage15 */ -typedef struct TestMessage15 { - struct Header *header; /* OPTIONAL */ - struct Reg_TestMessage15 *regional; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TestMessage15_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TestMessage15; -extern asn_SEQUENCE_specifics_t asn_SPC_TestMessage15_specs_1; -extern asn_TYPE_member_t asn_MBR_TestMessage15_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Header.h" -#include "RegionalExtension.h" - -#endif /* _TestMessage15_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ThrottleConfidence.c b/src/tmx/Asn_J2735/src/r2024/ThrottleConfidence.c new file mode 100644 index 000000000..49d603b41 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ThrottleConfidence.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ThrottleConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ThrottleConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ThrottleConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_ThrottleConfidence_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 13, "prec10percent" }, + { 2, 12, "prec1percent" }, + { 3, 14, "prec0-5percent" } +}; +static const unsigned int asn_MAP_ThrottleConfidence_enum2value_1[] = { + 3, /* prec0-5percent(3) */ + 1, /* prec10percent(1) */ + 2, /* prec1percent(2) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_ThrottleConfidence_specs_1 = { + asn_MAP_ThrottleConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_ThrottleConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_ThrottleConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ThrottleConfidence = { + "ThrottleConfidence", + "ThrottleConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_ThrottleConfidence_tags_1, + sizeof(asn_DEF_ThrottleConfidence_tags_1) + /sizeof(asn_DEF_ThrottleConfidence_tags_1[0]), /* 1 */ + asn_DEF_ThrottleConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_ThrottleConfidence_tags_1) + /sizeof(asn_DEF_ThrottleConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ThrottleConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ThrottleConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_ThrottleConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ThrottleConfidence.h b/src/tmx/Asn_J2735/src/r2024/ThrottleConfidence.h deleted file mode 100644 index 1ce4ab8e6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ThrottleConfidence.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ThrottleConfidence_H_ -#define _ThrottleConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ThrottleConfidence { - ThrottleConfidence_unavailable = 0, - ThrottleConfidence_prec10percent = 1, - ThrottleConfidence_prec1percent = 2, - ThrottleConfidence_prec0_5percent = 3 -} e_ThrottleConfidence; - -/* ThrottleConfidence */ -typedef long ThrottleConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ThrottleConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ThrottleConfidence; -extern const asn_INTEGER_specifics_t asn_SPC_ThrottleConfidence_specs_1; -asn_struct_free_f ThrottleConfidence_free; -asn_struct_print_f ThrottleConfidence_print; -asn_constr_check_f ThrottleConfidence_constraint; -ber_type_decoder_f ThrottleConfidence_decode_ber; -der_type_encoder_f ThrottleConfidence_encode_der; -xer_type_decoder_f ThrottleConfidence_decode_xer; -xer_type_encoder_f ThrottleConfidence_encode_xer; -oer_type_decoder_f ThrottleConfidence_decode_oer; -oer_type_encoder_f ThrottleConfidence_encode_oer; -per_type_decoder_f ThrottleConfidence_decode_uper; -per_type_encoder_f ThrottleConfidence_encode_uper; -per_type_decoder_f ThrottleConfidence_decode_aper; -per_type_encoder_f ThrottleConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ThrottleConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ThrottlePosition.c b/src/tmx/Asn_J2735/src/r2024/ThrottlePosition.c new file mode 100644 index 000000000..223934b7b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ThrottlePosition.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ThrottlePosition.h" + +int +ThrottlePosition_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 200L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ThrottlePosition_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..200) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ThrottlePosition_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 200 } /* (0..200) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ThrottlePosition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ThrottlePosition = { + "ThrottlePosition", + "ThrottlePosition", + &asn_OP_NativeInteger, + asn_DEF_ThrottlePosition_tags_1, + sizeof(asn_DEF_ThrottlePosition_tags_1) + /sizeof(asn_DEF_ThrottlePosition_tags_1[0]), /* 1 */ + asn_DEF_ThrottlePosition_tags_1, /* Same as above */ + sizeof(asn_DEF_ThrottlePosition_tags_1) + /sizeof(asn_DEF_ThrottlePosition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ThrottlePosition_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ThrottlePosition_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ThrottlePosition_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ThrottlePosition.h b/src/tmx/Asn_J2735/src/r2024/ThrottlePosition.h deleted file mode 100644 index 3d9c5d033..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ThrottlePosition.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ThrottlePosition_H_ -#define _ThrottlePosition_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ThrottlePosition */ -typedef long ThrottlePosition_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ThrottlePosition_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ThrottlePosition; -asn_struct_free_f ThrottlePosition_free; -asn_struct_print_f ThrottlePosition_print; -asn_constr_check_f ThrottlePosition_constraint; -ber_type_decoder_f ThrottlePosition_decode_ber; -der_type_encoder_f ThrottlePosition_encode_der; -xer_type_decoder_f ThrottlePosition_decode_xer; -xer_type_encoder_f ThrottlePosition_encode_xer; -oer_type_decoder_f ThrottlePosition_decode_oer; -oer_type_encoder_f ThrottlePosition_encode_oer; -per_type_decoder_f ThrottlePosition_decode_uper; -per_type_encoder_f ThrottlePosition_encode_uper; -per_type_decoder_f ThrottlePosition_decode_aper; -per_type_encoder_f ThrottlePosition_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ThrottlePosition_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Time.c b/src/tmx/Asn_J2735/src/r2024/Time.c new file mode 100644 index 000000000..b18f65e03 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Time.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Time.h" + +int +Time_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using Int4Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Time_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..4294967295) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Time_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Time_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Time = { + "Time", + "Time", + &asn_OP_NativeInteger, + asn_DEF_Time_tags_1, + sizeof(asn_DEF_Time_tags_1) + /sizeof(asn_DEF_Time_tags_1[0]), /* 1 */ + asn_DEF_Time_tags_1, /* Same as above */ + sizeof(asn_DEF_Time_tags_1) + /sizeof(asn_DEF_Time_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Time_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Time_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Time_constraint + }, + 0, 0, /* No members */ + &asn_SPC_Int4Unsigned_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Time.h b/src/tmx/Asn_J2735/src/r2024/Time.h deleted file mode 100644 index 82daacdde..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Time.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Time_H_ -#define _Time_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int4Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Time */ -typedef Int4Unsigned_t Time_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Time; -asn_struct_free_f Time_free; -asn_struct_print_f Time_print; -asn_constr_check_f Time_constraint; -ber_type_decoder_f Time_decode_ber; -der_type_encoder_f Time_encode_der; -xer_type_decoder_f Time_decode_xer; -xer_type_encoder_f Time_encode_xer; -oer_type_decoder_f Time_decode_oer; -oer_type_encoder_f Time_encode_oer; -per_type_decoder_f Time_decode_uper; -per_type_encoder_f Time_encode_uper; -per_type_decoder_f Time_decode_aper; -per_type_encoder_f Time_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Time_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TimeChangeDetails.c b/src/tmx/Asn_J2735/src/r2024/TimeChangeDetails.c new file mode 100644 index 000000000..647b7d8b7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TimeChangeDetails.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TimeChangeDetails.h" + +asn_TYPE_member_t asn_MBR_TimeChangeDetails_1[] = { + { ATF_POINTER, 1, offsetof(struct TimeChangeDetails, startTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SPAT_TimeMark, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct TimeChangeDetails, minEndTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SPAT_TimeMark, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "minEndTime" + }, + { ATF_POINTER, 4, offsetof(struct TimeChangeDetails, maxEndTime), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SPAT_TimeMark, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maxEndTime" + }, + { ATF_POINTER, 3, offsetof(struct TimeChangeDetails, likelyTime), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SPAT_TimeMark, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "likelyTime" + }, + { ATF_POINTER, 2, offsetof(struct TimeChangeDetails, confidence), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeIntervalConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, + { ATF_POINTER, 1, offsetof(struct TimeChangeDetails, nextTime), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SPAT_TimeMark, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "nextTime" + }, +}; +static const int asn_MAP_TimeChangeDetails_oms_1[] = { 0, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_TimeChangeDetails_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TimeChangeDetails_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* startTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* minEndTime */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* maxEndTime */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* likelyTime */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* confidence */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* nextTime */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TimeChangeDetails_specs_1 = { + sizeof(struct TimeChangeDetails), + offsetof(struct TimeChangeDetails, _asn_ctx), + asn_MAP_TimeChangeDetails_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_TimeChangeDetails_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TimeChangeDetails = { + "TimeChangeDetails", + "TimeChangeDetails", + &asn_OP_SEQUENCE, + asn_DEF_TimeChangeDetails_tags_1, + sizeof(asn_DEF_TimeChangeDetails_tags_1) + /sizeof(asn_DEF_TimeChangeDetails_tags_1[0]), /* 1 */ + asn_DEF_TimeChangeDetails_tags_1, /* Same as above */ + sizeof(asn_DEF_TimeChangeDetails_tags_1) + /sizeof(asn_DEF_TimeChangeDetails_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TimeChangeDetails_1, + 6, /* Elements count */ + &asn_SPC_TimeChangeDetails_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TimeChangeDetails.h b/src/tmx/Asn_J2735/src/r2024/TimeChangeDetails.h deleted file mode 100644 index cce151ff7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TimeChangeDetails.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TimeChangeDetails_H_ -#define _TimeChangeDetails_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SPAT_TimeMark.h" -#include "TimeIntervalConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TimeChangeDetails */ -typedef struct TimeChangeDetails { - SPAT_TimeMark_t *startTime; /* OPTIONAL */ - SPAT_TimeMark_t minEndTime; - SPAT_TimeMark_t *maxEndTime; /* OPTIONAL */ - SPAT_TimeMark_t *likelyTime; /* OPTIONAL */ - TimeIntervalConfidence_t *confidence; /* OPTIONAL */ - SPAT_TimeMark_t *nextTime; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TimeChangeDetails_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TimeChangeDetails; -extern asn_SEQUENCE_specifics_t asn_SPC_TimeChangeDetails_specs_1; -extern asn_TYPE_member_t asn_MBR_TimeChangeDetails_1[6]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TimeChangeDetails_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TimeChargesTable.c b/src/tmx/Asn_J2735/src/r2024/TimeChargesTable.c new file mode 100644 index 000000000..59c821aa6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TimeChargesTable.c @@ -0,0 +1,121 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TimeChargesTable.h" + +static int +memb_maxTime_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 1440L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_maxTime_constr_2 CC_NOTUSED = { + { 2, 1 } /* (1..1440) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_maxTime_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 1, 1440 } /* (1..1440) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TimeChargesTable_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TimeChargesTable, maxTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_maxTime_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_maxTime_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_maxTime_constraint_1 + }, + 0, 0, /* No default value */ + "maxTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct TimeChargesTable, chargesTable), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "chargesTable" + }, +}; +static const ber_tlv_tag_t asn_DEF_TimeChargesTable_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TimeChargesTable_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* maxTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* chargesTable */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TimeChargesTable_specs_1 = { + sizeof(struct TimeChargesTable), + offsetof(struct TimeChargesTable, _asn_ctx), + asn_MAP_TimeChargesTable_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TimeChargesTable = { + "TimeChargesTable", + "TimeChargesTable", + &asn_OP_SEQUENCE, + asn_DEF_TimeChargesTable_tags_1, + sizeof(asn_DEF_TimeChargesTable_tags_1) + /sizeof(asn_DEF_TimeChargesTable_tags_1[0]), /* 1 */ + asn_DEF_TimeChargesTable_tags_1, /* Same as above */ + sizeof(asn_DEF_TimeChargesTable_tags_1) + /sizeof(asn_DEF_TimeChargesTable_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TimeChargesTable_1, + 2, /* Elements count */ + &asn_SPC_TimeChargesTable_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TimeChargesTable.h b/src/tmx/Asn_J2735/src/r2024/TimeChargesTable.h deleted file mode 100644 index 1b0c30c9b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TimeChargesTable.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TimeChargesTable_H_ -#define _TimeChargesTable_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "ChargesTable.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TimeChargesTable */ -typedef struct TimeChargesTable { - long maxTime; - ChargesTable_t chargesTable; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TimeChargesTable_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TimeChargesTable; -extern asn_SEQUENCE_specifics_t asn_SPC_TimeChargesTable_specs_1; -extern asn_TYPE_member_t asn_MBR_TimeChargesTable_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TimeChargesTable_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TimeClassId.c b/src/tmx/Asn_J2735/src/r2024/TimeClassId.c new file mode 100644 index 000000000..638eba211 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TimeClassId.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TimeClassId.h" + +int +TimeClassId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Int2Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TimeClassId_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TimeClassId_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TimeClassId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TimeClassId = { + "TimeClassId", + "TimeClassId", + &asn_OP_NativeInteger, + asn_DEF_TimeClassId_tags_1, + sizeof(asn_DEF_TimeClassId_tags_1) + /sizeof(asn_DEF_TimeClassId_tags_1[0]), /* 1 */ + asn_DEF_TimeClassId_tags_1, /* Same as above */ + sizeof(asn_DEF_TimeClassId_tags_1) + /sizeof(asn_DEF_TimeClassId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TimeClassId_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TimeClassId_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TimeClassId_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TimeClassId.h b/src/tmx/Asn_J2735/src/r2024/TimeClassId.h deleted file mode 100644 index 5a2893183..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TimeClassId.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TimeClassId_H_ -#define _TimeClassId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int2Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TimeClassId */ -typedef Int2Unsigned_t TimeClassId_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TimeClassId_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TimeClassId; -asn_struct_free_f TimeClassId_free; -asn_struct_print_f TimeClassId_print; -asn_constr_check_f TimeClassId_constraint; -ber_type_decoder_f TimeClassId_decode_ber; -der_type_encoder_f TimeClassId_encode_der; -xer_type_decoder_f TimeClassId_decode_xer; -xer_type_encoder_f TimeClassId_encode_xer; -oer_type_decoder_f TimeClassId_decode_oer; -oer_type_encoder_f TimeClassId_encode_oer; -per_type_decoder_f TimeClassId_decode_uper; -per_type_encoder_f TimeClassId_encode_uper; -per_type_decoder_f TimeClassId_decode_aper; -per_type_encoder_f TimeClassId_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TimeClassId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TimeCompact.c b/src/tmx/Asn_J2735/src/r2024/TimeCompact.c new file mode 100644 index 000000000..ab965fe9d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TimeCompact.c @@ -0,0 +1,213 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TimeCompact.h" + +static int +memb_hours_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 23L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_mins_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 59L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_doubleSecs_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 30L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_hours_constr_2 CC_NOTUSED = { + { 1, 1 } /* (0..23) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_hours_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 23 } /* (0..23) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_mins_constr_3 CC_NOTUSED = { + { 1, 1 } /* (0..59) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_mins_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 59 } /* (0..59) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_doubleSecs_constr_4 CC_NOTUSED = { + { 1, 1 } /* (0..30) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_doubleSecs_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 30 } /* (0..30) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TimeCompact_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TimeCompact, hours), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_hours_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_hours_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_hours_constraint_1 + }, + 0, 0, /* No default value */ + "hours" + }, + { ATF_NOFLAGS, 0, offsetof(struct TimeCompact, mins), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_mins_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_mins_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_mins_constraint_1 + }, + 0, 0, /* No default value */ + "mins" + }, + { ATF_NOFLAGS, 0, offsetof(struct TimeCompact, doubleSecs), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_doubleSecs_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_doubleSecs_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_doubleSecs_constraint_1 + }, + 0, 0, /* No default value */ + "doubleSecs" + }, +}; +static const ber_tlv_tag_t asn_DEF_TimeCompact_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TimeCompact_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* hours */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* mins */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* doubleSecs */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TimeCompact_specs_1 = { + sizeof(struct TimeCompact), + offsetof(struct TimeCompact, _asn_ctx), + asn_MAP_TimeCompact_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TimeCompact = { + "TimeCompact", + "TimeCompact", + &asn_OP_SEQUENCE, + asn_DEF_TimeCompact_tags_1, + sizeof(asn_DEF_TimeCompact_tags_1) + /sizeof(asn_DEF_TimeCompact_tags_1[0]), /* 1 */ + asn_DEF_TimeCompact_tags_1, /* Same as above */ + sizeof(asn_DEF_TimeCompact_tags_1) + /sizeof(asn_DEF_TimeCompact_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TimeCompact_1, + 3, /* Elements count */ + &asn_SPC_TimeCompact_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TimeCompact.h b/src/tmx/Asn_J2735/src/r2024/TimeCompact.h deleted file mode 100644 index d44c9481a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TimeCompact.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TimeCompact_H_ -#define _TimeCompact_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TimeCompact */ -typedef struct TimeCompact { - long hours; - long mins; - long doubleSecs; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TimeCompact_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TimeCompact; -extern asn_SEQUENCE_specifics_t asn_SPC_TimeCompact_specs_1; -extern asn_TYPE_member_t asn_MBR_TimeCompact_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TimeCompact_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TimeConfidence.c b/src/tmx/Asn_J2735/src/r2024/TimeConfidence.c new file mode 100644 index 000000000..befb561c5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TimeConfidence.c @@ -0,0 +1,144 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TimeConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TimeConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TimeConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 6, 6, 0, 39 } /* (0..39) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_TimeConfidence_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 12, "time-100-000" }, + { 2, 12, "time-050-000" }, + { 3, 12, "time-020-000" }, + { 4, 12, "time-010-000" }, + { 5, 12, "time-002-000" }, + { 6, 12, "time-001-000" }, + { 7, 12, "time-000-500" }, + { 8, 12, "time-000-200" }, + { 9, 12, "time-000-100" }, + { 10, 12, "time-000-050" }, + { 11, 12, "time-000-020" }, + { 12, 12, "time-000-010" }, + { 13, 12, "time-000-005" }, + { 14, 12, "time-000-002" }, + { 15, 12, "time-000-001" }, + { 16, 14, "time-000-000-5" }, + { 17, 14, "time-000-000-2" }, + { 18, 14, "time-000-000-1" }, + { 19, 15, "time-000-000-05" }, + { 20, 15, "time-000-000-02" }, + { 21, 15, "time-000-000-01" }, + { 22, 16, "time-000-000-005" }, + { 23, 16, "time-000-000-002" }, + { 24, 16, "time-000-000-001" }, + { 25, 18, "time-000-000-000-5" }, + { 26, 18, "time-000-000-000-2" }, + { 27, 18, "time-000-000-000-1" }, + { 28, 19, "time-000-000-000-05" }, + { 29, 19, "time-000-000-000-02" }, + { 30, 19, "time-000-000-000-01" }, + { 31, 20, "time-000-000-000-005" }, + { 32, 20, "time-000-000-000-002" }, + { 33, 20, "time-000-000-000-001" }, + { 34, 22, "time-000-000-000-000-5" }, + { 35, 22, "time-000-000-000-000-2" }, + { 36, 22, "time-000-000-000-000-1" }, + { 37, 23, "time-000-000-000-000-05" }, + { 38, 23, "time-000-000-000-000-02" }, + { 39, 23, "time-000-000-000-000-01" } +}; +static const unsigned int asn_MAP_TimeConfidence_enum2value_1[] = { + 39, /* time-000-000-000-000-01(39) */ + 38, /* time-000-000-000-000-02(38) */ + 37, /* time-000-000-000-000-05(37) */ + 36, /* time-000-000-000-000-1(36) */ + 35, /* time-000-000-000-000-2(35) */ + 34, /* time-000-000-000-000-5(34) */ + 33, /* time-000-000-000-001(33) */ + 32, /* time-000-000-000-002(32) */ + 31, /* time-000-000-000-005(31) */ + 30, /* time-000-000-000-01(30) */ + 29, /* time-000-000-000-02(29) */ + 28, /* time-000-000-000-05(28) */ + 27, /* time-000-000-000-1(27) */ + 26, /* time-000-000-000-2(26) */ + 25, /* time-000-000-000-5(25) */ + 24, /* time-000-000-001(24) */ + 23, /* time-000-000-002(23) */ + 22, /* time-000-000-005(22) */ + 21, /* time-000-000-01(21) */ + 20, /* time-000-000-02(20) */ + 19, /* time-000-000-05(19) */ + 18, /* time-000-000-1(18) */ + 17, /* time-000-000-2(17) */ + 16, /* time-000-000-5(16) */ + 15, /* time-000-001(15) */ + 14, /* time-000-002(14) */ + 13, /* time-000-005(13) */ + 12, /* time-000-010(12) */ + 11, /* time-000-020(11) */ + 10, /* time-000-050(10) */ + 9, /* time-000-100(9) */ + 8, /* time-000-200(8) */ + 7, /* time-000-500(7) */ + 6, /* time-001-000(6) */ + 5, /* time-002-000(5) */ + 4, /* time-010-000(4) */ + 3, /* time-020-000(3) */ + 2, /* time-050-000(2) */ + 1, /* time-100-000(1) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_TimeConfidence_specs_1 = { + asn_MAP_TimeConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TimeConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 40, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TimeConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TimeConfidence = { + "TimeConfidence", + "TimeConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_TimeConfidence_tags_1, + sizeof(asn_DEF_TimeConfidence_tags_1) + /sizeof(asn_DEF_TimeConfidence_tags_1[0]), /* 1 */ + asn_DEF_TimeConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_TimeConfidence_tags_1) + /sizeof(asn_DEF_TimeConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TimeConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TimeConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TimeConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TimeConfidence.h b/src/tmx/Asn_J2735/src/r2024/TimeConfidence.h deleted file mode 100644 index 3ee669410..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TimeConfidence.h +++ /dev/null @@ -1,91 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TimeConfidence_H_ -#define _TimeConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TimeConfidence { - TimeConfidence_unavailable = 0, - TimeConfidence_time_100_000 = 1, - TimeConfidence_time_050_000 = 2, - TimeConfidence_time_020_000 = 3, - TimeConfidence_time_010_000 = 4, - TimeConfidence_time_002_000 = 5, - TimeConfidence_time_001_000 = 6, - TimeConfidence_time_000_500 = 7, - TimeConfidence_time_000_200 = 8, - TimeConfidence_time_000_100 = 9, - TimeConfidence_time_000_050 = 10, - TimeConfidence_time_000_020 = 11, - TimeConfidence_time_000_010 = 12, - TimeConfidence_time_000_005 = 13, - TimeConfidence_time_000_002 = 14, - TimeConfidence_time_000_001 = 15, - TimeConfidence_time_000_000_5 = 16, - TimeConfidence_time_000_000_2 = 17, - TimeConfidence_time_000_000_1 = 18, - TimeConfidence_time_000_000_05 = 19, - TimeConfidence_time_000_000_02 = 20, - TimeConfidence_time_000_000_01 = 21, - TimeConfidence_time_000_000_005 = 22, - TimeConfidence_time_000_000_002 = 23, - TimeConfidence_time_000_000_001 = 24, - TimeConfidence_time_000_000_000_5 = 25, - TimeConfidence_time_000_000_000_2 = 26, - TimeConfidence_time_000_000_000_1 = 27, - TimeConfidence_time_000_000_000_05 = 28, - TimeConfidence_time_000_000_000_02 = 29, - TimeConfidence_time_000_000_000_01 = 30, - TimeConfidence_time_000_000_000_005 = 31, - TimeConfidence_time_000_000_000_002 = 32, - TimeConfidence_time_000_000_000_001 = 33, - TimeConfidence_time_000_000_000_000_5 = 34, - TimeConfidence_time_000_000_000_000_2 = 35, - TimeConfidence_time_000_000_000_000_1 = 36, - TimeConfidence_time_000_000_000_000_05 = 37, - TimeConfidence_time_000_000_000_000_02 = 38, - TimeConfidence_time_000_000_000_000_01 = 39 -} e_TimeConfidence; - -/* TimeConfidence */ -typedef long TimeConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TimeConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TimeConfidence; -extern const asn_INTEGER_specifics_t asn_SPC_TimeConfidence_specs_1; -asn_struct_free_f TimeConfidence_free; -asn_struct_print_f TimeConfidence_print; -asn_constr_check_f TimeConfidence_constraint; -ber_type_decoder_f TimeConfidence_decode_ber; -der_type_encoder_f TimeConfidence_encode_der; -xer_type_decoder_f TimeConfidence_decode_xer; -xer_type_encoder_f TimeConfidence_encode_xer; -oer_type_decoder_f TimeConfidence_decode_oer; -oer_type_encoder_f TimeConfidence_encode_oer; -per_type_decoder_f TimeConfidence_decode_uper; -per_type_encoder_f TimeConfidence_encode_uper; -per_type_decoder_f TimeConfidence_decode_aper; -per_type_encoder_f TimeConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TimeConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TimeConstant.c b/src/tmx/Asn_J2735/src/r2024/TimeConstant.c new file mode 100644 index 000000000..927583922 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TimeConstant.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TimeConstant.h" + +int +TimeConstant_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TimeConstant_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TimeConstant_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TimeConstant_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TimeConstant = { + "TimeConstant", + "TimeConstant", + &asn_OP_NativeInteger, + asn_DEF_TimeConstant_tags_1, + sizeof(asn_DEF_TimeConstant_tags_1) + /sizeof(asn_DEF_TimeConstant_tags_1[0]), /* 1 */ + asn_DEF_TimeConstant_tags_1, /* Same as above */ + sizeof(asn_DEF_TimeConstant_tags_1) + /sizeof(asn_DEF_TimeConstant_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TimeConstant_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TimeConstant_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TimeConstant_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TimeConstant.h b/src/tmx/Asn_J2735/src/r2024/TimeConstant.h deleted file mode 100644 index 3d61dd86b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TimeConstant.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TimeConstant_H_ -#define _TimeConstant_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TimeConstant */ -typedef long TimeConstant_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TimeConstant_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TimeConstant; -asn_struct_free_f TimeConstant_free; -asn_struct_print_f TimeConstant_print; -asn_constr_check_f TimeConstant_constraint; -ber_type_decoder_f TimeConstant_decode_ber; -der_type_encoder_f TimeConstant_encode_der; -xer_type_decoder_f TimeConstant_decode_xer; -xer_type_encoder_f TimeConstant_encode_xer; -oer_type_decoder_f TimeConstant_decode_oer; -oer_type_encoder_f TimeConstant_encode_oer; -per_type_decoder_f TimeConstant_decode_uper; -per_type_encoder_f TimeConstant_encode_uper; -per_type_decoder_f TimeConstant_decode_aper; -per_type_encoder_f TimeConstant_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TimeConstant_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TimeInSecond-B16.c b/src/tmx/Asn_J2735/src/r2024/TimeInSecond-B16.c new file mode 100644 index 000000000..56d23ce86 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TimeInSecond-B16.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TimeInSecond-B16.h" + +int +TimeInSecond_B16_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TimeInSecond_B16_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TimeInSecond_B16_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TimeInSecond_B16_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TimeInSecond_B16 = { + "TimeInSecond-B16", + "TimeInSecond-B16", + &asn_OP_NativeInteger, + asn_DEF_TimeInSecond_B16_tags_1, + sizeof(asn_DEF_TimeInSecond_B16_tags_1) + /sizeof(asn_DEF_TimeInSecond_B16_tags_1[0]), /* 1 */ + asn_DEF_TimeInSecond_B16_tags_1, /* Same as above */ + sizeof(asn_DEF_TimeInSecond_B16_tags_1) + /sizeof(asn_DEF_TimeInSecond_B16_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TimeInSecond_B16_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TimeInSecond_B16_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TimeInSecond_B16_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TimeInSecond-B16.h b/src/tmx/Asn_J2735/src/r2024/TimeInSecond-B16.h deleted file mode 100644 index 0c7b5e65a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TimeInSecond-B16.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TimeInSecond_B16_H_ -#define _TimeInSecond_B16_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TimeInSecond-B16 */ -typedef long TimeInSecond_B16_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TimeInSecond_B16_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TimeInSecond_B16; -asn_struct_free_f TimeInSecond_B16_free; -asn_struct_print_f TimeInSecond_B16_print; -asn_constr_check_f TimeInSecond_B16_constraint; -ber_type_decoder_f TimeInSecond_B16_decode_ber; -der_type_encoder_f TimeInSecond_B16_encode_der; -xer_type_decoder_f TimeInSecond_B16_decode_xer; -xer_type_encoder_f TimeInSecond_B16_encode_xer; -oer_type_decoder_f TimeInSecond_B16_decode_oer; -oer_type_encoder_f TimeInSecond_B16_encode_oer; -per_type_decoder_f TimeInSecond_B16_decode_uper; -per_type_encoder_f TimeInSecond_B16_encode_uper; -per_type_decoder_f TimeInSecond_B16_decode_aper; -per_type_encoder_f TimeInSecond_B16_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TimeInSecond_B16_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TimeInSecond-B8.c b/src/tmx/Asn_J2735/src/r2024/TimeInSecond-B8.c new file mode 100644 index 000000000..e355820ba --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TimeInSecond-B8.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TimeInSecond-B8.h" + +int +TimeInSecond_B8_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TimeInSecond_B8_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TimeInSecond_B8_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TimeInSecond_B8_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TimeInSecond_B8 = { + "TimeInSecond-B8", + "TimeInSecond-B8", + &asn_OP_NativeInteger, + asn_DEF_TimeInSecond_B8_tags_1, + sizeof(asn_DEF_TimeInSecond_B8_tags_1) + /sizeof(asn_DEF_TimeInSecond_B8_tags_1[0]), /* 1 */ + asn_DEF_TimeInSecond_B8_tags_1, /* Same as above */ + sizeof(asn_DEF_TimeInSecond_B8_tags_1) + /sizeof(asn_DEF_TimeInSecond_B8_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TimeInSecond_B8_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TimeInSecond_B8_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TimeInSecond_B8_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TimeInSecond-B8.h b/src/tmx/Asn_J2735/src/r2024/TimeInSecond-B8.h deleted file mode 100644 index efabd470b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TimeInSecond-B8.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TimeInSecond_B8_H_ -#define _TimeInSecond_B8_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TimeInSecond-B8 */ -typedef long TimeInSecond_B8_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TimeInSecond_B8_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TimeInSecond_B8; -asn_struct_free_f TimeInSecond_B8_free; -asn_struct_print_f TimeInSecond_B8_print; -asn_constr_check_f TimeInSecond_B8_constraint; -ber_type_decoder_f TimeInSecond_B8_decode_ber; -der_type_encoder_f TimeInSecond_B8_encode_der; -xer_type_decoder_f TimeInSecond_B8_decode_xer; -xer_type_encoder_f TimeInSecond_B8_encode_xer; -oer_type_decoder_f TimeInSecond_B8_decode_oer; -oer_type_encoder_f TimeInSecond_B8_encode_oer; -per_type_decoder_f TimeInSecond_B8_decode_uper; -per_type_encoder_f TimeInSecond_B8_encode_uper; -per_type_decoder_f TimeInSecond_B8_decode_aper; -per_type_encoder_f TimeInSecond_B8_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TimeInSecond_B8_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TimeIntervalConfidence.c b/src/tmx/Asn_J2735/src/r2024/TimeIntervalConfidence.c new file mode 100644 index 000000000..b4cdf0899 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TimeIntervalConfidence.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TimeIntervalConfidence.h" + +int +TimeIntervalConfidence_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TimeIntervalConfidence_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TimeIntervalConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TimeIntervalConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TimeIntervalConfidence = { + "TimeIntervalConfidence", + "TimeIntervalConfidence", + &asn_OP_NativeInteger, + asn_DEF_TimeIntervalConfidence_tags_1, + sizeof(asn_DEF_TimeIntervalConfidence_tags_1) + /sizeof(asn_DEF_TimeIntervalConfidence_tags_1[0]), /* 1 */ + asn_DEF_TimeIntervalConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_TimeIntervalConfidence_tags_1) + /sizeof(asn_DEF_TimeIntervalConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TimeIntervalConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TimeIntervalConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TimeIntervalConfidence_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TimeIntervalConfidence.h b/src/tmx/Asn_J2735/src/r2024/TimeIntervalConfidence.h deleted file mode 100644 index f768a354a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TimeIntervalConfidence.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TimeIntervalConfidence_H_ -#define _TimeIntervalConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TimeIntervalConfidence */ -typedef long TimeIntervalConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TimeIntervalConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TimeIntervalConfidence; -asn_struct_free_f TimeIntervalConfidence_free; -asn_struct_print_f TimeIntervalConfidence_print; -asn_constr_check_f TimeIntervalConfidence_constraint; -ber_type_decoder_f TimeIntervalConfidence_decode_ber; -der_type_encoder_f TimeIntervalConfidence_encode_der; -xer_type_decoder_f TimeIntervalConfidence_decode_xer; -xer_type_encoder_f TimeIntervalConfidence_encode_xer; -oer_type_decoder_f TimeIntervalConfidence_decode_oer; -oer_type_encoder_f TimeIntervalConfidence_encode_oer; -per_type_decoder_f TimeIntervalConfidence_decode_uper; -per_type_encoder_f TimeIntervalConfidence_encode_uper; -per_type_decoder_f TimeIntervalConfidence_decode_aper; -per_type_encoder_f TimeIntervalConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TimeIntervalConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TimeOffset.c b/src/tmx/Asn_J2735/src/r2024/TimeOffset.c new file mode 100644 index 000000000..cce6e2aa9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TimeOffset.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TimeOffset.h" + +int +TimeOffset_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TimeOffset_constr_1 CC_NOTUSED = { + { 2, 1 } /* (1..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TimeOffset_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (1..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TimeOffset_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TimeOffset = { + "TimeOffset", + "TimeOffset", + &asn_OP_NativeInteger, + asn_DEF_TimeOffset_tags_1, + sizeof(asn_DEF_TimeOffset_tags_1) + /sizeof(asn_DEF_TimeOffset_tags_1[0]), /* 1 */ + asn_DEF_TimeOffset_tags_1, /* Same as above */ + sizeof(asn_DEF_TimeOffset_tags_1) + /sizeof(asn_DEF_TimeOffset_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TimeOffset_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TimeOffset_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TimeOffset_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TimeOffset.h b/src/tmx/Asn_J2735/src/r2024/TimeOffset.h deleted file mode 100644 index d9ce6a758..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TimeOffset.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TimeOffset_H_ -#define _TimeOffset_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TimeOffset */ -typedef long TimeOffset_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TimeOffset_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TimeOffset; -asn_struct_free_f TimeOffset_free; -asn_struct_print_f TimeOffset_print; -asn_constr_check_f TimeOffset_constraint; -ber_type_decoder_f TimeOffset_decode_ber; -der_type_encoder_f TimeOffset_encode_der; -xer_type_decoder_f TimeOffset_decode_xer; -xer_type_encoder_f TimeOffset_encode_xer; -oer_type_decoder_f TimeOffset_decode_oer; -oer_type_encoder_f TimeOffset_encode_oer; -per_type_decoder_f TimeOffset_decode_uper; -per_type_encoder_f TimeOffset_encode_uper; -per_type_decoder_f TimeOffset_decode_aper; -per_type_encoder_f TimeOffset_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TimeOffset_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TimePeriod.c b/src/tmx/Asn_J2735/src/r2024/TimePeriod.c new file mode 100644 index 000000000..c4af9bb70 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TimePeriod.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingReportMessage" + * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TimePeriod.h" + +asn_TYPE_member_t asn_MBR_TimePeriod_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TimePeriod, startTime), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct TimePeriod, endTime), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "endTime" + }, +}; +static const ber_tlv_tag_t asn_DEF_TimePeriod_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TimePeriod_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* startTime */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* endTime */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TimePeriod_specs_1 = { + sizeof(struct TimePeriod), + offsetof(struct TimePeriod, _asn_ctx), + asn_MAP_TimePeriod_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TimePeriod = { + "TimePeriod", + "TimePeriod", + &asn_OP_SEQUENCE, + asn_DEF_TimePeriod_tags_1, + sizeof(asn_DEF_TimePeriod_tags_1) + /sizeof(asn_DEF_TimePeriod_tags_1[0]), /* 1 */ + asn_DEF_TimePeriod_tags_1, /* Same as above */ + sizeof(asn_DEF_TimePeriod_tags_1) + /sizeof(asn_DEF_TimePeriod_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TimePeriod_1, + 2, /* Elements count */ + &asn_SPC_TimePeriod_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TimePeriod.h b/src/tmx/Asn_J2735/src/r2024/TimePeriod.h deleted file mode 100644 index fed6fdc6e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TimePeriod.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingReportMessage" - * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TimePeriod_H_ -#define _TimePeriod_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DDateTime.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TimePeriod */ -typedef struct TimePeriod { - DDateTime_t startTime; - DDateTime_t endTime; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TimePeriod_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TimePeriod; -extern asn_SEQUENCE_specifics_t asn_SPC_TimePeriod_specs_1; -extern asn_TYPE_member_t asn_MBR_TimePeriod_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TimePeriod_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TimeRemaining.c b/src/tmx/Asn_J2735/src/r2024/TimeRemaining.c new file mode 100644 index 000000000..a1c7ff137 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TimeRemaining.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TimeRemaining.h" + +int +TimeRemaining_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 9001L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TimeRemaining_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..9001) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TimeRemaining_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 0, 9001 } /* (0..9001) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TimeRemaining_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TimeRemaining = { + "TimeRemaining", + "TimeRemaining", + &asn_OP_NativeInteger, + asn_DEF_TimeRemaining_tags_1, + sizeof(asn_DEF_TimeRemaining_tags_1) + /sizeof(asn_DEF_TimeRemaining_tags_1[0]), /* 1 */ + asn_DEF_TimeRemaining_tags_1, /* Same as above */ + sizeof(asn_DEF_TimeRemaining_tags_1) + /sizeof(asn_DEF_TimeRemaining_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TimeRemaining_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TimeRemaining_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TimeRemaining_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TimeRemaining.h b/src/tmx/Asn_J2735/src/r2024/TimeRemaining.h deleted file mode 100644 index 30a1c9f32..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TimeRemaining.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TimeRemaining_H_ -#define _TimeRemaining_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TimeRemaining */ -typedef long TimeRemaining_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TimeRemaining_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TimeRemaining; -asn_struct_free_f TimeRemaining_free; -asn_struct_print_f TimeRemaining_print; -asn_constr_check_f TimeRemaining_constraint; -ber_type_decoder_f TimeRemaining_decode_ber; -der_type_encoder_f TimeRemaining_encode_der; -xer_type_decoder_f TimeRemaining_decode_xer; -xer_type_encoder_f TimeRemaining_encode_xer; -oer_type_decoder_f TimeRemaining_decode_oer; -oer_type_encoder_f TimeRemaining_encode_oer; -per_type_decoder_f TimeRemaining_decode_uper; -per_type_encoder_f TimeRemaining_encode_uper; -per_type_decoder_f TimeRemaining_decode_aper; -per_type_encoder_f TimeRemaining_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TimeRemaining_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TimeUnit.c b/src/tmx/Asn_J2735/src/r2024/TimeUnit.c new file mode 100644 index 000000000..8f10cf9ac --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TimeUnit.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TimeUnit.h" + +int +TimeUnit_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TimeUnit_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TimeUnit_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TimeUnit_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TimeUnit = { + "TimeUnit", + "TimeUnit", + &asn_OP_NativeInteger, + asn_DEF_TimeUnit_tags_1, + sizeof(asn_DEF_TimeUnit_tags_1) + /sizeof(asn_DEF_TimeUnit_tags_1[0]), /* 1 */ + asn_DEF_TimeUnit_tags_1, /* Same as above */ + sizeof(asn_DEF_TimeUnit_tags_1) + /sizeof(asn_DEF_TimeUnit_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TimeUnit_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TimeUnit_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TimeUnit_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TimeUnit.h b/src/tmx/Asn_J2735/src/r2024/TimeUnit.h deleted file mode 100644 index a0f013922..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TimeUnit.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TimeUnit_H_ -#define _TimeUnit_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TimeUnit { - TimeUnit_seconds = 0, - TimeUnit_minutes = 1, - TimeUnit_hours = 2, - TimeUnit_days = 3, - TimeUnit_months = 4 -} e_TimeUnit; - -/* TimeUnit */ -typedef long TimeUnit_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TimeUnit_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TimeUnit; -asn_struct_free_f TimeUnit_free; -asn_struct_print_f TimeUnit_print; -asn_constr_check_f TimeUnit_constraint; -ber_type_decoder_f TimeUnit_decode_ber; -der_type_encoder_f TimeUnit_encode_der; -xer_type_decoder_f TimeUnit_decode_xer; -xer_type_encoder_f TimeUnit_encode_xer; -oer_type_decoder_f TimeUnit_decode_oer; -oer_type_encoder_f TimeUnit_encode_oer; -per_type_decoder_f TimeUnit_decode_uper; -per_type_encoder_f TimeUnit_encode_uper; -per_type_decoder_f TimeUnit_decode_aper; -per_type_encoder_f TimeUnit_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TimeUnit_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TireData.c b/src/tmx/Asn_J2735/src/r2024/TireData.c new file mode 100644 index 000000000..0daeb82e0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TireData.c @@ -0,0 +1,176 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TireData.h" + +asn_TYPE_member_t asn_MBR_TireData_1[] = { + { ATF_POINTER, 7, offsetof(struct TireData, location), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TireLocation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "location" + }, + { ATF_POINTER, 6, offsetof(struct TireData, pressure), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TirePressure, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pressure" + }, + { ATF_POINTER, 5, offsetof(struct TireData, temp), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TireTemp, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "temp" + }, + { ATF_POINTER, 4, offsetof(struct TireData, wheelSensorStatus), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WheelSensorStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wheelSensorStatus" + }, + { ATF_POINTER, 3, offsetof(struct TireData, wheelEndElectFault), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WheelEndElectFault, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wheelEndElectFault" + }, + { ATF_POINTER, 2, offsetof(struct TireData, leakageRate), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TireLeakageRate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "leakageRate" + }, + { ATF_POINTER, 1, offsetof(struct TireData, detection), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TirePressureThresholdDetection, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "detection" + }, +}; +static const int asn_MAP_TireData_oms_1[] = { 0, 1, 2, 3, 4, 5, 6 }; +static const ber_tlv_tag_t asn_DEF_TireData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TireData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* location */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pressure */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* temp */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* wheelSensorStatus */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* wheelEndElectFault */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* leakageRate */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 } /* detection */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TireData_specs_1 = { + sizeof(struct TireData), + offsetof(struct TireData, _asn_ctx), + asn_MAP_TireData_tag2el_1, + 7, /* Count of tags in the map */ + asn_MAP_TireData_oms_1, /* Optional members */ + 7, 0, /* Root/Additions */ + 7, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TireData = { + "TireData", + "TireData", + &asn_OP_SEQUENCE, + asn_DEF_TireData_tags_1, + sizeof(asn_DEF_TireData_tags_1) + /sizeof(asn_DEF_TireData_tags_1[0]), /* 1 */ + asn_DEF_TireData_tags_1, /* Same as above */ + sizeof(asn_DEF_TireData_tags_1) + /sizeof(asn_DEF_TireData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TireData_1, + 7, /* Elements count */ + &asn_SPC_TireData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TireData.h b/src/tmx/Asn_J2735/src/r2024/TireData.h deleted file mode 100644 index 42fa75841..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TireData.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TireData_H_ -#define _TireData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TireLocation.h" -#include "TirePressure.h" -#include "TireTemp.h" -#include "WheelSensorStatus.h" -#include "WheelEndElectFault.h" -#include "TireLeakageRate.h" -#include "TirePressureThresholdDetection.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TireData */ -typedef struct TireData { - TireLocation_t *location; /* OPTIONAL */ - TirePressure_t *pressure; /* OPTIONAL */ - TireTemp_t *temp; /* OPTIONAL */ - WheelSensorStatus_t *wheelSensorStatus; /* OPTIONAL */ - WheelEndElectFault_t *wheelEndElectFault; /* OPTIONAL */ - TireLeakageRate_t *leakageRate; /* OPTIONAL */ - TirePressureThresholdDetection_t *detection; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TireData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TireData; -extern asn_SEQUENCE_specifics_t asn_SPC_TireData_specs_1; -extern asn_TYPE_member_t asn_MBR_TireData_1[7]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TireData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TireDataList.c b/src/tmx/Asn_J2735/src/r2024/TireDataList.c new file mode 100644 index 000000000..d6c5dab4e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TireDataList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TireDataList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TireDataList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TireDataList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TireDataList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TireData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_TireDataList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_TireDataList_specs_1 = { + sizeof(struct TireDataList), + offsetof(struct TireDataList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_TireDataList = { + "TireDataList", + "TireDataList", + &asn_OP_SEQUENCE_OF, + asn_DEF_TireDataList_tags_1, + sizeof(asn_DEF_TireDataList_tags_1) + /sizeof(asn_DEF_TireDataList_tags_1[0]), /* 1 */ + asn_DEF_TireDataList_tags_1, /* Same as above */ + sizeof(asn_DEF_TireDataList_tags_1) + /sizeof(asn_DEF_TireDataList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TireDataList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TireDataList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_TireDataList_1, + 1, /* Single element */ + &asn_SPC_TireDataList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TireDataList.h b/src/tmx/Asn_J2735/src/r2024/TireDataList.h deleted file mode 100644 index c4fec487d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TireDataList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TireDataList_H_ -#define _TireDataList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct TireData; - -/* TireDataList */ -typedef struct TireDataList { - A_SEQUENCE_OF(struct TireData) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TireDataList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TireDataList; -extern asn_SET_OF_specifics_t asn_SPC_TireDataList_specs_1; -extern asn_TYPE_member_t asn_MBR_TireDataList_1[1]; -extern asn_per_constraints_t asn_PER_type_TireDataList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "TireData.h" - -#endif /* _TireDataList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TireLeakageRate.c b/src/tmx/Asn_J2735/src/r2024/TireLeakageRate.c new file mode 100644 index 000000000..f0be4de08 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TireLeakageRate.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TireLeakageRate.h" + +int +TireLeakageRate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 64255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TireLeakageRate_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..64255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TireLeakageRate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 64255 } /* (0..64255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TireLeakageRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TireLeakageRate = { + "TireLeakageRate", + "TireLeakageRate", + &asn_OP_NativeInteger, + asn_DEF_TireLeakageRate_tags_1, + sizeof(asn_DEF_TireLeakageRate_tags_1) + /sizeof(asn_DEF_TireLeakageRate_tags_1[0]), /* 1 */ + asn_DEF_TireLeakageRate_tags_1, /* Same as above */ + sizeof(asn_DEF_TireLeakageRate_tags_1) + /sizeof(asn_DEF_TireLeakageRate_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TireLeakageRate_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TireLeakageRate_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TireLeakageRate_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TireLeakageRate.h b/src/tmx/Asn_J2735/src/r2024/TireLeakageRate.h deleted file mode 100644 index 669894705..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TireLeakageRate.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TireLeakageRate_H_ -#define _TireLeakageRate_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TireLeakageRate */ -typedef long TireLeakageRate_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TireLeakageRate_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TireLeakageRate; -asn_struct_free_f TireLeakageRate_free; -asn_struct_print_f TireLeakageRate_print; -asn_constr_check_f TireLeakageRate_constraint; -ber_type_decoder_f TireLeakageRate_decode_ber; -der_type_encoder_f TireLeakageRate_encode_der; -xer_type_decoder_f TireLeakageRate_decode_xer; -xer_type_encoder_f TireLeakageRate_encode_xer; -oer_type_decoder_f TireLeakageRate_decode_oer; -oer_type_encoder_f TireLeakageRate_encode_oer; -per_type_decoder_f TireLeakageRate_decode_uper; -per_type_encoder_f TireLeakageRate_encode_uper; -per_type_decoder_f TireLeakageRate_decode_aper; -per_type_encoder_f TireLeakageRate_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TireLeakageRate_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TireLocation.c b/src/tmx/Asn_J2735/src/r2024/TireLocation.c new file mode 100644 index 000000000..9fdaea1fe --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TireLocation.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TireLocation.h" + +int +TireLocation_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TireLocation_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TireLocation_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TireLocation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TireLocation = { + "TireLocation", + "TireLocation", + &asn_OP_NativeInteger, + asn_DEF_TireLocation_tags_1, + sizeof(asn_DEF_TireLocation_tags_1) + /sizeof(asn_DEF_TireLocation_tags_1[0]), /* 1 */ + asn_DEF_TireLocation_tags_1, /* Same as above */ + sizeof(asn_DEF_TireLocation_tags_1) + /sizeof(asn_DEF_TireLocation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TireLocation_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TireLocation_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TireLocation_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TireLocation.h b/src/tmx/Asn_J2735/src/r2024/TireLocation.h deleted file mode 100644 index 556c0a3b5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TireLocation.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TireLocation_H_ -#define _TireLocation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TireLocation */ -typedef long TireLocation_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TireLocation_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TireLocation; -asn_struct_free_f TireLocation_free; -asn_struct_print_f TireLocation_print; -asn_constr_check_f TireLocation_constraint; -ber_type_decoder_f TireLocation_decode_ber; -der_type_encoder_f TireLocation_encode_der; -xer_type_decoder_f TireLocation_decode_xer; -xer_type_encoder_f TireLocation_encode_xer; -oer_type_decoder_f TireLocation_decode_oer; -oer_type_encoder_f TireLocation_encode_oer; -per_type_decoder_f TireLocation_decode_uper; -per_type_encoder_f TireLocation_encode_uper; -per_type_decoder_f TireLocation_decode_aper; -per_type_encoder_f TireLocation_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TireLocation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TirePressure.c b/src/tmx/Asn_J2735/src/r2024/TirePressure.c new file mode 100644 index 000000000..be8f18ab7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TirePressure.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TirePressure.h" + +int +TirePressure_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 250L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TirePressure_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..250) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TirePressure_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 250 } /* (0..250) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TirePressure_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TirePressure = { + "TirePressure", + "TirePressure", + &asn_OP_NativeInteger, + asn_DEF_TirePressure_tags_1, + sizeof(asn_DEF_TirePressure_tags_1) + /sizeof(asn_DEF_TirePressure_tags_1[0]), /* 1 */ + asn_DEF_TirePressure_tags_1, /* Same as above */ + sizeof(asn_DEF_TirePressure_tags_1) + /sizeof(asn_DEF_TirePressure_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TirePressure_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TirePressure_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TirePressure_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TirePressure.h b/src/tmx/Asn_J2735/src/r2024/TirePressure.h deleted file mode 100644 index 857adb224..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TirePressure.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TirePressure_H_ -#define _TirePressure_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TirePressure */ -typedef long TirePressure_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TirePressure_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TirePressure; -asn_struct_free_f TirePressure_free; -asn_struct_print_f TirePressure_print; -asn_constr_check_f TirePressure_constraint; -ber_type_decoder_f TirePressure_decode_ber; -der_type_encoder_f TirePressure_encode_der; -xer_type_decoder_f TirePressure_decode_xer; -xer_type_encoder_f TirePressure_encode_xer; -oer_type_decoder_f TirePressure_decode_oer; -oer_type_encoder_f TirePressure_encode_oer; -per_type_decoder_f TirePressure_decode_uper; -per_type_encoder_f TirePressure_encode_uper; -per_type_decoder_f TirePressure_decode_aper; -per_type_encoder_f TirePressure_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TirePressure_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TirePressureThresholdDetection.c b/src/tmx/Asn_J2735/src/r2024/TirePressureThresholdDetection.c new file mode 100644 index 000000000..f279b1940 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TirePressureThresholdDetection.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TirePressureThresholdDetection.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TirePressureThresholdDetection_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TirePressureThresholdDetection_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_TirePressureThresholdDetection_value2enum_1[] = { + { 0, 6, "noData" }, + { 1, 12, "overPressure" }, + { 2, 17, "noWarningPressure" }, + { 3, 13, "underPressure" }, + { 4, 20, "extremeUnderPressure" }, + { 5, 9, "undefined" }, + { 6, 14, "errorIndicator" }, + { 7, 12, "notAvailable" } +}; +static const unsigned int asn_MAP_TirePressureThresholdDetection_enum2value_1[] = { + 6, /* errorIndicator(6) */ + 4, /* extremeUnderPressure(4) */ + 0, /* noData(0) */ + 2, /* noWarningPressure(2) */ + 7, /* notAvailable(7) */ + 1, /* overPressure(1) */ + 5, /* undefined(5) */ + 3 /* underPressure(3) */ +}; +const asn_INTEGER_specifics_t asn_SPC_TirePressureThresholdDetection_specs_1 = { + asn_MAP_TirePressureThresholdDetection_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TirePressureThresholdDetection_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TirePressureThresholdDetection_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TirePressureThresholdDetection = { + "TirePressureThresholdDetection", + "TirePressureThresholdDetection", + &asn_OP_NativeEnumerated, + asn_DEF_TirePressureThresholdDetection_tags_1, + sizeof(asn_DEF_TirePressureThresholdDetection_tags_1) + /sizeof(asn_DEF_TirePressureThresholdDetection_tags_1[0]), /* 1 */ + asn_DEF_TirePressureThresholdDetection_tags_1, /* Same as above */ + sizeof(asn_DEF_TirePressureThresholdDetection_tags_1) + /sizeof(asn_DEF_TirePressureThresholdDetection_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TirePressureThresholdDetection_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TirePressureThresholdDetection_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TirePressureThresholdDetection_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TirePressureThresholdDetection.h b/src/tmx/Asn_J2735/src/r2024/TirePressureThresholdDetection.h deleted file mode 100644 index e81d38778..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TirePressureThresholdDetection.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TirePressureThresholdDetection_H_ -#define _TirePressureThresholdDetection_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TirePressureThresholdDetection { - TirePressureThresholdDetection_noData = 0, - TirePressureThresholdDetection_overPressure = 1, - TirePressureThresholdDetection_noWarningPressure = 2, - TirePressureThresholdDetection_underPressure = 3, - TirePressureThresholdDetection_extremeUnderPressure = 4, - TirePressureThresholdDetection_undefined = 5, - TirePressureThresholdDetection_errorIndicator = 6, - TirePressureThresholdDetection_notAvailable = 7 -} e_TirePressureThresholdDetection; - -/* TirePressureThresholdDetection */ -typedef long TirePressureThresholdDetection_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TirePressureThresholdDetection_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TirePressureThresholdDetection; -extern const asn_INTEGER_specifics_t asn_SPC_TirePressureThresholdDetection_specs_1; -asn_struct_free_f TirePressureThresholdDetection_free; -asn_struct_print_f TirePressureThresholdDetection_print; -asn_constr_check_f TirePressureThresholdDetection_constraint; -ber_type_decoder_f TirePressureThresholdDetection_decode_ber; -der_type_encoder_f TirePressureThresholdDetection_encode_der; -xer_type_decoder_f TirePressureThresholdDetection_decode_xer; -xer_type_encoder_f TirePressureThresholdDetection_encode_xer; -oer_type_decoder_f TirePressureThresholdDetection_decode_oer; -oer_type_encoder_f TirePressureThresholdDetection_encode_oer; -per_type_decoder_f TirePressureThresholdDetection_decode_uper; -per_type_encoder_f TirePressureThresholdDetection_encode_uper; -per_type_decoder_f TirePressureThresholdDetection_decode_aper; -per_type_encoder_f TirePressureThresholdDetection_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TirePressureThresholdDetection_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TireTemp.c b/src/tmx/Asn_J2735/src/r2024/TireTemp.c new file mode 100644 index 000000000..1f80cebc1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TireTemp.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TireTemp.h" + +int +TireTemp_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -8736L && value <= 55519L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TireTemp_constr_1 CC_NOTUSED = { + { 4, 0 } /* (-8736..55519) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TireTemp_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -8736, 55519 } /* (-8736..55519) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TireTemp_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TireTemp = { + "TireTemp", + "TireTemp", + &asn_OP_NativeInteger, + asn_DEF_TireTemp_tags_1, + sizeof(asn_DEF_TireTemp_tags_1) + /sizeof(asn_DEF_TireTemp_tags_1[0]), /* 1 */ + asn_DEF_TireTemp_tags_1, /* Same as above */ + sizeof(asn_DEF_TireTemp_tags_1) + /sizeof(asn_DEF_TireTemp_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TireTemp_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TireTemp_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TireTemp_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TireTemp.h b/src/tmx/Asn_J2735/src/r2024/TireTemp.h deleted file mode 100644 index 191f48354..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TireTemp.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TireTemp_H_ -#define _TireTemp_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TireTemp */ -typedef long TireTemp_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TireTemp_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TireTemp; -asn_struct_free_f TireTemp_free; -asn_struct_print_f TireTemp_print; -asn_constr_check_f TireTemp_constraint; -ber_type_decoder_f TireTemp_decode_ber; -der_type_encoder_f TireTemp_encode_der; -xer_type_decoder_f TireTemp_decode_xer; -xer_type_encoder_f TireTemp_encode_xer; -oer_type_decoder_f TireTemp_decode_oer; -oer_type_encoder_f TireTemp_encode_oer; -per_type_decoder_f TireTemp_decode_uper; -per_type_encoder_f TireTemp_encode_uper; -per_type_decoder_f TireTemp_decode_aper; -per_type_encoder_f TireTemp_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TireTemp_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Tolerance.c b/src/tmx/Asn_J2735/src/r2024/Tolerance.c new file mode 100644 index 000000000..cc4152ee0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Tolerance.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Tolerance.h" + +int +Tolerance_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 180L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Tolerance_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..180) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Tolerance_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 180 } /* (0..180) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Tolerance_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Tolerance = { + "Tolerance", + "Tolerance", + &asn_OP_NativeInteger, + asn_DEF_Tolerance_tags_1, + sizeof(asn_DEF_Tolerance_tags_1) + /sizeof(asn_DEF_Tolerance_tags_1[0]), /* 1 */ + asn_DEF_Tolerance_tags_1, /* Same as above */ + sizeof(asn_DEF_Tolerance_tags_1) + /sizeof(asn_DEF_Tolerance_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Tolerance_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Tolerance_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Tolerance_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Tolerance.h b/src/tmx/Asn_J2735/src/r2024/Tolerance.h deleted file mode 100644 index 476e071a9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Tolerance.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Tolerance_H_ -#define _Tolerance_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Tolerance */ -typedef long Tolerance_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Tolerance_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Tolerance; -asn_struct_free_f Tolerance_free; -asn_struct_print_f Tolerance_print; -asn_constr_check_f Tolerance_constraint; -ber_type_decoder_f Tolerance_decode_ber; -der_type_encoder_f Tolerance_encode_der; -xer_type_decoder_f Tolerance_decode_xer; -xer_type_encoder_f Tolerance_encode_xer; -oer_type_decoder_f Tolerance_decode_oer; -oer_type_encoder_f Tolerance_encode_oer; -per_type_decoder_f Tolerance_decode_uper; -per_type_encoder_f Tolerance_encode_uper; -per_type_decoder_f Tolerance_decode_aper; -per_type_encoder_f Tolerance_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Tolerance_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TollAdvertisementInfo.c b/src/tmx/Asn_J2735/src/r2024/TollAdvertisementInfo.c new file mode 100644 index 000000000..084370321 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TollAdvertisementInfo.c @@ -0,0 +1,342 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TollAdvertisementInfo.h" + +static int +memb_totalTams_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 10L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_tamNum_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 10L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_tumPublicKey_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 32UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_totalTams_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_totalTams_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (1..10,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_tamNum_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_tamNum_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (1..10,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_tumPublicKey_constr_9 CC_NOTUSED = { + { 0, 0 }, + 32 /* (SIZE(32..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_tumPublicKey_constr_9 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 32, 32 } /* (SIZE(32..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TollAdvertisementInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TollAdvertisementInfo, tamSequenceNum), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tamSequenceNum" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollAdvertisementInfo, totalTams), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_totalTams_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_totalTams_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_totalTams_constraint_1 + }, + 0, 0, /* No default value */ + "totalTams" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollAdvertisementInfo, tamNum), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_tamNum_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_tamNum_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_tamNum_constraint_1 + }, + 0, 0, /* No default value */ + "tamNum" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollAdvertisementInfo, tollChargerInfo), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TollChargerInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tollChargerInfo" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollAdvertisementInfo, timestamp), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timestamp" + }, + { ATF_POINTER, 1, offsetof(struct TollAdvertisementInfo, tumInstructions), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TumInstructions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tumInstructions" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollAdvertisementInfo, tollPointMap), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TollPointMap, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tollPointMap" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollAdvertisementInfo, tumPublicKey), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_tumPublicKey_constr_9, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_tumPublicKey_constr_9, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_tumPublicKey_constraint_1 + }, + 0, 0, /* No default value */ + "tumPublicKey" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollAdvertisementInfo, ackPolicy), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AckPolicy, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ackPolicy" + }, + { ATF_POINTER, 1, offsetof(struct TollAdvertisementInfo, lastTollPtDataReq), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lastTollPtDataReq" + }, +}; +static const int asn_MAP_TollAdvertisementInfo_oms_1[] = { 5, 9 }; +static const ber_tlv_tag_t asn_DEF_TollAdvertisementInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TollAdvertisementInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tamSequenceNum */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* totalTams */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* tamNum */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* tollChargerInfo */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* timestamp */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* tumInstructions */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* tollPointMap */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* tumPublicKey */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* ackPolicy */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 } /* lastTollPtDataReq */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TollAdvertisementInfo_specs_1 = { + sizeof(struct TollAdvertisementInfo), + offsetof(struct TollAdvertisementInfo, _asn_ctx), + asn_MAP_TollAdvertisementInfo_tag2el_1, + 10, /* Count of tags in the map */ + asn_MAP_TollAdvertisementInfo_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 10, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TollAdvertisementInfo = { + "TollAdvertisementInfo", + "TollAdvertisementInfo", + &asn_OP_SEQUENCE, + asn_DEF_TollAdvertisementInfo_tags_1, + sizeof(asn_DEF_TollAdvertisementInfo_tags_1) + /sizeof(asn_DEF_TollAdvertisementInfo_tags_1[0]), /* 1 */ + asn_DEF_TollAdvertisementInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_TollAdvertisementInfo_tags_1) + /sizeof(asn_DEF_TollAdvertisementInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TollAdvertisementInfo_1, + 10, /* Elements count */ + &asn_SPC_TollAdvertisementInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TollAdvertisementInfo.h b/src/tmx/Asn_J2735/src/r2024/TollAdvertisementInfo.h deleted file mode 100644 index a2bc85c54..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TollAdvertisementInfo.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TollAdvertisementInfo_H_ -#define _TollAdvertisementInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_MsgCount.h" -#include "NativeInteger.h" -#include "TollChargerInfo.h" -#include "DDateTime.h" -#include "TollPointMap.h" -#include "OCTET_STRING.h" -#include "AckPolicy.h" -#include "BOOLEAN.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct TumInstructions; - -/* TollAdvertisementInfo */ -typedef struct TollAdvertisementInfo { - Common_MsgCount_t tamSequenceNum; - long totalTams; - long tamNum; - TollChargerInfo_t tollChargerInfo; - DDateTime_t timestamp; - struct TumInstructions *tumInstructions; /* OPTIONAL */ - TollPointMap_t tollPointMap; - OCTET_STRING_t tumPublicKey; - AckPolicy_t ackPolicy; - BOOLEAN_t *lastTollPtDataReq; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TollAdvertisementInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TollAdvertisementInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_TollAdvertisementInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_TollAdvertisementInfo_1[10]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "TumInstructions.h" - -#endif /* _TollAdvertisementInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TollAdvertisementMessage.c b/src/tmx/Asn_J2735/src/r2024/TollAdvertisementMessage.c new file mode 100644 index 000000000..a955e32cb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TollAdvertisementMessage.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TollAdvertisementMessage.h" + +asn_TYPE_member_t asn_MBR_TollAdvertisementMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TollAdvertisementMessage, tollChargesTable), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TollChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tollChargesTable" + }, + { ATF_POINTER, 1, offsetof(struct TollAdvertisementMessage, tollAdvInfo), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TollAdvertisementInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tollAdvInfo" + }, +}; +static const int asn_MAP_TollAdvertisementMessage_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_TollAdvertisementMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TollAdvertisementMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tollChargesTable */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tollAdvInfo */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TollAdvertisementMessage_specs_1 = { + sizeof(struct TollAdvertisementMessage), + offsetof(struct TollAdvertisementMessage, _asn_ctx), + asn_MAP_TollAdvertisementMessage_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TollAdvertisementMessage_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TollAdvertisementMessage = { + "TollAdvertisementMessage", + "TollAdvertisementMessage", + &asn_OP_SEQUENCE, + asn_DEF_TollAdvertisementMessage_tags_1, + sizeof(asn_DEF_TollAdvertisementMessage_tags_1) + /sizeof(asn_DEF_TollAdvertisementMessage_tags_1[0]), /* 1 */ + asn_DEF_TollAdvertisementMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_TollAdvertisementMessage_tags_1) + /sizeof(asn_DEF_TollAdvertisementMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TollAdvertisementMessage_1, + 2, /* Elements count */ + &asn_SPC_TollAdvertisementMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TollAdvertisementMessage.h b/src/tmx/Asn_J2735/src/r2024/TollAdvertisementMessage.h deleted file mode 100644 index 319ceecea..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TollAdvertisementMessage.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TollAdvertisementMessage_H_ -#define _TollAdvertisementMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TollChargesTable.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct TollAdvertisementInfo; - -/* TollAdvertisementMessage */ -typedef struct TollAdvertisementMessage { - TollChargesTable_t tollChargesTable; - struct TollAdvertisementInfo *tollAdvInfo; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TollAdvertisementMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TollAdvertisementMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_TollAdvertisementMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_TollAdvertisementMessage_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "TollAdvertisementInfo.h" - -#endif /* _TollAdvertisementMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TollChargerInfo.c b/src/tmx/Asn_J2735/src/r2024/TollChargerInfo.c new file mode 100644 index 000000000..90a157132 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TollChargerInfo.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TollChargerInfo.h" + +asn_TYPE_member_t asn_MBR_TollChargerInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TollChargerInfo, tollChargerId), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OBJECT_IDENTIFIER, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tollChargerId" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollChargerInfo, tollPointId), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TollPointID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tollPointId" + }, + { ATF_POINTER, 1, offsetof(struct TollChargerInfo, descriptiveName), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveName, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "descriptiveName" + }, +}; +static const int asn_MAP_TollChargerInfo_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_TollChargerInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TollChargerInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tollChargerId */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tollPointId */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* descriptiveName */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TollChargerInfo_specs_1 = { + sizeof(struct TollChargerInfo), + offsetof(struct TollChargerInfo, _asn_ctx), + asn_MAP_TollChargerInfo_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_TollChargerInfo_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TollChargerInfo = { + "TollChargerInfo", + "TollChargerInfo", + &asn_OP_SEQUENCE, + asn_DEF_TollChargerInfo_tags_1, + sizeof(asn_DEF_TollChargerInfo_tags_1) + /sizeof(asn_DEF_TollChargerInfo_tags_1[0]), /* 1 */ + asn_DEF_TollChargerInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_TollChargerInfo_tags_1) + /sizeof(asn_DEF_TollChargerInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TollChargerInfo_1, + 3, /* Elements count */ + &asn_SPC_TollChargerInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TollChargerInfo.h b/src/tmx/Asn_J2735/src/r2024/TollChargerInfo.h deleted file mode 100644 index 5c75a2d0c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TollChargerInfo.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TollChargerInfo_H_ -#define _TollChargerInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OBJECT_IDENTIFIER.h" -#include "TollPointID.h" -#include "DescriptiveName.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TollChargerInfo */ -typedef struct TollChargerInfo { - OBJECT_IDENTIFIER_t tollChargerId; - TollPointID_t tollPointId; - DescriptiveName_t *descriptiveName; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TollChargerInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TollChargerInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_TollChargerInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_TollChargerInfo_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TollChargerInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TollChargesTable.c b/src/tmx/Asn_J2735/src/r2024/TollChargesTable.c new file mode 100644 index 000000000..1997279d7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TollChargesTable.c @@ -0,0 +1,393 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TollChargesTable.h" + +static int +memb_perLaneCharges_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 64UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_closedNetworkCharges_constraint_2(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 64UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_perLaneCharges_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_perLaneCharges_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 6, 6, 1, 64 } /* (SIZE(1..64,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_closedNetworkCharges_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_closedNetworkCharges_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 6, 6, 1, 64 } /* (SIZE(1..64,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_perLaneCharges_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_perLaneCharges_constr_4 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 6, 6, 1, 64 } /* (SIZE(1..64,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_closedNetworkCharges_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_closedNetworkCharges_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 6, 6, 1, 64 } /* (SIZE(1..64,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_tollTypeCharge_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_tollTypeCharge_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_perLaneCharges_4[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_LaneChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_perLaneCharges_tags_4[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_perLaneCharges_specs_4 = { + sizeof(struct TollChargesTable__tollTypeCharge__perLaneCharges), + offsetof(struct TollChargesTable__tollTypeCharge__perLaneCharges, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_perLaneCharges_4 = { + "perLaneCharges", + "perLaneCharges", + &asn_OP_SEQUENCE_OF, + asn_DEF_perLaneCharges_tags_4, + sizeof(asn_DEF_perLaneCharges_tags_4) + /sizeof(asn_DEF_perLaneCharges_tags_4[0]) - 1, /* 1 */ + asn_DEF_perLaneCharges_tags_4, /* Same as above */ + sizeof(asn_DEF_perLaneCharges_tags_4) + /sizeof(asn_DEF_perLaneCharges_tags_4[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_perLaneCharges_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_perLaneCharges_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_perLaneCharges_4, + 1, /* Single element */ + &asn_SPC_perLaneCharges_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_closedNetworkCharges_6[] = { + { ATF_POINTER, 0, 0, + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_ClosedNetworkChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_closedNetworkCharges_tags_6[] = { + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_closedNetworkCharges_specs_6 = { + sizeof(struct TollChargesTable__tollTypeCharge__closedNetworkCharges), + offsetof(struct TollChargesTable__tollTypeCharge__closedNetworkCharges, _asn_ctx), + 2, /* XER encoding is XMLValueList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_closedNetworkCharges_6 = { + "closedNetworkCharges", + "closedNetworkCharges", + &asn_OP_SEQUENCE_OF, + asn_DEF_closedNetworkCharges_tags_6, + sizeof(asn_DEF_closedNetworkCharges_tags_6) + /sizeof(asn_DEF_closedNetworkCharges_tags_6[0]) - 1, /* 1 */ + asn_DEF_closedNetworkCharges_tags_6, /* Same as above */ + sizeof(asn_DEF_closedNetworkCharges_tags_6) + /sizeof(asn_DEF_closedNetworkCharges_tags_6[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_closedNetworkCharges_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_closedNetworkCharges_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_closedNetworkCharges_6, + 1, /* Single element */ + &asn_SPC_closedNetworkCharges_specs_6 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_tollTypeCharge_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct TollChargesTable__tollTypeCharge, choice.pointCharges), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_ChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pointCharges" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollChargesTable__tollTypeCharge, choice.perLaneCharges), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_perLaneCharges_4, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_perLaneCharges_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_perLaneCharges_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_perLaneCharges_constraint_2 + }, + 0, 0, /* No default value */ + "perLaneCharges" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollChargesTable__tollTypeCharge, choice.closedNetworkCharges), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + 0, + &asn_DEF_closedNetworkCharges_6, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_closedNetworkCharges_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_closedNetworkCharges_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_closedNetworkCharges_constraint_2 + }, + 0, 0, /* No default value */ + "closedNetworkCharges" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollChargesTable__tollTypeCharge, choice.timeBasedCharges), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeChargesTable, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeBasedCharges" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_tollTypeCharge_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pointCharges */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* perLaneCharges */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* closedNetworkCharges */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* timeBasedCharges */ +}; +static asn_CHOICE_specifics_t asn_SPC_tollTypeCharge_specs_2 = { + sizeof(struct TollChargesTable__tollTypeCharge), + offsetof(struct TollChargesTable__tollTypeCharge, _asn_ctx), + offsetof(struct TollChargesTable__tollTypeCharge, present), + sizeof(((struct TollChargesTable__tollTypeCharge *)0)->present), + asn_MAP_tollTypeCharge_tag2el_2, + 4, /* Count of tags in the map */ + 0, 0, + 4 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_tollTypeCharge_2 = { + "tollTypeCharge", + "tollTypeCharge", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_tollTypeCharge_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_tollTypeCharge_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_tollTypeCharge_2, + 4, /* Elements count */ + &asn_SPC_tollTypeCharge_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TollChargesTable_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TollChargesTable, tollTypeCharge), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_tollTypeCharge_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tollTypeCharge" + }, +}; +static const ber_tlv_tag_t asn_DEF_TollChargesTable_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TollChargesTable_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* tollTypeCharge */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TollChargesTable_specs_1 = { + sizeof(struct TollChargesTable), + offsetof(struct TollChargesTable, _asn_ctx), + asn_MAP_TollChargesTable_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TollChargesTable = { + "TollChargesTable", + "TollChargesTable", + &asn_OP_SEQUENCE, + asn_DEF_TollChargesTable_tags_1, + sizeof(asn_DEF_TollChargesTable_tags_1) + /sizeof(asn_DEF_TollChargesTable_tags_1[0]), /* 1 */ + asn_DEF_TollChargesTable_tags_1, /* Same as above */ + sizeof(asn_DEF_TollChargesTable_tags_1) + /sizeof(asn_DEF_TollChargesTable_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TollChargesTable_1, + 1, /* Elements count */ + &asn_SPC_TollChargesTable_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TollChargesTable.h b/src/tmx/Asn_J2735/src/r2024/TollChargesTable.h deleted file mode 100644 index 97bc825b5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TollChargesTable.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TollChargesTable_H_ -#define _TollChargesTable_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ChargesTable.h" -#include "TimeChargesTable.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TollChargesTable__tollTypeCharge_PR { - TollChargesTable__tollTypeCharge_PR_NOTHING, /* No components present */ - TollChargesTable__tollTypeCharge_PR_pointCharges, - TollChargesTable__tollTypeCharge_PR_perLaneCharges, - TollChargesTable__tollTypeCharge_PR_closedNetworkCharges, - TollChargesTable__tollTypeCharge_PR_timeBasedCharges - /* Extensions may appear below */ - -} TollChargesTable__tollTypeCharge_PR; - -/* Forward declarations */ -struct LaneChargesTable; -struct ClosedNetworkChargesTable; - -/* TollChargesTable */ -typedef struct TollChargesTable { - struct TollChargesTable__tollTypeCharge { - TollChargesTable__tollTypeCharge_PR present; - union TollChargesTable__tollTypeCharge_u { - ChargesTable_t pointCharges; - struct TollChargesTable__tollTypeCharge__perLaneCharges { - A_SEQUENCE_OF(struct LaneChargesTable) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } perLaneCharges; - struct TollChargesTable__tollTypeCharge__closedNetworkCharges { - A_SEQUENCE_OF(struct ClosedNetworkChargesTable) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } closedNetworkCharges; - TimeChargesTable_t timeBasedCharges; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } tollTypeCharge; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TollChargesTable_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TollChargesTable; -extern asn_SEQUENCE_specifics_t asn_SPC_TollChargesTable_specs_1; -extern asn_TYPE_member_t asn_MBR_TollChargesTable_1[1]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "LaneChargesTable.h" -#include "ClosedNetworkChargesTable.h" - -#endif /* _TollChargesTable_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TollPointID.c b/src/tmx/Asn_J2735/src/r2024/TollPointID.c new file mode 100644 index 000000000..aa0cbb9b2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TollPointID.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TollPointID.h" + +int +TollPointID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 2048L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TollPointID_constr_1 CC_NOTUSED = { + { 2, 1 } /* (1..2048) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TollPointID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 1, 2048 } /* (1..2048) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TollPointID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TollPointID = { + "TollPointID", + "TollPointID", + &asn_OP_NativeInteger, + asn_DEF_TollPointID_tags_1, + sizeof(asn_DEF_TollPointID_tags_1) + /sizeof(asn_DEF_TollPointID_tags_1[0]), /* 1 */ + asn_DEF_TollPointID_tags_1, /* Same as above */ + sizeof(asn_DEF_TollPointID_tags_1) + /sizeof(asn_DEF_TollPointID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TollPointID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TollPointID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TollPointID_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TollPointID.h b/src/tmx/Asn_J2735/src/r2024/TollPointID.h deleted file mode 100644 index 08ac4d29e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TollPointID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TollPointID_H_ -#define _TollPointID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TollPointID */ -typedef long TollPointID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TollPointID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TollPointID; -asn_struct_free_f TollPointID_free; -asn_struct_print_f TollPointID_print; -asn_constr_check_f TollPointID_constraint; -ber_type_decoder_f TollPointID_decode_ber; -der_type_encoder_f TollPointID_encode_der; -xer_type_decoder_f TollPointID_decode_xer; -xer_type_encoder_f TollPointID_encode_xer; -oer_type_decoder_f TollPointID_decode_oer; -oer_type_encoder_f TollPointID_encode_oer; -per_type_decoder_f TollPointID_decode_uper; -per_type_encoder_f TollPointID_encode_uper; -per_type_decoder_f TollPointID_decode_aper; -per_type_encoder_f TollPointID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TollPointID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TollPointMap.c b/src/tmx/Asn_J2735/src/r2024/TollPointMap.c new file mode 100644 index 000000000..6afd1d93d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TollPointMap.c @@ -0,0 +1,461 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TollPointMap.h" + +static int +memb_GenericLane_constraint_6(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_GenericLane_constraint_8(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + if(1 /* No applicable constraints whatsoever */) { + /* Nothing is here. See below */ + } + + return td->encoding_constraints.general_constraints(td, sptr, ctfailcb, app_key); +} + +static int +memb_revisionNum_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 10L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_approachLanesMap_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 64UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_tollZoneLanesMap_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 64UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Member_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Member_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_approachLanesMap_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_approachLanesMap_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 6, 6, 1, 64 } /* (SIZE(1..64,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Member_constr_9 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Member_constr_9 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_tollZoneLanesMap_constr_8 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_tollZoneLanesMap_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 6, 6, 1, 64 } /* (SIZE(1..64,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_revisionNum_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_revisionNum_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (1..10,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_approachLanesMap_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_approachLanesMap_constr_6 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 6, 6, 1, 64 } /* (SIZE(1..64,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_tollZoneLanesMap_constr_8 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_tollZoneLanesMap_constr_8 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 6, 6, 1, 64 } /* (SIZE(1..64,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_approachLanesMap_6[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GenericLane, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Member_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Member_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_GenericLane_constraint_6 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_approachLanesMap_tags_6[] = { + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_approachLanesMap_specs_6 = { + sizeof(struct TollPointMap__approachLanesMap), + offsetof(struct TollPointMap__approachLanesMap, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_approachLanesMap_6 = { + "approachLanesMap", + "approachLanesMap", + &asn_OP_SEQUENCE_OF, + asn_DEF_approachLanesMap_tags_6, + sizeof(asn_DEF_approachLanesMap_tags_6) + /sizeof(asn_DEF_approachLanesMap_tags_6[0]) - 1, /* 1 */ + asn_DEF_approachLanesMap_tags_6, /* Same as above */ + sizeof(asn_DEF_approachLanesMap_tags_6) + /sizeof(asn_DEF_approachLanesMap_tags_6[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_approachLanesMap_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_approachLanesMap_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_approachLanesMap_6, + 1, /* Single element */ + &asn_SPC_approachLanesMap_specs_6 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_tollZoneLanesMap_8[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GenericLane, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Member_constr_9, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Member_constr_9, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_GenericLane_constraint_8 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_tollZoneLanesMap_tags_8[] = { + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_tollZoneLanesMap_specs_8 = { + sizeof(struct TollPointMap__tollZoneLanesMap), + offsetof(struct TollPointMap__tollZoneLanesMap, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_tollZoneLanesMap_8 = { + "tollZoneLanesMap", + "tollZoneLanesMap", + &asn_OP_SEQUENCE_OF, + asn_DEF_tollZoneLanesMap_tags_8, + sizeof(asn_DEF_tollZoneLanesMap_tags_8) + /sizeof(asn_DEF_tollZoneLanesMap_tags_8[0]) - 1, /* 1 */ + asn_DEF_tollZoneLanesMap_tags_8, /* Same as above */ + sizeof(asn_DEF_tollZoneLanesMap_tags_8) + /sizeof(asn_DEF_tollZoneLanesMap_tags_8[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_tollZoneLanesMap_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_tollZoneLanesMap_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_tollZoneLanesMap_8, + 1, /* Single element */ + &asn_SPC_tollZoneLanesMap_specs_8 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TollPointMap_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TollPointMap, revisionNum), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_revisionNum_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_revisionNum_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_revisionNum_constraint_1 + }, + 0, 0, /* No default value */ + "revisionNum" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollPointMap, referencePoint), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Position3D, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "referencePoint" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollPointMap, speedLimit), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegulatorySpeedLimit, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedLimit" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollPointMap, laneWidth), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneWidth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneWidth" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollPointMap, approachLanesMap), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + 0, + &asn_DEF_approachLanesMap_6, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_approachLanesMap_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_approachLanesMap_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_approachLanesMap_constraint_1 + }, + 0, 0, /* No default value */ + "approachLanesMap" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollPointMap, tollZoneLanesMap), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + 0, + &asn_DEF_tollZoneLanesMap_8, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_tollZoneLanesMap_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_tollZoneLanesMap_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_tollZoneLanesMap_constraint_1 + }, + 0, 0, /* No default value */ + "tollZoneLanesMap" + }, +}; +static const ber_tlv_tag_t asn_DEF_TollPointMap_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TollPointMap_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* revisionNum */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* referencePoint */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* speedLimit */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* laneWidth */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* approachLanesMap */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* tollZoneLanesMap */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TollPointMap_specs_1 = { + sizeof(struct TollPointMap), + offsetof(struct TollPointMap, _asn_ctx), + asn_MAP_TollPointMap_tag2el_1, + 6, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TollPointMap = { + "TollPointMap", + "TollPointMap", + &asn_OP_SEQUENCE, + asn_DEF_TollPointMap_tags_1, + sizeof(asn_DEF_TollPointMap_tags_1) + /sizeof(asn_DEF_TollPointMap_tags_1[0]), /* 1 */ + asn_DEF_TollPointMap_tags_1, /* Same as above */ + sizeof(asn_DEF_TollPointMap_tags_1) + /sizeof(asn_DEF_TollPointMap_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TollPointMap_1, + 6, /* Elements count */ + &asn_SPC_TollPointMap_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TollPointMap.h b/src/tmx/Asn_J2735/src/r2024/TollPointMap.h deleted file mode 100644 index ccc7840ab..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TollPointMap.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TollPointMap_H_ -#define _TollPointMap_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "Position3D.h" -#include "RegulatorySpeedLimit.h" -#include "LaneWidth.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct GenericLane; - -/* TollPointMap */ -typedef struct TollPointMap { - long revisionNum; - Position3D_t referencePoint; - RegulatorySpeedLimit_t speedLimit; - LaneWidth_t laneWidth; - struct TollPointMap__approachLanesMap { - A_SEQUENCE_OF(struct GenericLane) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } approachLanesMap; - struct TollPointMap__tollZoneLanesMap { - A_SEQUENCE_OF(struct GenericLane) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } tollZoneLanesMap; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TollPointMap_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TollPointMap; -extern asn_SEQUENCE_specifics_t asn_SPC_TollPointMap_specs_1; -extern asn_TYPE_member_t asn_MBR_TollPointMap_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "GenericLane.h" - -#endif /* _TollPointMap_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TollServiceProviderData.c b/src/tmx/Asn_J2735/src/r2024/TollServiceProviderData.c new file mode 100644 index 000000000..a187d1a0a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TollServiceProviderData.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageMessage" + * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TollServiceProviderData.h" + +int +TollServiceProviderData_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 1024UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TollServiceProviderData_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TollServiceProviderData_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 10, 10, 1, 1024 } /* (SIZE(1..1024,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TollServiceProviderData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TollServiceProviderData = { + "TollServiceProviderData", + "TollServiceProviderData", + &asn_OP_OCTET_STRING, + asn_DEF_TollServiceProviderData_tags_1, + sizeof(asn_DEF_TollServiceProviderData_tags_1) + /sizeof(asn_DEF_TollServiceProviderData_tags_1[0]), /* 1 */ + asn_DEF_TollServiceProviderData_tags_1, /* Same as above */ + sizeof(asn_DEF_TollServiceProviderData_tags_1) + /sizeof(asn_DEF_TollServiceProviderData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TollServiceProviderData_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TollServiceProviderData_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TollServiceProviderData_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TollServiceProviderData.h b/src/tmx/Asn_J2735/src/r2024/TollServiceProviderData.h deleted file mode 100644 index 1abf35cfe..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TollServiceProviderData.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageMessage" - * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TollServiceProviderData_H_ -#define _TollServiceProviderData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TollServiceProviderData */ -typedef OCTET_STRING_t TollServiceProviderData_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TollServiceProviderData_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TollServiceProviderData; -asn_struct_free_f TollServiceProviderData_free; -asn_struct_print_f TollServiceProviderData_print; -asn_constr_check_f TollServiceProviderData_constraint; -ber_type_decoder_f TollServiceProviderData_decode_ber; -der_type_encoder_f TollServiceProviderData_encode_der; -xer_type_decoder_f TollServiceProviderData_decode_xer; -xer_type_encoder_f TollServiceProviderData_encode_xer; -oer_type_decoder_f TollServiceProviderData_decode_oer; -oer_type_encoder_f TollServiceProviderData_encode_oer; -per_type_decoder_f TollServiceProviderData_decode_uper; -per_type_encoder_f TollServiceProviderData_encode_uper; -per_type_decoder_f TollServiceProviderData_decode_aper; -per_type_encoder_f TollServiceProviderData_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TollServiceProviderData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TollUsageAckMessage.c b/src/tmx/Asn_J2735/src/r2024/TollUsageAckMessage.c new file mode 100644 index 000000000..f211fd148 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TollUsageAckMessage.c @@ -0,0 +1,121 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageAckMessage" + * found in "J3217-TollUsageAckMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TollUsageAckMessage.h" + +static int +memb_ackMaxAge_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 100L && value <= 10000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_ackMaxAge_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_ackMaxAge_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 14, 14, 100, 10000 } /* (100..10000,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TollUsageAckMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TollUsageAckMessage, tumAck), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TumAck, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tumAck" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollUsageAckMessage, ackMaxAge), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_ackMaxAge_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_ackMaxAge_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_ackMaxAge_constraint_1 + }, + 0, 0, /* No default value */ + "ackMaxAge" + }, +}; +static const ber_tlv_tag_t asn_DEF_TollUsageAckMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TollUsageAckMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tumAck */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* ackMaxAge */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TollUsageAckMessage_specs_1 = { + sizeof(struct TollUsageAckMessage), + offsetof(struct TollUsageAckMessage, _asn_ctx), + asn_MAP_TollUsageAckMessage_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TollUsageAckMessage = { + "TollUsageAckMessage", + "TollUsageAckMessage", + &asn_OP_SEQUENCE, + asn_DEF_TollUsageAckMessage_tags_1, + sizeof(asn_DEF_TollUsageAckMessage_tags_1) + /sizeof(asn_DEF_TollUsageAckMessage_tags_1[0]), /* 1 */ + asn_DEF_TollUsageAckMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_TollUsageAckMessage_tags_1) + /sizeof(asn_DEF_TollUsageAckMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TollUsageAckMessage_1, + 2, /* Elements count */ + &asn_SPC_TollUsageAckMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TollUsageAckMessage.h b/src/tmx/Asn_J2735/src/r2024/TollUsageAckMessage.h deleted file mode 100644 index 63c523ef9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TollUsageAckMessage.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageAckMessage" - * found in "J3217-TollUsageAckMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TollUsageAckMessage_H_ -#define _TollUsageAckMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TumAck.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TollUsageAckMessage */ -typedef struct TollUsageAckMessage { - TumAck_t tumAck; - long ackMaxAge; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TollUsageAckMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TollUsageAckMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_TollUsageAckMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_TollUsageAckMessage_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TollUsageAckMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TollUsageMessage.c b/src/tmx/Asn_J2735/src/r2024/TollUsageMessage.c new file mode 100644 index 000000000..2a4e68826 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TollUsageMessage.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageMessage" + * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TollUsageMessage.h" + +asn_TYPE_member_t asn_MBR_TollUsageMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TollUsageMessage, tollPointInfo), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TollChargerInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tollPointInfo" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollUsageMessage, tempID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tempID" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollUsageMessage, tumSequenceNum), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tumSequenceNum" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollUsageMessage, tamSequenceNum), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tamSequenceNum" + }, + { ATF_POINTER, 1, offsetof(struct TollUsageMessage, tumHash), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TumHash, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tumHash" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollUsageMessage, encryptedTumData), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EncryptedTumData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "encryptedTumData" + }, +}; +static const int asn_MAP_TollUsageMessage_oms_1[] = { 4 }; +static const ber_tlv_tag_t asn_DEF_TollUsageMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TollUsageMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tollPointInfo */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tempID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* tumSequenceNum */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* tamSequenceNum */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* tumHash */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* encryptedTumData */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TollUsageMessage_specs_1 = { + sizeof(struct TollUsageMessage), + offsetof(struct TollUsageMessage, _asn_ctx), + asn_MAP_TollUsageMessage_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_TollUsageMessage_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TollUsageMessage = { + "TollUsageMessage", + "TollUsageMessage", + &asn_OP_SEQUENCE, + asn_DEF_TollUsageMessage_tags_1, + sizeof(asn_DEF_TollUsageMessage_tags_1) + /sizeof(asn_DEF_TollUsageMessage_tags_1[0]), /* 1 */ + asn_DEF_TollUsageMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_TollUsageMessage_tags_1) + /sizeof(asn_DEF_TollUsageMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TollUsageMessage_1, + 6, /* Elements count */ + &asn_SPC_TollUsageMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TollUsageMessage.h b/src/tmx/Asn_J2735/src/r2024/TollUsageMessage.h deleted file mode 100644 index 2b675c9dc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TollUsageMessage.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageMessage" - * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TollUsageMessage_H_ -#define _TollUsageMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TollChargerInfo.h" -#include "TemporaryID.h" -#include "Common_MsgCount.h" -#include "TumHash.h" -#include "EncryptedTumData.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TollUsageMessage */ -typedef struct TollUsageMessage { - TollChargerInfo_t tollPointInfo; - TemporaryID_t tempID; - Common_MsgCount_t tumSequenceNum; - Common_MsgCount_t tamSequenceNum; - TumHash_t *tumHash; /* OPTIONAL */ - EncryptedTumData_t encryptedTumData; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TollUsageMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TollUsageMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_TollUsageMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_TollUsageMessage_1[6]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TollUsageMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TollUserData.c b/src/tmx/Asn_J2735/src/r2024/TollUserData.c new file mode 100644 index 000000000..dab467571 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TollUserData.c @@ -0,0 +1,303 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageMessage" + * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TollUserData.h" + +static int +memb_numOccupants_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 2L && value <= 5L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_numOccupants_constr_8 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_numOccupants_constr_8 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 2, 5 } /* (2..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TollUserData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TollUserData, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollUserData, tspId), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OBJECT_IDENTIFIER, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tspId" + }, + { ATF_NOFLAGS, 0, offsetof(struct TollUserData, vehicleId), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleId" + }, + { ATF_POINTER, 9, offsetof(struct TollUserData, vehType), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleTypes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehType" + }, + { ATF_POINTER, 8, offsetof(struct TollUserData, vehicleDescription), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleDescription" + }, + { ATF_POINTER, 7, offsetof(struct TollUserData, vehAxlesAndWeight), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleAxlesAndWeightInfo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehAxlesAndWeight" + }, + { ATF_POINTER, 6, offsetof(struct TollUserData, numOccupants), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_numOccupants_constr_8, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_numOccupants_constr_8, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_numOccupants_constraint_1 + }, + 0, 0, /* No default value */ + "numOccupants" + }, + { ATF_POINTER, 5, offsetof(struct TollUserData, entryTollPointId), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TollPointID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "entryTollPointId" + }, + { ATF_POINTER, 4, offsetof(struct TollUserData, entryTimeStamp), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "entryTimeStamp" + }, + { ATF_POINTER, 3, offsetof(struct TollUserData, locAndTimeStamps), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LocAndTimeStamps, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "locAndTimeStamps" + }, + { ATF_POINTER, 2, offsetof(struct TollUserData, lastTollPoints), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LastTollPointInfos, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lastTollPoints" + }, + { ATF_POINTER, 1, offsetof(struct TollUserData, charge), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "charge" + }, +}; +static const int asn_MAP_TollUserData_oms_1[] = { 3, 4, 5, 6, 7, 8, 9, 10, 11 }; +static const ber_tlv_tag_t asn_DEF_TollUserData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TollUserData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tspId */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* vehicleId */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* vehType */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* vehicleDescription */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* vehAxlesAndWeight */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* numOccupants */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* entryTollPointId */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* entryTimeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* locAndTimeStamps */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* lastTollPoints */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 } /* charge */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TollUserData_specs_1 = { + sizeof(struct TollUserData), + offsetof(struct TollUserData, _asn_ctx), + asn_MAP_TollUserData_tag2el_1, + 12, /* Count of tags in the map */ + asn_MAP_TollUserData_oms_1, /* Optional members */ + 9, 0, /* Root/Additions */ + 12, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TollUserData = { + "TollUserData", + "TollUserData", + &asn_OP_SEQUENCE, + asn_DEF_TollUserData_tags_1, + sizeof(asn_DEF_TollUserData_tags_1) + /sizeof(asn_DEF_TollUserData_tags_1[0]), /* 1 */ + asn_DEF_TollUserData_tags_1, /* Same as above */ + sizeof(asn_DEF_TollUserData_tags_1) + /sizeof(asn_DEF_TollUserData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TollUserData_1, + 12, /* Elements count */ + &asn_SPC_TollUserData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TollUserData.h b/src/tmx/Asn_J2735/src/r2024/TollUserData.h deleted file mode 100644 index 389151205..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TollUserData.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageMessage" - * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TollUserData_H_ -#define _TollUserData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DDateTime.h" -#include "OBJECT_IDENTIFIER.h" -#include "VehicleId.h" -#include "VehicleTypes.h" -#include "NativeInteger.h" -#include "TollPointID.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct VehicleDescription; -struct VehicleAxlesAndWeightInfo; -struct DDateTime; -struct LocAndTimeStamps; -struct LastTollPointInfos; -struct PaymentFee; - -/* TollUserData */ -typedef struct TollUserData { - DDateTime_t timeStamp; - OBJECT_IDENTIFIER_t tspId; - VehicleId_t vehicleId; - VehicleTypes_t *vehType; /* OPTIONAL */ - struct VehicleDescription *vehicleDescription; /* OPTIONAL */ - struct VehicleAxlesAndWeightInfo *vehAxlesAndWeight; /* OPTIONAL */ - long *numOccupants; /* OPTIONAL */ - TollPointID_t *entryTollPointId; /* OPTIONAL */ - struct DDateTime *entryTimeStamp; /* OPTIONAL */ - struct LocAndTimeStamps *locAndTimeStamps; /* OPTIONAL */ - struct LastTollPointInfos *lastTollPoints; /* OPTIONAL */ - struct PaymentFee *charge; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TollUserData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TollUserData; -extern asn_SEQUENCE_specifics_t asn_SPC_TollUserData_specs_1; -extern asn_TYPE_member_t asn_MBR_TollUserData_1[12]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "VehicleDescription.h" -#include "VehicleAxlesAndWeightInfo.h" -#include "DDateTime.h" -#include "LocAndTimeStamps.h" -#include "LastTollPointInfos.h" -#include "PaymentFee.h" - -#endif /* _TollUserData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Torque.c b/src/tmx/Asn_J2735/src/r2024/Torque.c new file mode 100644 index 000000000..31c8509a8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Torque.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Torque.h" + +int +Torque_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 601L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Torque_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..601) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Torque_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 601 } /* (0..601) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Torque_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Torque = { + "Torque", + "Torque", + &asn_OP_NativeInteger, + asn_DEF_Torque_tags_1, + sizeof(asn_DEF_Torque_tags_1) + /sizeof(asn_DEF_Torque_tags_1[0]), /* 1 */ + asn_DEF_Torque_tags_1, /* Same as above */ + sizeof(asn_DEF_Torque_tags_1) + /sizeof(asn_DEF_Torque_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Torque_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Torque_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Torque_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Torque.h b/src/tmx/Asn_J2735/src/r2024/Torque.h deleted file mode 100644 index a29d0faae..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Torque.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Torque_H_ -#define _Torque_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Torque */ -typedef long Torque_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Torque_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Torque; -asn_struct_free_f Torque_free; -asn_struct_print_f Torque_print; -asn_constr_check_f Torque_constraint; -ber_type_decoder_f Torque_decode_ber; -der_type_encoder_f Torque_encode_der; -xer_type_decoder_f Torque_decode_xer; -xer_type_encoder_f Torque_encode_xer; -oer_type_decoder_f Torque_decode_oer; -oer_type_encoder_f Torque_encode_oer; -per_type_decoder_f Torque_decode_uper; -per_type_encoder_f Torque_encode_uper; -per_type_decoder_f Torque_decode_aper; -per_type_encoder_f Torque_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Torque_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TotalMass.c b/src/tmx/Asn_J2735/src/r2024/TotalMass.c new file mode 100644 index 000000000..0438ea3e3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TotalMass.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TotalMass.h" + +int +TotalMass_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 1288L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TotalMass_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..1288) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TotalMass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, 0, 1288 } /* (0..1288) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TotalMass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TotalMass = { + "TotalMass", + "TotalMass", + &asn_OP_NativeInteger, + asn_DEF_TotalMass_tags_1, + sizeof(asn_DEF_TotalMass_tags_1) + /sizeof(asn_DEF_TotalMass_tags_1[0]), /* 1 */ + asn_DEF_TotalMass_tags_1, /* Same as above */ + sizeof(asn_DEF_TotalMass_tags_1) + /sizeof(asn_DEF_TotalMass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TotalMass_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TotalMass_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TotalMass_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TotalMass.h b/src/tmx/Asn_J2735/src/r2024/TotalMass.h deleted file mode 100644 index 0221772f9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TotalMass.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TotalMass_H_ -#define _TotalMass_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TotalMass */ -typedef long TotalMass_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TotalMass_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TotalMass; -asn_struct_free_f TotalMass_free; -asn_struct_print_f TotalMass_print; -asn_constr_check_f TotalMass_constraint; -ber_type_decoder_f TotalMass_decode_ber; -der_type_encoder_f TotalMass_encode_der; -xer_type_decoder_f TotalMass_decode_xer; -xer_type_encoder_f TotalMass_encode_xer; -oer_type_decoder_f TotalMass_decode_oer; -oer_type_encoder_f TotalMass_encode_oer; -per_type_decoder_f TotalMass_decode_uper; -per_type_encoder_f TotalMass_encode_uper; -per_type_decoder_f TotalMass_decode_aper; -per_type_encoder_f TotalMass_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TotalMass_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TotalWeightCharges.c b/src/tmx/Asn_J2735/src/r2024/TotalWeightCharges.c new file mode 100644 index 000000000..ff2ec4fec --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TotalWeightCharges.c @@ -0,0 +1,202 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TotalWeightCharges.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static int +memb_weightLimit_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 16777215L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_weightLimitUnits_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_weightLimitUnits_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_weightLimit_constr_2 CC_NOTUSED = { + { 4, 1 } /* (0..16777215) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_weightLimit_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 24, -1, 0, 16777215 } /* (0..16777215) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_weightLimitUnits_value2enum_3[] = { + { 0, 6, "pounds" }, + { 1, 9, "kilograms" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_weightLimitUnits_enum2value_3[] = { + 1, /* kilograms(1) */ + 0 /* pounds(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_weightLimitUnits_specs_3 = { + asn_MAP_weightLimitUnits_value2enum_3, /* "tag" => N; sorted by tag */ + asn_MAP_weightLimitUnits_enum2value_3, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_weightLimitUnits_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_weightLimitUnits_3 = { + "weightLimitUnits", + "weightLimitUnits", + &asn_OP_NativeEnumerated, + asn_DEF_weightLimitUnits_tags_3, + sizeof(asn_DEF_weightLimitUnits_tags_3) + /sizeof(asn_DEF_weightLimitUnits_tags_3[0]) - 1, /* 1 */ + asn_DEF_weightLimitUnits_tags_3, /* Same as above */ + sizeof(asn_DEF_weightLimitUnits_tags_3) + /sizeof(asn_DEF_weightLimitUnits_tags_3[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_weightLimitUnits_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_weightLimitUnits_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_weightLimitUnits_specs_3 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TotalWeightCharges_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TotalWeightCharges, weightLimit), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_weightLimit_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_weightLimit_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_weightLimit_constraint_1 + }, + 0, 0, /* No default value */ + "weightLimit" + }, + { ATF_NOFLAGS, 0, offsetof(struct TotalWeightCharges, weightLimitUnits), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_weightLimitUnits_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "weightLimitUnits" + }, + { ATF_NOFLAGS, 0, offsetof(struct TotalWeightCharges, weightCharge), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "weightCharge" + }, +}; +static const ber_tlv_tag_t asn_DEF_TotalWeightCharges_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TotalWeightCharges_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* weightLimit */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* weightLimitUnits */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* weightCharge */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TotalWeightCharges_specs_1 = { + sizeof(struct TotalWeightCharges), + offsetof(struct TotalWeightCharges, _asn_ctx), + asn_MAP_TotalWeightCharges_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TotalWeightCharges = { + "TotalWeightCharges", + "TotalWeightCharges", + &asn_OP_SEQUENCE, + asn_DEF_TotalWeightCharges_tags_1, + sizeof(asn_DEF_TotalWeightCharges_tags_1) + /sizeof(asn_DEF_TotalWeightCharges_tags_1[0]), /* 1 */ + asn_DEF_TotalWeightCharges_tags_1, /* Same as above */ + sizeof(asn_DEF_TotalWeightCharges_tags_1) + /sizeof(asn_DEF_TotalWeightCharges_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TotalWeightCharges_1, + 3, /* Elements count */ + &asn_SPC_TotalWeightCharges_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TotalWeightCharges.h b/src/tmx/Asn_J2735/src/r2024/TotalWeightCharges.h deleted file mode 100644 index 341884c98..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TotalWeightCharges.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TotalWeightCharges_H_ -#define _TotalWeightCharges_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "NativeEnumerated.h" -#include "PaymentFee.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TotalWeightCharges__weightLimitUnits { - TotalWeightCharges__weightLimitUnits_pounds = 0, - TotalWeightCharges__weightLimitUnits_kilograms = 1 - /* - * Enumeration is extensible - */ -} e_TotalWeightCharges__weightLimitUnits; - -/* TotalWeightCharges */ -typedef struct TotalWeightCharges { - long weightLimit; - long weightLimitUnits; - PaymentFee_t weightCharge; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TotalWeightCharges_t; - -/* Implementation */ -/* extern asn_TYPE_descriptor_t asn_DEF_weightLimitUnits_3; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_TotalWeightCharges; -extern asn_SEQUENCE_specifics_t asn_SPC_TotalWeightCharges_specs_1; -extern asn_TYPE_member_t asn_MBR_TotalWeightCharges_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TotalWeightCharges_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TractionControlStatus.c b/src/tmx/Asn_J2735/src/r2024/TractionControlStatus.c new file mode 100644 index 000000000..af3191d54 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TractionControlStatus.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TractionControlStatus.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TractionControlStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TractionControlStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_TractionControlStatus_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 3, "off" }, + { 2, 2, "on" }, + { 3, 7, "engaged" } +}; +static const unsigned int asn_MAP_TractionControlStatus_enum2value_1[] = { + 3, /* engaged(3) */ + 1, /* off(1) */ + 2, /* on(2) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_TractionControlStatus_specs_1 = { + asn_MAP_TractionControlStatus_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TractionControlStatus_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TractionControlStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TractionControlStatus = { + "TractionControlStatus", + "TractionControlStatus", + &asn_OP_NativeEnumerated, + asn_DEF_TractionControlStatus_tags_1, + sizeof(asn_DEF_TractionControlStatus_tags_1) + /sizeof(asn_DEF_TractionControlStatus_tags_1[0]), /* 1 */ + asn_DEF_TractionControlStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_TractionControlStatus_tags_1) + /sizeof(asn_DEF_TractionControlStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TractionControlStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TractionControlStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TractionControlStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TractionControlStatus.h b/src/tmx/Asn_J2735/src/r2024/TractionControlStatus.h deleted file mode 100644 index 9a5142f33..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TractionControlStatus.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TractionControlStatus_H_ -#define _TractionControlStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TractionControlStatus { - TractionControlStatus_unavailable = 0, - TractionControlStatus_off = 1, - TractionControlStatus_on = 2, - TractionControlStatus_engaged = 3 -} e_TractionControlStatus; - -/* TractionControlStatus */ -typedef long TractionControlStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TractionControlStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TractionControlStatus; -extern const asn_INTEGER_specifics_t asn_SPC_TractionControlStatus_specs_1; -asn_struct_free_f TractionControlStatus_free; -asn_struct_print_f TractionControlStatus_print; -asn_constr_check_f TractionControlStatus_constraint; -ber_type_decoder_f TractionControlStatus_decode_ber; -der_type_encoder_f TractionControlStatus_encode_der; -xer_type_decoder_f TractionControlStatus_decode_xer; -xer_type_encoder_f TractionControlStatus_encode_xer; -oer_type_decoder_f TractionControlStatus_decode_oer; -oer_type_encoder_f TractionControlStatus_encode_oer; -per_type_decoder_f TractionControlStatus_decode_uper; -per_type_encoder_f TractionControlStatus_encode_uper; -per_type_decoder_f TractionControlStatus_decode_aper; -per_type_encoder_f TractionControlStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TractionControlStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficConditions.c b/src/tmx/Asn_J2735/src/r2024/TrafficConditions.c new file mode 100644 index 000000000..72c79ff3f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficConditions.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrafficConditions.h" + +int +TrafficConditions_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrafficConditions_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrafficConditions_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TrafficConditions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TrafficConditions = { + "TrafficConditions", + "TrafficConditions", + &asn_OP_NativeInteger, + asn_DEF_TrafficConditions_tags_1, + sizeof(asn_DEF_TrafficConditions_tags_1) + /sizeof(asn_DEF_TrafficConditions_tags_1[0]), /* 1 */ + asn_DEF_TrafficConditions_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficConditions_tags_1) + /sizeof(asn_DEF_TrafficConditions_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrafficConditions_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrafficConditions_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TrafficConditions_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficConditions.h b/src/tmx/Asn_J2735/src/r2024/TrafficConditions.h deleted file mode 100644 index af5219380..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrafficConditions.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrafficConditions_H_ -#define _TrafficConditions_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TrafficConditions { - TrafficConditions_stopped_traffic = 257, - TrafficConditions_stop_and_go_traffic = 258, - TrafficConditions_slow_traffic = 259, - TrafficConditions_heavy_traffic = 260, - TrafficConditions_traffic_building = 261, - TrafficConditions_long_queues = 262, - TrafficConditions_traffic_congestion = 263, - TrafficConditions_traffic_lighter_than_normal = 264, - TrafficConditions_traffic_heavier_than_normal = 265, - TrafficConditions_traffic_much_heavier_than_normal = 266, - TrafficConditions_current_speed = 267, - TrafficConditions_speed_limit = 268, - TrafficConditions_travel_time = 269, - TrafficConditions_merging_traffic = 272, - TrafficConditions_contraflow = 273, - TrafficConditions_contraflow_canceled = 378, - TrafficConditions_traffic_flowing_freely = 379, - TrafficConditions_traffic_easing = 380, - TrafficConditions_traffic_returned_to_normal = 381, - TrafficConditions_no_problems_to_report = 382, - TrafficConditions_traffic_congestion_cleared = 383 -} e_TrafficConditions; - -/* TrafficConditions */ -typedef long TrafficConditions_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TrafficConditions_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TrafficConditions; -asn_struct_free_f TrafficConditions_free; -asn_struct_print_f TrafficConditions_print; -asn_constr_check_f TrafficConditions_constraint; -ber_type_decoder_f TrafficConditions_decode_ber; -der_type_encoder_f TrafficConditions_encode_der; -xer_type_decoder_f TrafficConditions_decode_xer; -xer_type_encoder_f TrafficConditions_encode_xer; -oer_type_decoder_f TrafficConditions_decode_oer; -oer_type_encoder_f TrafficConditions_encode_oer; -per_type_decoder_f TrafficConditions_decode_uper; -per_type_encoder_f TrafficConditions_encode_uper; -per_type_decoder_f TrafficConditions_decode_aper; -per_type_encoder_f TrafficConditions_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrafficConditions_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightControllerStatus.c b/src/tmx/Asn_J2735/src/r2024/TrafficLightControllerStatus.c new file mode 100644 index 000000000..8399173be --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficLightControllerStatus.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrafficLightControllerStatus.h" + +int +TrafficLightControllerStatus_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrafficLightControllerStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrafficLightControllerStatus_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 8, 8 } /* (SIZE(8..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TrafficLightControllerStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TrafficLightControllerStatus = { + "TrafficLightControllerStatus", + "TrafficLightControllerStatus", + &asn_OP_BIT_STRING, + asn_DEF_TrafficLightControllerStatus_tags_1, + sizeof(asn_DEF_TrafficLightControllerStatus_tags_1) + /sizeof(asn_DEF_TrafficLightControllerStatus_tags_1[0]), /* 1 */ + asn_DEF_TrafficLightControllerStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficLightControllerStatus_tags_1) + /sizeof(asn_DEF_TrafficLightControllerStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrafficLightControllerStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrafficLightControllerStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TrafficLightControllerStatus_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightControllerStatus.h b/src/tmx/Asn_J2735/src/r2024/TrafficLightControllerStatus.h deleted file mode 100644 index bb865eeff..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrafficLightControllerStatus.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrafficLightControllerStatus_H_ -#define _TrafficLightControllerStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TrafficLightControllerStatus { - TrafficLightControllerStatus_conflict = 0, - TrafficLightControllerStatus_center_comm_error = 1, - TrafficLightControllerStatus_scu_comm_error = 2, - TrafficLightControllerStatus_reserved1 = 3, - TrafficLightControllerStatus_reserved2 = 4, - TrafficLightControllerStatus_reserved3 = 5, - TrafficLightControllerStatus_reserved4 = 6, - TrafficLightControllerStatus_reserved5 = 7 -} e_TrafficLightControllerStatus; - -/* TrafficLightControllerStatus */ -typedef BIT_STRING_t TrafficLightControllerStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TrafficLightControllerStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TrafficLightControllerStatus; -asn_struct_free_f TrafficLightControllerStatus_free; -asn_struct_print_f TrafficLightControllerStatus_print; -asn_constr_check_f TrafficLightControllerStatus_constraint; -ber_type_decoder_f TrafficLightControllerStatus_decode_ber; -der_type_encoder_f TrafficLightControllerStatus_encode_der; -xer_type_decoder_f TrafficLightControllerStatus_decode_xer; -xer_type_encoder_f TrafficLightControllerStatus_encode_xer; -oer_type_decoder_f TrafficLightControllerStatus_decode_oer; -oer_type_encoder_f TrafficLightControllerStatus_encode_oer; -per_type_decoder_f TrafficLightControllerStatus_decode_uper; -per_type_encoder_f TrafficLightControllerStatus_encode_uper; -per_type_decoder_f TrafficLightControllerStatus_decode_aper; -per_type_encoder_f TrafficLightControllerStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrafficLightControllerStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightDirectionCode.c b/src/tmx/Asn_J2735/src/r2024/TrafficLightDirectionCode.c new file mode 100644 index 000000000..74aec1255 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficLightDirectionCode.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrafficLightDirectionCode.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrafficLightDirectionCode_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrafficLightDirectionCode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 8 } /* (0..8,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_TrafficLightDirectionCode_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 5, "north" }, + { 2, 4, "east" }, + { 3, 5, "south" }, + { 4, 4, "west" }, + { 5, 9, "northeast" }, + { 6, 9, "southeast" }, + { 7, 9, "southwest" }, + { 8, 9, "northwest" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_TrafficLightDirectionCode_enum2value_1[] = { + 2, /* east(2) */ + 1, /* north(1) */ + 5, /* northeast(5) */ + 8, /* northwest(8) */ + 3, /* south(3) */ + 6, /* southeast(6) */ + 7, /* southwest(7) */ + 0, /* unavailable(0) */ + 4 /* west(4) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_TrafficLightDirectionCode_specs_1 = { + asn_MAP_TrafficLightDirectionCode_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TrafficLightDirectionCode_enum2value_1, /* N => "tag"; sorted by N */ + 9, /* Number of elements in the maps */ + 10, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TrafficLightDirectionCode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TrafficLightDirectionCode = { + "TrafficLightDirectionCode", + "TrafficLightDirectionCode", + &asn_OP_NativeEnumerated, + asn_DEF_TrafficLightDirectionCode_tags_1, + sizeof(asn_DEF_TrafficLightDirectionCode_tags_1) + /sizeof(asn_DEF_TrafficLightDirectionCode_tags_1[0]), /* 1 */ + asn_DEF_TrafficLightDirectionCode_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficLightDirectionCode_tags_1) + /sizeof(asn_DEF_TrafficLightDirectionCode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrafficLightDirectionCode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrafficLightDirectionCode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TrafficLightDirectionCode_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightDirectionCode.h b/src/tmx/Asn_J2735/src/r2024/TrafficLightDirectionCode.h deleted file mode 100644 index 137e5f0b8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrafficLightDirectionCode.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrafficLightDirectionCode_H_ -#define _TrafficLightDirectionCode_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TrafficLightDirectionCode { - TrafficLightDirectionCode_unavailable = 0, - TrafficLightDirectionCode_north = 1, - TrafficLightDirectionCode_east = 2, - TrafficLightDirectionCode_south = 3, - TrafficLightDirectionCode_west = 4, - TrafficLightDirectionCode_northeast = 5, - TrafficLightDirectionCode_southeast = 6, - TrafficLightDirectionCode_southwest = 7, - TrafficLightDirectionCode_northwest = 8 - /* - * Enumeration is extensible - */ -} e_TrafficLightDirectionCode; - -/* TrafficLightDirectionCode */ -typedef long TrafficLightDirectionCode_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TrafficLightDirectionCode_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TrafficLightDirectionCode; -extern const asn_INTEGER_specifics_t asn_SPC_TrafficLightDirectionCode_specs_1; -asn_struct_free_f TrafficLightDirectionCode_free; -asn_struct_print_f TrafficLightDirectionCode_print; -asn_constr_check_f TrafficLightDirectionCode_constraint; -ber_type_decoder_f TrafficLightDirectionCode_decode_ber; -der_type_encoder_f TrafficLightDirectionCode_encode_der; -xer_type_decoder_f TrafficLightDirectionCode_decode_xer; -xer_type_encoder_f TrafficLightDirectionCode_encode_xer; -oer_type_decoder_f TrafficLightDirectionCode_decode_oer; -oer_type_encoder_f TrafficLightDirectionCode_encode_oer; -per_type_decoder_f TrafficLightDirectionCode_decode_uper; -per_type_encoder_f TrafficLightDirectionCode_encode_uper; -per_type_decoder_f TrafficLightDirectionCode_decode_aper; -per_type_encoder_f TrafficLightDirectionCode_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrafficLightDirectionCode_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightID.c b/src/tmx/Asn_J2735/src/r2024/TrafficLightID.c new file mode 100644 index 000000000..02ed1572a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficLightID.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrafficLightID.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrafficLightID_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrafficLightID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TrafficLightID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightID, choice.id), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightID, choice.oid), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OBJECT_IDENTIFIER, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "oid" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficLightID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* oid */ +}; +asn_CHOICE_specifics_t asn_SPC_TrafficLightID_specs_1 = { + sizeof(struct TrafficLightID), + offsetof(struct TrafficLightID, _asn_ctx), + offsetof(struct TrafficLightID, present), + sizeof(((struct TrafficLightID *)0)->present), + asn_MAP_TrafficLightID_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_TrafficLightID = { + "TrafficLightID", + "TrafficLightID", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrafficLightID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrafficLightID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_TrafficLightID_1, + 2, /* Elements count */ + &asn_SPC_TrafficLightID_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightID.h b/src/tmx/Asn_J2735/src/r2024/TrafficLightID.h deleted file mode 100644 index 4f8a0d77f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrafficLightID.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrafficLightID_H_ -#define _TrafficLightID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "OBJECT_IDENTIFIER.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TrafficLightID_PR { - TrafficLightID_PR_NOTHING, /* No components present */ - TrafficLightID_PR_id, - TrafficLightID_PR_oid -} TrafficLightID_PR; - -/* TrafficLightID */ -typedef struct TrafficLightID { - TrafficLightID_PR present; - union TrafficLightID_u { - long id; - OBJECT_IDENTIFIER_t oid; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TrafficLightID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TrafficLightID; -extern asn_CHOICE_specifics_t asn_SPC_TrafficLightID_specs_1; -extern asn_TYPE_member_t asn_MBR_TrafficLightID_1[2]; -extern asn_per_constraints_t asn_PER_type_TrafficLightID_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrafficLightID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightIntervalType.c b/src/tmx/Asn_J2735/src/r2024/TrafficLightIntervalType.c new file mode 100644 index 000000000..8f4bd3dbb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficLightIntervalType.c @@ -0,0 +1,70 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrafficLightIntervalType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrafficLightIntervalType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrafficLightIntervalType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_TrafficLightIntervalType_value2enum_1[] = { + { 0, 6, "static" }, + { 1, 8, "variable" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_TrafficLightIntervalType_enum2value_1[] = { + 0, /* static(0) */ + 1 /* variable(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_TrafficLightIntervalType_specs_1 = { + asn_MAP_TrafficLightIntervalType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TrafficLightIntervalType_enum2value_1, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TrafficLightIntervalType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TrafficLightIntervalType = { + "TrafficLightIntervalType", + "TrafficLightIntervalType", + &asn_OP_NativeEnumerated, + asn_DEF_TrafficLightIntervalType_tags_1, + sizeof(asn_DEF_TrafficLightIntervalType_tags_1) + /sizeof(asn_DEF_TrafficLightIntervalType_tags_1[0]), /* 1 */ + asn_DEF_TrafficLightIntervalType_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficLightIntervalType_tags_1) + /sizeof(asn_DEF_TrafficLightIntervalType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrafficLightIntervalType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrafficLightIntervalType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TrafficLightIntervalType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightIntervalType.h b/src/tmx/Asn_J2735/src/r2024/TrafficLightIntervalType.h deleted file mode 100644 index 21ec4b839..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrafficLightIntervalType.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrafficLightIntervalType_H_ -#define _TrafficLightIntervalType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TrafficLightIntervalType { - TrafficLightIntervalType_static = 0, - TrafficLightIntervalType_variable = 1 - /* - * Enumeration is extensible - */ -} e_TrafficLightIntervalType; - -/* TrafficLightIntervalType */ -typedef long TrafficLightIntervalType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TrafficLightIntervalType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TrafficLightIntervalType; -extern const asn_INTEGER_specifics_t asn_SPC_TrafficLightIntervalType_specs_1; -asn_struct_free_f TrafficLightIntervalType_free; -asn_struct_print_f TrafficLightIntervalType_print; -asn_constr_check_f TrafficLightIntervalType_constraint; -ber_type_decoder_f TrafficLightIntervalType_decode_ber; -der_type_encoder_f TrafficLightIntervalType_encode_der; -xer_type_decoder_f TrafficLightIntervalType_decode_xer; -xer_type_encoder_f TrafficLightIntervalType_encode_xer; -oer_type_decoder_f TrafficLightIntervalType_decode_oer; -oer_type_encoder_f TrafficLightIntervalType_encode_oer; -per_type_decoder_f TrafficLightIntervalType_decode_uper; -per_type_encoder_f TrafficLightIntervalType_encode_uper; -per_type_decoder_f TrafficLightIntervalType_decode_aper; -per_type_encoder_f TrafficLightIntervalType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrafficLightIntervalType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightOperationStatus.c b/src/tmx/Asn_J2735/src/r2024/TrafficLightOperationStatus.c new file mode 100644 index 000000000..79a13dffc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficLightOperationStatus.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrafficLightOperationStatus.h" + +int +TrafficLightOperationStatus_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrafficLightOperationStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrafficLightOperationStatus_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 8, 8 } /* (SIZE(8..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TrafficLightOperationStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TrafficLightOperationStatus = { + "TrafficLightOperationStatus", + "TrafficLightOperationStatus", + &asn_OP_BIT_STRING, + asn_DEF_TrafficLightOperationStatus_tags_1, + sizeof(asn_DEF_TrafficLightOperationStatus_tags_1) + /sizeof(asn_DEF_TrafficLightOperationStatus_tags_1[0]), /* 1 */ + asn_DEF_TrafficLightOperationStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficLightOperationStatus_tags_1) + /sizeof(asn_DEF_TrafficLightOperationStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrafficLightOperationStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrafficLightOperationStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TrafficLightOperationStatus_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightOperationStatus.h b/src/tmx/Asn_J2735/src/r2024/TrafficLightOperationStatus.h deleted file mode 100644 index 5678650c5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrafficLightOperationStatus.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrafficLightOperationStatus_H_ -#define _TrafficLightOperationStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TrafficLightOperationStatus { - TrafficLightOperationStatus_manual = 0, - TrafficLightOperationStatus_flashing = 1, - TrafficLightOperationStatus_off = 2, - TrafficLightOperationStatus_actuated = 3, - TrafficLightOperationStatus_transition = 4, - TrafficLightOperationStatus_priority = 5, - TrafficLightOperationStatus_holding_phase = 6, - TrafficLightOperationStatus_reserved = 7 -} e_TrafficLightOperationStatus; - -/* TrafficLightOperationStatus */ -typedef BIT_STRING_t TrafficLightOperationStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TrafficLightOperationStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TrafficLightOperationStatus; -asn_struct_free_f TrafficLightOperationStatus_free; -asn_struct_print_f TrafficLightOperationStatus_print; -asn_constr_check_f TrafficLightOperationStatus_constraint; -ber_type_decoder_f TrafficLightOperationStatus_decode_ber; -der_type_encoder_f TrafficLightOperationStatus_encode_der; -xer_type_decoder_f TrafficLightOperationStatus_decode_xer; -xer_type_encoder_f TrafficLightOperationStatus_encode_xer; -oer_type_decoder_f TrafficLightOperationStatus_decode_oer; -oer_type_encoder_f TrafficLightOperationStatus_encode_oer; -per_type_decoder_f TrafficLightOperationStatus_decode_uper; -per_type_encoder_f TrafficLightOperationStatus_encode_uper; -per_type_decoder_f TrafficLightOperationStatus_decode_aper; -per_type_encoder_f TrafficLightOperationStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrafficLightOperationStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightStatus.c b/src/tmx/Asn_J2735/src/r2024/TrafficLightStatus.c new file mode 100644 index 000000000..eaab08cb0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficLightStatus.c @@ -0,0 +1,246 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrafficLightStatus.h" + +asn_TYPE_member_t asn_MBR_TrafficLightStatus_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatus, trafficLightType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrafficLightType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trafficLightType" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatus, consecutiveTrafficLight), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ConsecutiveTrafficLight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "consecutiveTrafficLight" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatus, trafficLightIntervalType), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrafficLightIntervalType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trafficLightIntervalType" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatus, pedestrianCall), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PedestrianCall, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pedestrianCall" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatus, actuatedinterval), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ActuatedInterval, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "actuatedinterval" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatus, permissiveNonProtected), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PermissiveNonProtected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "permissiveNonProtected" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatus, lightingStatus), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrafficLightingStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lightingStatus" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatus, maxIntervalLength), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeInSecond_B8, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "maxIntervalLength" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatus, remainingTime), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeInSecond_B8, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "remainingTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatus, directionCode), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrafficLightDirectionCode, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "directionCode" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatus, reserved), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ReservedBit, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "reserved" + }, +}; +static const ber_tlv_tag_t asn_DEF_TrafficLightStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficLightStatus_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* trafficLightType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* consecutiveTrafficLight */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* trafficLightIntervalType */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* pedestrianCall */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* actuatedinterval */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* permissiveNonProtected */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* lightingStatus */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* maxIntervalLength */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* remainingTime */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* directionCode */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 } /* reserved */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrafficLightStatus_specs_1 = { + sizeof(struct TrafficLightStatus), + offsetof(struct TrafficLightStatus, _asn_ctx), + asn_MAP_TrafficLightStatus_tag2el_1, + 11, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 11, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TrafficLightStatus = { + "TrafficLightStatus", + "TrafficLightStatus", + &asn_OP_SEQUENCE, + asn_DEF_TrafficLightStatus_tags_1, + sizeof(asn_DEF_TrafficLightStatus_tags_1) + /sizeof(asn_DEF_TrafficLightStatus_tags_1[0]), /* 1 */ + asn_DEF_TrafficLightStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficLightStatus_tags_1) + /sizeof(asn_DEF_TrafficLightStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TrafficLightStatus_1, + 11, /* Elements count */ + &asn_SPC_TrafficLightStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightStatus.h b/src/tmx/Asn_J2735/src/r2024/TrafficLightStatus.h deleted file mode 100644 index 19a51b49f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrafficLightStatus.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrafficLightStatus_H_ -#define _TrafficLightStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TrafficLightType.h" -#include "ConsecutiveTrafficLight.h" -#include "TrafficLightIntervalType.h" -#include "PedestrianCall.h" -#include "ActuatedInterval.h" -#include "PermissiveNonProtected.h" -#include "TrafficLightingStatus.h" -#include "TimeInSecond-B8.h" -#include "TrafficLightDirectionCode.h" -#include "ReservedBit.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TrafficLightStatus */ -typedef struct TrafficLightStatus { - TrafficLightType_t trafficLightType; - ConsecutiveTrafficLight_t consecutiveTrafficLight; - TrafficLightIntervalType_t trafficLightIntervalType; - PedestrianCall_t pedestrianCall; - ActuatedInterval_t actuatedinterval; - PermissiveNonProtected_t permissiveNonProtected; - TrafficLightingStatus_t lightingStatus; - TimeInSecond_B8_t maxIntervalLength; - TimeInSecond_B8_t remainingTime; - TrafficLightDirectionCode_t directionCode; - ReservedBit_t reserved; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TrafficLightStatus_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TrafficLightStatus; -extern asn_SEQUENCE_specifics_t asn_SPC_TrafficLightStatus_specs_1; -extern asn_TYPE_member_t asn_MBR_TrafficLightStatus_1[11]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrafficLightStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightStatusList.c b/src/tmx/Asn_J2735/src/r2024/TrafficLightStatusList.c new file mode 100644 index 000000000..bd4c39252 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficLightStatusList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrafficLightStatusList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrafficLightStatusList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..255)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrafficLightStatusList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TrafficLightStatusList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TrafficLightStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_TrafficLightStatusList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_TrafficLightStatusList_specs_1 = { + sizeof(struct TrafficLightStatusList), + offsetof(struct TrafficLightStatusList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_TrafficLightStatusList = { + "TrafficLightStatusList", + "TrafficLightStatusList", + &asn_OP_SEQUENCE_OF, + asn_DEF_TrafficLightStatusList_tags_1, + sizeof(asn_DEF_TrafficLightStatusList_tags_1) + /sizeof(asn_DEF_TrafficLightStatusList_tags_1[0]), /* 1 */ + asn_DEF_TrafficLightStatusList_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficLightStatusList_tags_1) + /sizeof(asn_DEF_TrafficLightStatusList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrafficLightStatusList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrafficLightStatusList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_TrafficLightStatusList_1, + 1, /* Single element */ + &asn_SPC_TrafficLightStatusList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightStatusList.h b/src/tmx/Asn_J2735/src/r2024/TrafficLightStatusList.h deleted file mode 100644 index 4938fb117..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrafficLightStatusList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrafficLightStatusList_H_ -#define _TrafficLightStatusList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct TrafficLightStatus; - -/* TrafficLightStatusList */ -typedef struct TrafficLightStatusList { - A_SEQUENCE_OF(struct TrafficLightStatus) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TrafficLightStatusList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TrafficLightStatusList; -extern asn_SET_OF_specifics_t asn_SPC_TrafficLightStatusList_specs_1; -extern asn_TYPE_member_t asn_MBR_TrafficLightStatusList_1[1]; -extern asn_per_constraints_t asn_PER_type_TrafficLightStatusList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "TrafficLightStatus.h" - -#endif /* _TrafficLightStatusList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightStatusMessage.c b/src/tmx/Asn_J2735/src/r2024/TrafficLightStatusMessage.c new file mode 100644 index 000000000..dd21c679a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficLightStatusMessage.c @@ -0,0 +1,212 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrafficLightStatusMessage.h" + +asn_TYPE_member_t asn_MBR_TrafficLightStatusMessage_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatusMessage, traffiLightID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_TrafficLightID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "traffiLightID" + }, + { ATF_POINTER, 2, offsetof(struct TrafficLightStatusMessage, Long), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Longitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "long" + }, + { ATF_POINTER, 1, offsetof(struct TrafficLightStatusMessage, lat), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Latitude, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lat" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatusMessage, operationStatus), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrafficLightOperationStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "operationStatus" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatusMessage, controllerStatus), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrafficLightControllerStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "controllerStatus" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatusMessage, cyclecounter), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeInSecond_B16, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "cyclecounter" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatusMessage, cycletime), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeInSecond_B16, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "cycletime" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatusMessage, currentTime), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "currentTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrafficLightStatusMessage, trafficLightStatus), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrafficLightStatusList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trafficLightStatus" + }, +}; +static const int asn_MAP_TrafficLightStatusMessage_oms_1[] = { 1, 2 }; +static const ber_tlv_tag_t asn_DEF_TrafficLightStatusMessage_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrafficLightStatusMessage_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* traffiLightID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* long */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* lat */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* operationStatus */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* controllerStatus */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* cyclecounter */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* cycletime */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* currentTime */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* trafficLightStatus */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrafficLightStatusMessage_specs_1 = { + sizeof(struct TrafficLightStatusMessage), + offsetof(struct TrafficLightStatusMessage, _asn_ctx), + asn_MAP_TrafficLightStatusMessage_tag2el_1, + 9, /* Count of tags in the map */ + asn_MAP_TrafficLightStatusMessage_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 9, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TrafficLightStatusMessage = { + "TrafficLightStatusMessage", + "TrafficLightStatusMessage", + &asn_OP_SEQUENCE, + asn_DEF_TrafficLightStatusMessage_tags_1, + sizeof(asn_DEF_TrafficLightStatusMessage_tags_1) + /sizeof(asn_DEF_TrafficLightStatusMessage_tags_1[0]), /* 1 */ + asn_DEF_TrafficLightStatusMessage_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficLightStatusMessage_tags_1) + /sizeof(asn_DEF_TrafficLightStatusMessage_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TrafficLightStatusMessage_1, + 9, /* Elements count */ + &asn_SPC_TrafficLightStatusMessage_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightStatusMessage.h b/src/tmx/Asn_J2735/src/r2024/TrafficLightStatusMessage.h deleted file mode 100644 index 7927e3b30..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrafficLightStatusMessage.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrafficLightStatusMessage_H_ -#define _TrafficLightStatusMessage_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TrafficLightID.h" -#include "Common_Longitude.h" -#include "Common_Latitude.h" -#include "TrafficLightOperationStatus.h" -#include "TrafficLightControllerStatus.h" -#include "TimeInSecond-B16.h" -#include "DDateTime.h" -#include "TrafficLightStatusList.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TrafficLightStatusMessage */ -typedef struct TrafficLightStatusMessage { - TrafficLightID_t traffiLightID; - Common_Longitude_t *Long; /* OPTIONAL */ - Common_Latitude_t *lat; /* OPTIONAL */ - TrafficLightOperationStatus_t operationStatus; - TrafficLightControllerStatus_t controllerStatus; - TimeInSecond_B16_t cyclecounter; - TimeInSecond_B16_t cycletime; - DDateTime_t currentTime; - TrafficLightStatusList_t trafficLightStatus; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TrafficLightStatusMessage_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TrafficLightStatusMessage; -extern asn_SEQUENCE_specifics_t asn_SPC_TrafficLightStatusMessage_specs_1; -extern asn_TYPE_member_t asn_MBR_TrafficLightStatusMessage_1[9]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrafficLightStatusMessage_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightType.c b/src/tmx/Asn_J2735/src/r2024/TrafficLightType.c new file mode 100644 index 000000000..9b1aca26d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficLightType.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrafficLightType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrafficLightType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrafficLightType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 7 } /* (0..7,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_TrafficLightType_value2enum_1[] = { + { 0, 8, "reserved" }, + { 1, 8, "straight" }, + { 2, 9, "left-turn" }, + { 3, 10, "pedestrian" }, + { 4, 7, "bicycle" }, + { 5, 10, "right-turn" }, + { 6, 3, "bus" }, + { 7, 6, "u-turn" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_TrafficLightType_enum2value_1[] = { + 4, /* bicycle(4) */ + 6, /* bus(6) */ + 2, /* left-turn(2) */ + 3, /* pedestrian(3) */ + 0, /* reserved(0) */ + 5, /* right-turn(5) */ + 1, /* straight(1) */ + 7 /* u-turn(7) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_TrafficLightType_specs_1 = { + asn_MAP_TrafficLightType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TrafficLightType_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 9, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TrafficLightType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TrafficLightType = { + "TrafficLightType", + "TrafficLightType", + &asn_OP_NativeEnumerated, + asn_DEF_TrafficLightType_tags_1, + sizeof(asn_DEF_TrafficLightType_tags_1) + /sizeof(asn_DEF_TrafficLightType_tags_1[0]), /* 1 */ + asn_DEF_TrafficLightType_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficLightType_tags_1) + /sizeof(asn_DEF_TrafficLightType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrafficLightType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrafficLightType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TrafficLightType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightType.h b/src/tmx/Asn_J2735/src/r2024/TrafficLightType.h deleted file mode 100644 index f22dab552..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrafficLightType.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrafficLightType_H_ -#define _TrafficLightType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TrafficLightType { - TrafficLightType_reserved = 0, - TrafficLightType_straight = 1, - TrafficLightType_left_turn = 2, - TrafficLightType_pedestrian = 3, - TrafficLightType_bicycle = 4, - TrafficLightType_right_turn = 5, - TrafficLightType_bus = 6, - TrafficLightType_u_turn = 7 - /* - * Enumeration is extensible - */ -} e_TrafficLightType; - -/* TrafficLightType */ -typedef long TrafficLightType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TrafficLightType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TrafficLightType; -extern const asn_INTEGER_specifics_t asn_SPC_TrafficLightType_specs_1; -asn_struct_free_f TrafficLightType_free; -asn_struct_print_f TrafficLightType_print; -asn_constr_check_f TrafficLightType_constraint; -ber_type_decoder_f TrafficLightType_decode_ber; -der_type_encoder_f TrafficLightType_encode_der; -xer_type_decoder_f TrafficLightType_decode_xer; -xer_type_encoder_f TrafficLightType_encode_xer; -oer_type_decoder_f TrafficLightType_decode_oer; -oer_type_encoder_f TrafficLightType_encode_oer; -per_type_decoder_f TrafficLightType_decode_uper; -per_type_encoder_f TrafficLightType_encode_uper; -per_type_decoder_f TrafficLightType_decode_aper; -per_type_encoder_f TrafficLightType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrafficLightType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightingStatus.c b/src/tmx/Asn_J2735/src/r2024/TrafficLightingStatus.c new file mode 100644 index 000000000..ba7a559ef --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficLightingStatus.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficLightStatusMessage" + * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrafficLightingStatus.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrafficLightingStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrafficLightingStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_TrafficLightingStatus_value2enum_1[] = { + { 0, 3, "off" }, + { 1, 6, "red-on" }, + { 2, 9, "yellow-on" }, + { 3, 8, "green-on" }, + { 4, 12, "red-blinking" }, + { 5, 15, "yellow-blinking" }, + { 6, 14, "green-blinking" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_TrafficLightingStatus_enum2value_1[] = { + 6, /* green-blinking(6) */ + 3, /* green-on(3) */ + 0, /* off(0) */ + 4, /* red-blinking(4) */ + 1, /* red-on(1) */ + 5, /* yellow-blinking(5) */ + 2 /* yellow-on(2) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_TrafficLightingStatus_specs_1 = { + asn_MAP_TrafficLightingStatus_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TrafficLightingStatus_enum2value_1, /* N => "tag"; sorted by N */ + 7, /* Number of elements in the maps */ + 8, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TrafficLightingStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TrafficLightingStatus = { + "TrafficLightingStatus", + "TrafficLightingStatus", + &asn_OP_NativeEnumerated, + asn_DEF_TrafficLightingStatus_tags_1, + sizeof(asn_DEF_TrafficLightingStatus_tags_1) + /sizeof(asn_DEF_TrafficLightingStatus_tags_1[0]), /* 1 */ + asn_DEF_TrafficLightingStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficLightingStatus_tags_1) + /sizeof(asn_DEF_TrafficLightingStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrafficLightingStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrafficLightingStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TrafficLightingStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficLightingStatus.h b/src/tmx/Asn_J2735/src/r2024/TrafficLightingStatus.h deleted file mode 100644 index e8fedf313..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrafficLightingStatus.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficLightStatusMessage" - * found in "J2735-TrafficLightStatusMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrafficLightingStatus_H_ -#define _TrafficLightingStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TrafficLightingStatus { - TrafficLightingStatus_off = 0, - TrafficLightingStatus_red_on = 1, - TrafficLightingStatus_yellow_on = 2, - TrafficLightingStatus_green_on = 3, - TrafficLightingStatus_red_blinking = 4, - TrafficLightingStatus_yellow_blinking = 5, - TrafficLightingStatus_green_blinking = 6 - /* - * Enumeration is extensible - */ -} e_TrafficLightingStatus; - -/* TrafficLightingStatus */ -typedef long TrafficLightingStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TrafficLightingStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TrafficLightingStatus; -extern const asn_INTEGER_specifics_t asn_SPC_TrafficLightingStatus_specs_1; -asn_struct_free_f TrafficLightingStatus_free; -asn_struct_print_f TrafficLightingStatus_print; -asn_constr_check_f TrafficLightingStatus_constraint; -ber_type_decoder_f TrafficLightingStatus_decode_ber; -der_type_encoder_f TrafficLightingStatus_encode_der; -xer_type_decoder_f TrafficLightingStatus_decode_xer; -xer_type_encoder_f TrafficLightingStatus_encode_xer; -oer_type_decoder_f TrafficLightingStatus_decode_oer; -oer_type_encoder_f TrafficLightingStatus_encode_oer; -per_type_decoder_f TrafficLightingStatus_decode_uper; -per_type_encoder_f TrafficLightingStatus_encode_uper; -per_type_decoder_f TrafficLightingStatus_decode_aper; -per_type_encoder_f TrafficLightingStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrafficLightingStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficSignalPhaseAndTiming.c b/src/tmx/Asn_J2735/src/r2024/TrafficSignalPhaseAndTiming.c new file mode 100644 index 000000000..d19c13d7c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrafficSignalPhaseAndTiming.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TrafficSignalPhaseAndTiming" + * found in "J2735-TSPAT-2024-ph-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrafficSignalPhaseAndTiming.h" + +/* + * This type is implemented using NULL, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_TrafficSignalPhaseAndTiming_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (5 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TrafficSignalPhaseAndTiming = { + "TrafficSignalPhaseAndTiming", + "TrafficSignalPhaseAndTiming", + &asn_OP_NULL, + asn_DEF_TrafficSignalPhaseAndTiming_tags_1, + sizeof(asn_DEF_TrafficSignalPhaseAndTiming_tags_1) + /sizeof(asn_DEF_TrafficSignalPhaseAndTiming_tags_1[0]), /* 1 */ + asn_DEF_TrafficSignalPhaseAndTiming_tags_1, /* Same as above */ + sizeof(asn_DEF_TrafficSignalPhaseAndTiming_tags_1) + /sizeof(asn_DEF_TrafficSignalPhaseAndTiming_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NULL_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrafficSignalPhaseAndTiming.h b/src/tmx/Asn_J2735/src/r2024/TrafficSignalPhaseAndTiming.h deleted file mode 100644 index a98823993..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrafficSignalPhaseAndTiming.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TrafficSignalPhaseAndTiming" - * found in "J2735-TSPAT-2024-ph-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrafficSignalPhaseAndTiming_H_ -#define _TrafficSignalPhaseAndTiming_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NULL.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TrafficSignalPhaseAndTiming */ -typedef NULL_t TrafficSignalPhaseAndTiming_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TrafficSignalPhaseAndTiming; -asn_struct_free_f TrafficSignalPhaseAndTiming_free; -asn_struct_print_f TrafficSignalPhaseAndTiming_print; -asn_constr_check_f TrafficSignalPhaseAndTiming_constraint; -ber_type_decoder_f TrafficSignalPhaseAndTiming_decode_ber; -der_type_encoder_f TrafficSignalPhaseAndTiming_encode_der; -xer_type_decoder_f TrafficSignalPhaseAndTiming_decode_xer; -xer_type_encoder_f TrafficSignalPhaseAndTiming_encode_xer; -oer_type_decoder_f TrafficSignalPhaseAndTiming_decode_oer; -oer_type_encoder_f TrafficSignalPhaseAndTiming_encode_oer; -per_type_decoder_f TrafficSignalPhaseAndTiming_decode_uper; -per_type_encoder_f TrafficSignalPhaseAndTiming_encode_uper; -per_type_decoder_f TrafficSignalPhaseAndTiming_decode_aper; -per_type_encoder_f TrafficSignalPhaseAndTiming_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrafficSignalPhaseAndTiming_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerCharacteristics.c b/src/tmx/Asn_J2735/src/r2024/TrailerCharacteristics.c new file mode 100644 index 000000000..d1386b501 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrailerCharacteristics.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrailerCharacteristics.h" + +asn_TYPE_member_t asn_MBR_TrailerCharacteristics_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrailerCharacteristics, trailerDetails), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrailerDetails, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trailerDetails" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrailerCharacteristics, trailerMaxLadenWeight), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trailerMaxLadenWeight" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrailerCharacteristics, trailerWeightUnladen), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trailerWeightUnladen" + }, +}; +static const ber_tlv_tag_t asn_DEF_TrailerCharacteristics_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrailerCharacteristics_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* trailerDetails */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* trailerMaxLadenWeight */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* trailerWeightUnladen */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrailerCharacteristics_specs_1 = { + sizeof(struct TrailerCharacteristics), + offsetof(struct TrailerCharacteristics, _asn_ctx), + asn_MAP_TrailerCharacteristics_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TrailerCharacteristics = { + "TrailerCharacteristics", + "TrailerCharacteristics", + &asn_OP_SEQUENCE, + asn_DEF_TrailerCharacteristics_tags_1, + sizeof(asn_DEF_TrailerCharacteristics_tags_1) + /sizeof(asn_DEF_TrailerCharacteristics_tags_1[0]), /* 1 */ + asn_DEF_TrailerCharacteristics_tags_1, /* Same as above */ + sizeof(asn_DEF_TrailerCharacteristics_tags_1) + /sizeof(asn_DEF_TrailerCharacteristics_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TrailerCharacteristics_1, + 3, /* Elements count */ + &asn_SPC_TrailerCharacteristics_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerCharacteristics.h b/src/tmx/Asn_J2735/src/r2024/TrailerCharacteristics.h deleted file mode 100644 index 5e110abaf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrailerCharacteristics.h +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrailerCharacteristics_H_ -#define _TrailerCharacteristics_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TrailerDetails.h" -#include "Int2Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TrailerCharacteristics */ -typedef struct TrailerCharacteristics { - TrailerDetails_t trailerDetails; - Int2Unsigned_t trailerMaxLadenWeight; - Int2Unsigned_t trailerWeightUnladen; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TrailerCharacteristics_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TrailerCharacteristics; -extern asn_SEQUENCE_specifics_t asn_SPC_TrailerCharacteristics_specs_1; -extern asn_TYPE_member_t asn_MBR_TrailerCharacteristics_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrailerCharacteristics_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerData.c b/src/tmx/Asn_J2735/src/r2024/TrailerData.c new file mode 100644 index 000000000..3a468672a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrailerData.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrailerData.h" + +asn_TYPE_member_t asn_MBR_TrailerData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrailerData, notUsed), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SSPindex, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "notUsed" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrailerData, connection), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PivotPointDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "connection" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrailerData, units), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrailerUnitDescriptionList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "units" + }, +}; +static const ber_tlv_tag_t asn_DEF_TrailerData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrailerData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* notUsed */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* connection */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* units */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrailerData_specs_1 = { + sizeof(struct TrailerData), + offsetof(struct TrailerData, _asn_ctx), + asn_MAP_TrailerData_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TrailerData = { + "TrailerData", + "TrailerData", + &asn_OP_SEQUENCE, + asn_DEF_TrailerData_tags_1, + sizeof(asn_DEF_TrailerData_tags_1) + /sizeof(asn_DEF_TrailerData_tags_1[0]), /* 1 */ + asn_DEF_TrailerData_tags_1, /* Same as above */ + sizeof(asn_DEF_TrailerData_tags_1) + /sizeof(asn_DEF_TrailerData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TrailerData_1, + 3, /* Elements count */ + &asn_SPC_TrailerData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerData.h b/src/tmx/Asn_J2735/src/r2024/TrailerData.h deleted file mode 100644 index 9b31a41a8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrailerData.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrailerData_H_ -#define _TrailerData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SSPindex.h" -#include "PivotPointDescription.h" -#include "TrailerUnitDescriptionList.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TrailerData */ -typedef struct TrailerData { - SSPindex_t notUsed; - PivotPointDescription_t connection; - TrailerUnitDescriptionList_t units; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TrailerData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TrailerData; -extern asn_SEQUENCE_specifics_t asn_SPC_TrailerData_specs_1; -extern asn_TYPE_member_t asn_MBR_TrailerData_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrailerData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerDetails.c b/src/tmx/Asn_J2735/src/r2024/TrailerDetails.c new file mode 100644 index 000000000..ec15089a0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrailerDetails.c @@ -0,0 +1,121 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrailerDetails.h" + +static int +memb_trailerAxles_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 7L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_trailerAxles_constr_3 CC_NOTUSED = { + { 1, 1 } /* (0..7) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_trailerAxles_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TrailerDetails_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrailerDetails, trailerType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrailerType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trailerType" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrailerDetails, trailerAxles), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_trailerAxles_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_trailerAxles_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_trailerAxles_constraint_1 + }, + 0, 0, /* No default value */ + "trailerAxles" + }, +}; +static const ber_tlv_tag_t asn_DEF_TrailerDetails_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrailerDetails_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* trailerType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* trailerAxles */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrailerDetails_specs_1 = { + sizeof(struct TrailerDetails), + offsetof(struct TrailerDetails, _asn_ctx), + asn_MAP_TrailerDetails_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TrailerDetails = { + "TrailerDetails", + "TrailerDetails", + &asn_OP_SEQUENCE, + asn_DEF_TrailerDetails_tags_1, + sizeof(asn_DEF_TrailerDetails_tags_1) + /sizeof(asn_DEF_TrailerDetails_tags_1[0]), /* 1 */ + asn_DEF_TrailerDetails_tags_1, /* Same as above */ + sizeof(asn_DEF_TrailerDetails_tags_1) + /sizeof(asn_DEF_TrailerDetails_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TrailerDetails_1, + 2, /* Elements count */ + &asn_SPC_TrailerDetails_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerDetails.h b/src/tmx/Asn_J2735/src/r2024/TrailerDetails.h deleted file mode 100644 index ddfa1a847..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrailerDetails.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrailerDetails_H_ -#define _TrailerDetails_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TrailerType.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TrailerDetails */ -typedef struct TrailerDetails { - TrailerType_t trailerType; - long trailerAxles; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TrailerDetails_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TrailerDetails; -extern asn_SEQUENCE_specifics_t asn_SPC_TrailerDetails_specs_1; -extern asn_TYPE_member_t asn_MBR_TrailerDetails_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrailerDetails_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerHistoryPoint.c b/src/tmx/Asn_J2735/src/r2024/TrailerHistoryPoint.c new file mode 100644 index 000000000..9a392d711 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrailerHistoryPoint.c @@ -0,0 +1,140 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrailerHistoryPoint.h" + +asn_TYPE_member_t asn_MBR_TrailerHistoryPoint_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrailerHistoryPoint, pivotAngle), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Angle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pivotAngle" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrailerHistoryPoint, timeOffset), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimeOffset, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeOffset" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrailerHistoryPoint, positionOffset), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_XY_24b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "positionOffset" + }, + { ATF_POINTER, 2, offsetof(struct TrailerHistoryPoint, elevationOffset), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VertOffset_B07, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "elevationOffset" + }, + { ATF_POINTER, 1, offsetof(struct TrailerHistoryPoint, heading), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CoarseHeading, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "heading" + }, +}; +static const int asn_MAP_TrailerHistoryPoint_oms_1[] = { 3, 4 }; +static const ber_tlv_tag_t asn_DEF_TrailerHistoryPoint_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrailerHistoryPoint_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pivotAngle */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* timeOffset */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* positionOffset */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* elevationOffset */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* heading */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrailerHistoryPoint_specs_1 = { + sizeof(struct TrailerHistoryPoint), + offsetof(struct TrailerHistoryPoint, _asn_ctx), + asn_MAP_TrailerHistoryPoint_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_TrailerHistoryPoint_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TrailerHistoryPoint = { + "TrailerHistoryPoint", + "TrailerHistoryPoint", + &asn_OP_SEQUENCE, + asn_DEF_TrailerHistoryPoint_tags_1, + sizeof(asn_DEF_TrailerHistoryPoint_tags_1) + /sizeof(asn_DEF_TrailerHistoryPoint_tags_1[0]), /* 1 */ + asn_DEF_TrailerHistoryPoint_tags_1, /* Same as above */ + sizeof(asn_DEF_TrailerHistoryPoint_tags_1) + /sizeof(asn_DEF_TrailerHistoryPoint_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TrailerHistoryPoint_1, + 5, /* Elements count */ + &asn_SPC_TrailerHistoryPoint_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerHistoryPoint.h b/src/tmx/Asn_J2735/src/r2024/TrailerHistoryPoint.h deleted file mode 100644 index 2419d34d8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrailerHistoryPoint.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrailerHistoryPoint_H_ -#define _TrailerHistoryPoint_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_Angle.h" -#include "TimeOffset.h" -#include "Node-XY-24b.h" -#include "VertOffset-B07.h" -#include "CoarseHeading.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TrailerHistoryPoint */ -typedef struct TrailerHistoryPoint { - Common_Angle_t pivotAngle; - TimeOffset_t timeOffset; - Node_XY_24b_t positionOffset; - VertOffset_B07_t *elevationOffset; /* OPTIONAL */ - CoarseHeading_t *heading; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TrailerHistoryPoint_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TrailerHistoryPoint; -extern asn_SEQUENCE_specifics_t asn_SPC_TrailerHistoryPoint_specs_1; -extern asn_TYPE_member_t asn_MBR_TrailerHistoryPoint_1[5]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrailerHistoryPoint_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerHistoryPointList.c b/src/tmx/Asn_J2735/src/r2024/TrailerHistoryPointList.c new file mode 100644 index 000000000..44372a208 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrailerHistoryPointList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrailerHistoryPointList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrailerHistoryPointList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..23)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrailerHistoryPointList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 23 } /* (SIZE(1..23)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TrailerHistoryPointList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TrailerHistoryPoint, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_TrailerHistoryPointList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_TrailerHistoryPointList_specs_1 = { + sizeof(struct TrailerHistoryPointList), + offsetof(struct TrailerHistoryPointList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_TrailerHistoryPointList = { + "TrailerHistoryPointList", + "TrailerHistoryPointList", + &asn_OP_SEQUENCE_OF, + asn_DEF_TrailerHistoryPointList_tags_1, + sizeof(asn_DEF_TrailerHistoryPointList_tags_1) + /sizeof(asn_DEF_TrailerHistoryPointList_tags_1[0]), /* 1 */ + asn_DEF_TrailerHistoryPointList_tags_1, /* Same as above */ + sizeof(asn_DEF_TrailerHistoryPointList_tags_1) + /sizeof(asn_DEF_TrailerHistoryPointList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrailerHistoryPointList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrailerHistoryPointList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_TrailerHistoryPointList_1, + 1, /* Single element */ + &asn_SPC_TrailerHistoryPointList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerHistoryPointList.h b/src/tmx/Asn_J2735/src/r2024/TrailerHistoryPointList.h deleted file mode 100644 index b8a801eea..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrailerHistoryPointList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrailerHistoryPointList_H_ -#define _TrailerHistoryPointList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct TrailerHistoryPoint; - -/* TrailerHistoryPointList */ -typedef struct TrailerHistoryPointList { - A_SEQUENCE_OF(struct TrailerHistoryPoint) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TrailerHistoryPointList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TrailerHistoryPointList; -extern asn_SET_OF_specifics_t asn_SPC_TrailerHistoryPointList_specs_1; -extern asn_TYPE_member_t asn_MBR_TrailerHistoryPointList_1[1]; -extern asn_per_constraints_t asn_PER_type_TrailerHistoryPointList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "TrailerHistoryPoint.h" - -#endif /* _TrailerHistoryPointList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerMass.c b/src/tmx/Asn_J2735/src/r2024/TrailerMass.c new file mode 100644 index 000000000..bed0528c8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrailerMass.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrailerMass.h" + +int +TrailerMass_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrailerMass_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrailerMass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TrailerMass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TrailerMass = { + "TrailerMass", + "TrailerMass", + &asn_OP_NativeInteger, + asn_DEF_TrailerMass_tags_1, + sizeof(asn_DEF_TrailerMass_tags_1) + /sizeof(asn_DEF_TrailerMass_tags_1[0]), /* 1 */ + asn_DEF_TrailerMass_tags_1, /* Same as above */ + sizeof(asn_DEF_TrailerMass_tags_1) + /sizeof(asn_DEF_TrailerMass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrailerMass_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrailerMass_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TrailerMass_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerMass.h b/src/tmx/Asn_J2735/src/r2024/TrailerMass.h deleted file mode 100644 index dbc4b2a30..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrailerMass.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrailerMass_H_ -#define _TrailerMass_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TrailerMass */ -typedef long TrailerMass_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TrailerMass_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TrailerMass; -asn_struct_free_f TrailerMass_free; -asn_struct_print_f TrailerMass_print; -asn_constr_check_f TrailerMass_constraint; -ber_type_decoder_f TrailerMass_decode_ber; -der_type_encoder_f TrailerMass_encode_der; -xer_type_decoder_f TrailerMass_decode_xer; -xer_type_encoder_f TrailerMass_encode_xer; -oer_type_decoder_f TrailerMass_decode_oer; -oer_type_encoder_f TrailerMass_encode_oer; -per_type_decoder_f TrailerMass_decode_uper; -per_type_encoder_f TrailerMass_encode_uper; -per_type_decoder_f TrailerMass_decode_aper; -per_type_encoder_f TrailerMass_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrailerMass_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerType.c b/src/tmx/Asn_J2735/src/r2024/TrailerType.c new file mode 100644 index 000000000..e7113b0e7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrailerType.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrailerType.h" + +int +TrailerType_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 31L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrailerType_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..31) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrailerType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 5, 5, 0, 31 } /* (0..31) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TrailerType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TrailerType = { + "TrailerType", + "TrailerType", + &asn_OP_NativeInteger, + asn_DEF_TrailerType_tags_1, + sizeof(asn_DEF_TrailerType_tags_1) + /sizeof(asn_DEF_TrailerType_tags_1[0]), /* 1 */ + asn_DEF_TrailerType_tags_1, /* Same as above */ + sizeof(asn_DEF_TrailerType_tags_1) + /sizeof(asn_DEF_TrailerType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrailerType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrailerType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TrailerType_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerType.h b/src/tmx/Asn_J2735/src/r2024/TrailerType.h deleted file mode 100644 index 1f9707229..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrailerType.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrailerType_H_ -#define _TrailerType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TrailerType { - TrailerType_notPresent = 0, - TrailerType_trailer = 1, - TrailerType_semitrailer = 2 -} e_TrailerType; - -/* TrailerType */ -typedef long TrailerType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TrailerType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TrailerType; -asn_struct_free_f TrailerType_free; -asn_struct_print_f TrailerType_print; -asn_constr_check_f TrailerType_constraint; -ber_type_decoder_f TrailerType_decode_ber; -der_type_encoder_f TrailerType_encode_der; -xer_type_decoder_f TrailerType_decode_xer; -xer_type_encoder_f TrailerType_encode_xer; -oer_type_decoder_f TrailerType_decode_oer; -oer_type_encoder_f TrailerType_encode_oer; -per_type_decoder_f TrailerType_decode_uper; -per_type_encoder_f TrailerType_encode_uper; -per_type_decoder_f TrailerType_decode_aper; -per_type_encoder_f TrailerType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrailerType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescJ2945Slash1B.c b/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescJ2945Slash1B.c new file mode 100644 index 000000000..e34a38aba --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescJ2945Slash1B.c @@ -0,0 +1,194 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrailerUnitDescJ2945Slash1B.h" + +asn_TYPE_member_t asn_MBR_TrailerUnitDescJ2945Slash1B_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrailerUnitDescJ2945Slash1B, width), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleWidth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "width" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrailerUnitDescJ2945Slash1B, length), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleLength, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "length" + }, + { ATF_POINTER, 2, offsetof(struct TrailerUnitDescJ2945Slash1B, height), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleHeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "height" + }, + { ATF_POINTER, 1, offsetof(struct TrailerUnitDescJ2945Slash1B, weight), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrailerWeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "weight" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrailerUnitDescJ2945Slash1B, frontPivot), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PivotPointDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "frontPivot" + }, + { ATF_POINTER, 3, offsetof(struct TrailerUnitDescJ2945Slash1B, rearPivot), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PivotPointDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rearPivot" + }, + { ATF_POINTER, 2, offsetof(struct TrailerUnitDescJ2945Slash1B, bumpers), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BumperHeights, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "bumpers" + }, + { ATF_POINTER, 1, offsetof(struct TrailerUnitDescJ2945Slash1B, axles), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Axles, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "axles" + }, +}; +static const int asn_MAP_TrailerUnitDescJ2945Slash1B_oms_1[] = { 2, 3, 5, 6, 7 }; +static const ber_tlv_tag_t asn_DEF_TrailerUnitDescJ2945Slash1B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrailerUnitDescJ2945Slash1B_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* width */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* length */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* height */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* weight */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* frontPivot */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* rearPivot */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* bumpers */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* axles */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrailerUnitDescJ2945Slash1B_specs_1 = { + sizeof(struct TrailerUnitDescJ2945Slash1B), + offsetof(struct TrailerUnitDescJ2945Slash1B, _asn_ctx), + asn_MAP_TrailerUnitDescJ2945Slash1B_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_TrailerUnitDescJ2945Slash1B_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 8, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TrailerUnitDescJ2945Slash1B = { + "TrailerUnitDescJ2945Slash1B", + "TrailerUnitDescJ2945Slash1B", + &asn_OP_SEQUENCE, + asn_DEF_TrailerUnitDescJ2945Slash1B_tags_1, + sizeof(asn_DEF_TrailerUnitDescJ2945Slash1B_tags_1) + /sizeof(asn_DEF_TrailerUnitDescJ2945Slash1B_tags_1[0]), /* 1 */ + asn_DEF_TrailerUnitDescJ2945Slash1B_tags_1, /* Same as above */ + sizeof(asn_DEF_TrailerUnitDescJ2945Slash1B_tags_1) + /sizeof(asn_DEF_TrailerUnitDescJ2945Slash1B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TrailerUnitDescJ2945Slash1B_1, + 8, /* Elements count */ + &asn_SPC_TrailerUnitDescJ2945Slash1B_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescJ2945Slash1B.h b/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescJ2945Slash1B.h deleted file mode 100644 index c2ba2bedb..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescJ2945Slash1B.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrailerUnitDescJ2945Slash1B_H_ -#define _TrailerUnitDescJ2945Slash1B_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "VehicleWidth.h" -#include "VehicleLength.h" -#include "VehicleHeight.h" -#include "TrailerWeight.h" -#include "PivotPointDescription.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct PivotPointDescription; -struct BumperHeights; -struct Axles; - -/* TrailerUnitDescJ2945Slash1B */ -typedef struct TrailerUnitDescJ2945Slash1B { - VehicleWidth_t width; - VehicleLength_t length; - VehicleHeight_t *height; /* OPTIONAL */ - TrailerWeight_t *weight; /* OPTIONAL */ - PivotPointDescription_t frontPivot; - struct PivotPointDescription *rearPivot; /* OPTIONAL */ - struct BumperHeights *bumpers; /* OPTIONAL */ - struct Axles *axles; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TrailerUnitDescJ2945Slash1B_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TrailerUnitDescJ2945Slash1B; -extern asn_SEQUENCE_specifics_t asn_SPC_TrailerUnitDescJ2945Slash1B_specs_1; -extern asn_TYPE_member_t asn_MBR_TrailerUnitDescJ2945Slash1B_1[8]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "PivotPointDescription.h" -#include "BumperHeights.h" -#include "Axles.h" - -#endif /* _TrailerUnitDescJ2945Slash1B_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescription.c b/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescription.c new file mode 100644 index 000000000..30d9a5a16 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescription.c @@ -0,0 +1,284 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrailerUnitDescription.h" + +asn_TYPE_member_t asn_MBR_TrailerUnitDescription_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TrailerUnitDescription, isDolly), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IsDolly, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "isDolly" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrailerUnitDescription, width), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleWidth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "width" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrailerUnitDescription, length), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleLength, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "length" + }, + { ATF_POINTER, 4, offsetof(struct TrailerUnitDescription, height), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleHeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "height" + }, + { ATF_POINTER, 3, offsetof(struct TrailerUnitDescription, mass), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrailerMass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mass" + }, + { ATF_POINTER, 2, offsetof(struct TrailerUnitDescription, bumperHeights), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BumperHeights, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "bumperHeights" + }, + { ATF_POINTER, 1, offsetof(struct TrailerUnitDescription, centerOfGravity), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleHeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "centerOfGravity" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrailerUnitDescription, frontPivot), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PivotPointDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "frontPivot" + }, + { ATF_POINTER, 2, offsetof(struct TrailerUnitDescription, rearPivot), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PivotPointDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rearPivot" + }, + { ATF_POINTER, 1, offsetof(struct TrailerUnitDescription, rearWheelOffset), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Offset_B12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rearWheelOffset" + }, + { ATF_NOFLAGS, 0, offsetof(struct TrailerUnitDescription, positionOffset), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Node_XY_24b, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "positionOffset" + }, + { ATF_POINTER, 2, offsetof(struct TrailerUnitDescription, elevationOffset), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VertOffset_B07, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "elevationOffset" + }, + { ATF_POINTER, 1, offsetof(struct TrailerUnitDescription, crumbData), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrailerHistoryPointList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "crumbData" + }, +}; +static const int asn_MAP_TrailerUnitDescription_oms_1[] = { 3, 4, 5, 6, 8, 9, 11, 12 }; +static const ber_tlv_tag_t asn_DEF_TrailerUnitDescription_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TrailerUnitDescription_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* isDolly */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* width */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* length */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* height */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* mass */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* bumperHeights */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* centerOfGravity */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* frontPivot */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* rearPivot */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* rearWheelOffset */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* positionOffset */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* elevationOffset */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 } /* crumbData */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TrailerUnitDescription_specs_1 = { + sizeof(struct TrailerUnitDescription), + offsetof(struct TrailerUnitDescription, _asn_ctx), + asn_MAP_TrailerUnitDescription_tag2el_1, + 13, /* Count of tags in the map */ + asn_MAP_TrailerUnitDescription_oms_1, /* Optional members */ + 8, 0, /* Root/Additions */ + 13, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TrailerUnitDescription = { + "TrailerUnitDescription", + "TrailerUnitDescription", + &asn_OP_SEQUENCE, + asn_DEF_TrailerUnitDescription_tags_1, + sizeof(asn_DEF_TrailerUnitDescription_tags_1) + /sizeof(asn_DEF_TrailerUnitDescription_tags_1[0]), /* 1 */ + asn_DEF_TrailerUnitDescription_tags_1, /* Same as above */ + sizeof(asn_DEF_TrailerUnitDescription_tags_1) + /sizeof(asn_DEF_TrailerUnitDescription_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TrailerUnitDescription_1, + 13, /* Elements count */ + &asn_SPC_TrailerUnitDescription_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescription.h b/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescription.h deleted file mode 100644 index 0eefd9715..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescription.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrailerUnitDescription_H_ -#define _TrailerUnitDescription_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IsDolly.h" -#include "VehicleWidth.h" -#include "VehicleLength.h" -#include "VehicleHeight.h" -#include "TrailerMass.h" -#include "PivotPointDescription.h" -#include "Offset-B12.h" -#include "Node-XY-24b.h" -#include "VertOffset-B07.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct BumperHeights; -struct PivotPointDescription; -struct TrailerHistoryPointList; - -/* TrailerUnitDescription */ -typedef struct TrailerUnitDescription { - IsDolly_t isDolly; - VehicleWidth_t width; - VehicleLength_t length; - VehicleHeight_t *height; /* OPTIONAL */ - TrailerMass_t *mass; /* OPTIONAL */ - struct BumperHeights *bumperHeights; /* OPTIONAL */ - VehicleHeight_t *centerOfGravity; /* OPTIONAL */ - PivotPointDescription_t frontPivot; - struct PivotPointDescription *rearPivot; /* OPTIONAL */ - Offset_B12_t *rearWheelOffset; /* OPTIONAL */ - Node_XY_24b_t positionOffset; - VertOffset_B07_t *elevationOffset; /* OPTIONAL */ - struct TrailerHistoryPointList *crumbData; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TrailerUnitDescription_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TrailerUnitDescription; -extern asn_SEQUENCE_specifics_t asn_SPC_TrailerUnitDescription_specs_1; -extern asn_TYPE_member_t asn_MBR_TrailerUnitDescription_1[13]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "BumperHeights.h" -#include "PivotPointDescription.h" -#include "TrailerHistoryPointList.h" - -#endif /* _TrailerUnitDescription_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescriptionList.c b/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescriptionList.c new file mode 100644 index 000000000..c38d13432 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescriptionList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrailerUnitDescriptionList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrailerUnitDescriptionList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrailerUnitDescriptionList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TrailerUnitDescriptionList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TrailerUnitDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_TrailerUnitDescriptionList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_TrailerUnitDescriptionList_specs_1 = { + sizeof(struct TrailerUnitDescriptionList), + offsetof(struct TrailerUnitDescriptionList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_TrailerUnitDescriptionList = { + "TrailerUnitDescriptionList", + "TrailerUnitDescriptionList", + &asn_OP_SEQUENCE_OF, + asn_DEF_TrailerUnitDescriptionList_tags_1, + sizeof(asn_DEF_TrailerUnitDescriptionList_tags_1) + /sizeof(asn_DEF_TrailerUnitDescriptionList_tags_1[0]), /* 1 */ + asn_DEF_TrailerUnitDescriptionList_tags_1, /* Same as above */ + sizeof(asn_DEF_TrailerUnitDescriptionList_tags_1) + /sizeof(asn_DEF_TrailerUnitDescriptionList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrailerUnitDescriptionList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrailerUnitDescriptionList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_TrailerUnitDescriptionList_1, + 1, /* Single element */ + &asn_SPC_TrailerUnitDescriptionList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescriptionList.h b/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescriptionList.h deleted file mode 100644 index 8c43f39bd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrailerUnitDescriptionList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrailerUnitDescriptionList_H_ -#define _TrailerUnitDescriptionList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct TrailerUnitDescription; - -/* TrailerUnitDescriptionList */ -typedef struct TrailerUnitDescriptionList { - A_SEQUENCE_OF(struct TrailerUnitDescription) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TrailerUnitDescriptionList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TrailerUnitDescriptionList; -extern asn_SET_OF_specifics_t asn_SPC_TrailerUnitDescriptionList_specs_1; -extern asn_TYPE_member_t asn_MBR_TrailerUnitDescriptionList_1[1]; -extern asn_per_constraints_t asn_PER_type_TrailerUnitDescriptionList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "TrailerUnitDescription.h" - -#endif /* _TrailerUnitDescriptionList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerWeight.c b/src/tmx/Asn_J2735/src/r2024/TrailerWeight.c new file mode 100644 index 000000000..74d30111a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrailerWeight.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrailerWeight.h" + +int +TrailerWeight_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 64255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrailerWeight_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..64255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrailerWeight_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 64255 } /* (0..64255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TrailerWeight_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TrailerWeight = { + "TrailerWeight", + "TrailerWeight", + &asn_OP_NativeInteger, + asn_DEF_TrailerWeight_tags_1, + sizeof(asn_DEF_TrailerWeight_tags_1) + /sizeof(asn_DEF_TrailerWeight_tags_1[0]), /* 1 */ + asn_DEF_TrailerWeight_tags_1, /* Same as above */ + sizeof(asn_DEF_TrailerWeight_tags_1) + /sizeof(asn_DEF_TrailerWeight_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrailerWeight_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrailerWeight_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TrailerWeight_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrailerWeight.h b/src/tmx/Asn_J2735/src/r2024/TrailerWeight.h deleted file mode 100644 index 4eadefb87..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrailerWeight.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrailerWeight_H_ -#define _TrailerWeight_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TrailerWeight */ -typedef long TrailerWeight_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TrailerWeight_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TrailerWeight; -asn_struct_free_f TrailerWeight_free; -asn_struct_print_f TrailerWeight_print; -asn_constr_check_f TrailerWeight_constraint; -ber_type_decoder_f TrailerWeight_decode_ber; -der_type_encoder_f TrailerWeight_encode_der; -xer_type_decoder_f TrailerWeight_decode_xer; -xer_type_encoder_f TrailerWeight_encode_xer; -oer_type_decoder_f TrailerWeight_decode_oer; -oer_type_encoder_f TrailerWeight_encode_oer; -per_type_decoder_f TrailerWeight_decode_uper; -per_type_encoder_f TrailerWeight_encode_uper; -per_type_decoder_f TrailerWeight_decode_aper; -per_type_encoder_f TrailerWeight_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TrailerWeight_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TrailersJ2945Slash1B.c b/src/tmx/Asn_J2735/src/r2024/TrailersJ2945Slash1B.c new file mode 100644 index 000000000..4b6dc3841 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TrailersJ2945Slash1B.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TrailersJ2945Slash1B.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TrailersJ2945Slash1B_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TrailersJ2945Slash1B_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 8 } /* (SIZE(1..8,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TrailersJ2945Slash1B_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TrailerUnitDescJ2945Slash1B, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_TrailersJ2945Slash1B_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_TrailersJ2945Slash1B_specs_1 = { + sizeof(struct TrailersJ2945Slash1B), + offsetof(struct TrailersJ2945Slash1B, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_TrailersJ2945Slash1B = { + "TrailersJ2945Slash1B", + "TrailersJ2945Slash1B", + &asn_OP_SEQUENCE_OF, + asn_DEF_TrailersJ2945Slash1B_tags_1, + sizeof(asn_DEF_TrailersJ2945Slash1B_tags_1) + /sizeof(asn_DEF_TrailersJ2945Slash1B_tags_1[0]), /* 1 */ + asn_DEF_TrailersJ2945Slash1B_tags_1, /* Same as above */ + sizeof(asn_DEF_TrailersJ2945Slash1B_tags_1) + /sizeof(asn_DEF_TrailersJ2945Slash1B_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TrailersJ2945Slash1B_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TrailersJ2945Slash1B_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_TrailersJ2945Slash1B_1, + 1, /* Single element */ + &asn_SPC_TrailersJ2945Slash1B_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TrailersJ2945Slash1B.h b/src/tmx/Asn_J2735/src/r2024/TrailersJ2945Slash1B.h deleted file mode 100644 index a06332e79..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TrailersJ2945Slash1B.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TrailersJ2945Slash1B_H_ -#define _TrailersJ2945Slash1B_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct TrailerUnitDescJ2945Slash1B; - -/* TrailersJ2945Slash1B */ -typedef struct TrailersJ2945Slash1B { - A_SEQUENCE_OF(struct TrailerUnitDescJ2945Slash1B) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TrailersJ2945Slash1B_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TrailersJ2945Slash1B; -extern asn_SET_OF_specifics_t asn_SPC_TrailersJ2945Slash1B_specs_1; -extern asn_TYPE_member_t asn_MBR_TrailersJ2945Slash1B_1[1]; -extern asn_per_constraints_t asn_PER_type_TrailersJ2945Slash1B_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "TrailerUnitDescJ2945Slash1B.h" - -#endif /* _TrailersJ2945Slash1B_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TransitMode.c b/src/tmx/Asn_J2735/src/r2024/TransitMode.c new file mode 100644 index 000000000..1e8fd328c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TransitMode.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TransitMode.h" + +int +TransitMode_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TransitMode_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TransitMode_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TransitMode_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TransitMode = { + "TransitMode", + "TransitMode", + &asn_OP_NativeInteger, + asn_DEF_TransitMode_tags_1, + sizeof(asn_DEF_TransitMode_tags_1) + /sizeof(asn_DEF_TransitMode_tags_1[0]), /* 1 */ + asn_DEF_TransitMode_tags_1, /* Same as above */ + sizeof(asn_DEF_TransitMode_tags_1) + /sizeof(asn_DEF_TransitMode_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TransitMode_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TransitMode_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TransitMode_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TransitMode.h b/src/tmx/Asn_J2735/src/r2024/TransitMode.h deleted file mode 100644 index 73c7ac246..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TransitMode.h +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TransitMode_H_ -#define _TransitMode_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TransitMode { - TransitMode_travel = 8961, - TransitMode_transit = 8962, - TransitMode_bus = 8963, - TransitMode_trolleybus = 8964, - TransitMode_rail = 8965, - TransitMode_commuter_rail = 8966, - TransitMode_subway = 8967, - TransitMode_rapid_transit = 8968, - TransitMode_light_rail = 8969, - TransitMode_streetcar = 8970, - TransitMode_dial_a_ride = 8971, - TransitMode_park_and_ride = 8972, - TransitMode_shuttle = 8973, - TransitMode_free_shuttle = 8974, - TransitMode_airport_shuttle = 8975, - TransitMode_taxies = 8976, - TransitMode_ferry = 8977, - TransitMode_passenger_ferry = 8978, - TransitMode_vehicle_ferry = 8979, - TransitMode_aerial_tramway = 8980, - TransitMode_automated_guideway = 8981, - TransitMode_cable_cars = 8982, - TransitMode_monorail = 8983, - TransitMode_air_travel = 8984, - TransitMode_hitch_hitching = 8985, - TransitMode_walk = 8986 -} e_TransitMode; - -/* TransitMode */ -typedef long TransitMode_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TransitMode_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TransitMode; -asn_struct_free_f TransitMode_free; -asn_struct_print_f TransitMode_print; -asn_constr_check_f TransitMode_constraint; -ber_type_decoder_f TransitMode_decode_ber; -der_type_encoder_f TransitMode_encode_der; -xer_type_decoder_f TransitMode_decode_xer; -xer_type_encoder_f TransitMode_encode_xer; -oer_type_decoder_f TransitMode_decode_oer; -oer_type_encoder_f TransitMode_encode_oer; -per_type_decoder_f TransitMode_decode_uper; -per_type_encoder_f TransitMode_encode_uper; -per_type_decoder_f TransitMode_decode_aper; -per_type_encoder_f TransitMode_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TransitMode_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TransitOperations.c b/src/tmx/Asn_J2735/src/r2024/TransitOperations.c new file mode 100644 index 000000000..d7f86e1ec --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TransitOperations.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TransitOperations.h" + +int +TransitOperations_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TransitOperations_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TransitOperations_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TransitOperations_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TransitOperations = { + "TransitOperations", + "TransitOperations", + &asn_OP_NativeInteger, + asn_DEF_TransitOperations_tags_1, + sizeof(asn_DEF_TransitOperations_tags_1) + /sizeof(asn_DEF_TransitOperations_tags_1[0]), /* 1 */ + asn_DEF_TransitOperations_tags_1, /* Same as above */ + sizeof(asn_DEF_TransitOperations_tags_1) + /sizeof(asn_DEF_TransitOperations_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TransitOperations_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TransitOperations_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TransitOperations_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TransitOperations.h b/src/tmx/Asn_J2735/src/r2024/TransitOperations.h deleted file mode 100644 index 864d03c6d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TransitOperations.h +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TransitOperations_H_ -#define _TransitOperations_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TransitOperations { - TransitOperations_unknown_transit_problem = 10753, - TransitOperations_sleeping_customer = 10754, - TransitOperations_assault_on_passenger = 10755, - TransitOperations_assault_on_employee = 10756, - TransitOperations_broken_seat = 10757, - TransitOperations_bus_alarm = 10758, - TransitOperations_crime_or_drug_deal = 10759, - TransitOperations_eating_on_board = 10760, - TransitOperations_equipment_problem_with_air_conditioning = 10761, - TransitOperations_equipment_problem_with_air_system = 10762, - TransitOperations_equipment_problem_with_brakes = 10763, - TransitOperations_equipment_problem_with_chassis_or_suspension = 10764, - TransitOperations_equipment_problem_with_cooling_system = 10765, - TransitOperations_equipment_problem_with_doors = 10766, - TransitOperations_equipment_problem_with_electrical = 10767, - TransitOperations_equipment_problem_with_engine = 10768, - TransitOperations_equipment_problem_with_exterior_or_body = 10769, - TransitOperations_equipment_problem_with_fare_collection = 10770, - TransitOperations_equipment_problem_with_fuel_or_exhaust = 10771, - TransitOperations_equipment_problem_with_horn = 10772, - TransitOperations_equipment_problem_with_interior = 10773, - TransitOperations_equipment_problem_with_liftkneeling = 10774, - TransitOperations_equipment_problem_with_lights = 10775, - TransitOperations_equipment_problem_with_lubrication = 10776, - TransitOperations_equipment_problem_with_radio_or_communication = 10777, - TransitOperations_equipment_problem_with_signs = 10778, - TransitOperations_equipment_problem_with_steering = 10779, - TransitOperations_equipment_problem_with_tires = 10780, - TransitOperations_equipment_problem_with_transmission = 10781, - TransitOperations_equipment_problem_with_unknown_alarm = 10782, - TransitOperations_equipment_problem_with_wipers = 10783, - TransitOperations_fare_dispute_expired_pass = 10784, - TransitOperations_fare_dispute_expired_transfer = 10785, - TransitOperations_fare_dispute_expired_upgrade = 10786, - TransitOperations_fare_dispute_other = 10787, - TransitOperations_fare_dispute_refuses_to_pay = 10788, - TransitOperations_lift_passenger_cycle_completed = 10789, - TransitOperations_lift_passenger_ready_to_alight = 10790, - TransitOperations_lift_passenger_ready_to_board = 10791, - TransitOperations_lost_article = 10792, - TransitOperations_objects_thrown = 10793, - TransitOperations_passenger_accident_alighting = 10794, - TransitOperations_passenger_accident_boarding = 10795, - TransitOperations_passenger_accident_fallen_on_board = 10796, - TransitOperations_passenger_load = 10797, - TransitOperations_passenger_accident_other = 10798, - TransitOperations_passenger_sick_or_injured = 10799, - TransitOperations_right_of_way = 10800, - TransitOperations_theft = 10801, - TransitOperations_theft_of_service = 10802, - TransitOperations_waiting_to_get_relief_for_schedule_break = 10803, - TransitOperations_waiting_to_get_relief_after_run_is_finished = 10804, - TransitOperations_waiting_to_provide_relief = 10805 -} e_TransitOperations; - -/* TransitOperations */ -typedef long TransitOperations_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TransitOperations_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TransitOperations; -asn_struct_free_f TransitOperations_free; -asn_struct_print_f TransitOperations_print; -asn_constr_check_f TransitOperations_constraint; -ber_type_decoder_f TransitOperations_decode_ber; -der_type_encoder_f TransitOperations_encode_der; -xer_type_decoder_f TransitOperations_decode_xer; -xer_type_encoder_f TransitOperations_encode_xer; -oer_type_decoder_f TransitOperations_decode_oer; -oer_type_encoder_f TransitOperations_encode_oer; -per_type_decoder_f TransitOperations_decode_uper; -per_type_encoder_f TransitOperations_encode_uper; -per_type_decoder_f TransitOperations_decode_aper; -per_type_encoder_f TransitOperations_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TransitOperations_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TransitStatus.c b/src/tmx/Asn_J2735/src/r2024/TransitStatus.c new file mode 100644 index 000000000..c20a1af93 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TransitStatus.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TransitStatus.h" + +int +TransitStatus_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 6UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TransitStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + 6 /* (SIZE(6..6)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_TransitStatus_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 6, 6 } /* (SIZE(6..6)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TransitStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TransitStatus = { + "TransitStatus", + "TransitStatus", + &asn_OP_BIT_STRING, + asn_DEF_TransitStatus_tags_1, + sizeof(asn_DEF_TransitStatus_tags_1) + /sizeof(asn_DEF_TransitStatus_tags_1[0]), /* 1 */ + asn_DEF_TransitStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_TransitStatus_tags_1) + /sizeof(asn_DEF_TransitStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TransitStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TransitStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TransitStatus_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TransitStatus.h b/src/tmx/Asn_J2735/src/r2024/TransitStatus.h deleted file mode 100644 index 945db62ab..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TransitStatus.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TransitStatus_H_ -#define _TransitStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TransitStatus { - TransitStatus_none = 0, - TransitStatus_anADAuse = 1, - TransitStatus_aBikeLoad = 2, - TransitStatus_doorOpen = 3, - TransitStatus_occM = 4, - TransitStatus_occL = 5 -} e_TransitStatus; - -/* TransitStatus */ -typedef BIT_STRING_t TransitStatus_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TransitStatus; -asn_struct_free_f TransitStatus_free; -asn_struct_print_f TransitStatus_print; -asn_constr_check_f TransitStatus_constraint; -ber_type_decoder_f TransitStatus_decode_ber; -der_type_encoder_f TransitStatus_encode_der; -xer_type_decoder_f TransitStatus_decode_xer; -xer_type_encoder_f TransitStatus_encode_xer; -oer_type_decoder_f TransitStatus_decode_oer; -oer_type_encoder_f TransitStatus_encode_oer; -per_type_decoder_f TransitStatus_decode_uper; -per_type_encoder_f TransitStatus_encode_uper; -per_type_decoder_f TransitStatus_decode_aper; -per_type_encoder_f TransitStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TransitStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TransitVehicleOccupancy.c b/src/tmx/Asn_J2735/src/r2024/TransitVehicleOccupancy.c new file mode 100644 index 000000000..18e9a6610 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TransitVehicleOccupancy.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalRequestMessage" + * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TransitVehicleOccupancy.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TransitVehicleOccupancy_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TransitVehicleOccupancy_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_TransitVehicleOccupancy_value2enum_1[] = { + { 0, 16, "occupancyUnknown" }, + { 1, 14, "occupancyEmpty" }, + { 2, 16, "occupancyVeryLow" }, + { 3, 12, "occupancyLow" }, + { 4, 12, "occupancyMed" }, + { 5, 13, "occupancyHigh" }, + { 6, 19, "occupancyNearlyFull" }, + { 7, 13, "occupancyFull" } +}; +static const unsigned int asn_MAP_TransitVehicleOccupancy_enum2value_1[] = { + 1, /* occupancyEmpty(1) */ + 7, /* occupancyFull(7) */ + 5, /* occupancyHigh(5) */ + 3, /* occupancyLow(3) */ + 4, /* occupancyMed(4) */ + 6, /* occupancyNearlyFull(6) */ + 0, /* occupancyUnknown(0) */ + 2 /* occupancyVeryLow(2) */ +}; +const asn_INTEGER_specifics_t asn_SPC_TransitVehicleOccupancy_specs_1 = { + asn_MAP_TransitVehicleOccupancy_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TransitVehicleOccupancy_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TransitVehicleOccupancy_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TransitVehicleOccupancy = { + "TransitVehicleOccupancy", + "TransitVehicleOccupancy", + &asn_OP_NativeEnumerated, + asn_DEF_TransitVehicleOccupancy_tags_1, + sizeof(asn_DEF_TransitVehicleOccupancy_tags_1) + /sizeof(asn_DEF_TransitVehicleOccupancy_tags_1[0]), /* 1 */ + asn_DEF_TransitVehicleOccupancy_tags_1, /* Same as above */ + sizeof(asn_DEF_TransitVehicleOccupancy_tags_1) + /sizeof(asn_DEF_TransitVehicleOccupancy_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TransitVehicleOccupancy_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TransitVehicleOccupancy_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TransitVehicleOccupancy_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TransitVehicleOccupancy.h b/src/tmx/Asn_J2735/src/r2024/TransitVehicleOccupancy.h deleted file mode 100644 index cb6feb914..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TransitVehicleOccupancy.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalRequestMessage" - * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TransitVehicleOccupancy_H_ -#define _TransitVehicleOccupancy_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TransitVehicleOccupancy { - TransitVehicleOccupancy_occupancyUnknown = 0, - TransitVehicleOccupancy_occupancyEmpty = 1, - TransitVehicleOccupancy_occupancyVeryLow = 2, - TransitVehicleOccupancy_occupancyLow = 3, - TransitVehicleOccupancy_occupancyMed = 4, - TransitVehicleOccupancy_occupancyHigh = 5, - TransitVehicleOccupancy_occupancyNearlyFull = 6, - TransitVehicleOccupancy_occupancyFull = 7 -} e_TransitVehicleOccupancy; - -/* TransitVehicleOccupancy */ -typedef long TransitVehicleOccupancy_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TransitVehicleOccupancy_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TransitVehicleOccupancy; -extern const asn_INTEGER_specifics_t asn_SPC_TransitVehicleOccupancy_specs_1; -asn_struct_free_f TransitVehicleOccupancy_free; -asn_struct_print_f TransitVehicleOccupancy_print; -asn_constr_check_f TransitVehicleOccupancy_constraint; -ber_type_decoder_f TransitVehicleOccupancy_decode_ber; -der_type_encoder_f TransitVehicleOccupancy_encode_der; -xer_type_decoder_f TransitVehicleOccupancy_decode_xer; -xer_type_encoder_f TransitVehicleOccupancy_encode_xer; -oer_type_decoder_f TransitVehicleOccupancy_decode_oer; -oer_type_encoder_f TransitVehicleOccupancy_encode_oer; -per_type_decoder_f TransitVehicleOccupancy_decode_uper; -per_type_encoder_f TransitVehicleOccupancy_encode_uper; -per_type_decoder_f TransitVehicleOccupancy_decode_aper; -per_type_encoder_f TransitVehicleOccupancy_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TransitVehicleOccupancy_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TransitVehicleStatus.c b/src/tmx/Asn_J2735/src/r2024/TransitVehicleStatus.c new file mode 100644 index 000000000..58bdeb8e8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TransitVehicleStatus.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SignalRequestMessage" + * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TransitVehicleStatus.h" + +int +TransitVehicleStatus_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 8UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TransitVehicleStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + 8 /* (SIZE(8..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TransitVehicleStatus_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 8, 8 } /* (SIZE(8..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TransitVehicleStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TransitVehicleStatus = { + "TransitVehicleStatus", + "TransitVehicleStatus", + &asn_OP_BIT_STRING, + asn_DEF_TransitVehicleStatus_tags_1, + sizeof(asn_DEF_TransitVehicleStatus_tags_1) + /sizeof(asn_DEF_TransitVehicleStatus_tags_1[0]), /* 1 */ + asn_DEF_TransitVehicleStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_TransitVehicleStatus_tags_1) + /sizeof(asn_DEF_TransitVehicleStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TransitVehicleStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TransitVehicleStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TransitVehicleStatus_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TransitVehicleStatus.h b/src/tmx/Asn_J2735/src/r2024/TransitVehicleStatus.h deleted file mode 100644 index 733c7df0f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TransitVehicleStatus.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SignalRequestMessage" - * found in "J2735-SignalRequestMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TransitVehicleStatus_H_ -#define _TransitVehicleStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TransitVehicleStatus { - TransitVehicleStatus_loading = 0, - TransitVehicleStatus_anADAuse = 1, - TransitVehicleStatus_aBikeLoad = 2, - TransitVehicleStatus_doorOpen = 3, - TransitVehicleStatus_charging = 4, - TransitVehicleStatus_atStopLine = 5 -} e_TransitVehicleStatus; - -/* TransitVehicleStatus */ -typedef BIT_STRING_t TransitVehicleStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TransitVehicleStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TransitVehicleStatus; -asn_struct_free_f TransitVehicleStatus_free; -asn_struct_print_f TransitVehicleStatus_print; -asn_constr_check_f TransitVehicleStatus_constraint; -ber_type_decoder_f TransitVehicleStatus_decode_ber; -der_type_encoder_f TransitVehicleStatus_encode_der; -xer_type_decoder_f TransitVehicleStatus_decode_xer; -xer_type_encoder_f TransitVehicleStatus_encode_xer; -oer_type_decoder_f TransitVehicleStatus_decode_oer; -oer_type_encoder_f TransitVehicleStatus_encode_oer; -per_type_decoder_f TransitVehicleStatus_decode_uper; -per_type_encoder_f TransitVehicleStatus_encode_uper; -per_type_decoder_f TransitVehicleStatus_decode_aper; -per_type_encoder_f TransitVehicleStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TransitVehicleStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TransmissionAndSpeed.c b/src/tmx/Asn_J2735/src/r2024/TransmissionAndSpeed.c new file mode 100644 index 000000000..3a59c503f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TransmissionAndSpeed.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TransmissionAndSpeed.h" + +asn_TYPE_member_t asn_MBR_TransmissionAndSpeed_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TransmissionAndSpeed, transmisson), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TransmissionState, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "transmisson" + }, + { ATF_NOFLAGS, 0, offsetof(struct TransmissionAndSpeed, speed), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Velocity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speed" + }, +}; +static const ber_tlv_tag_t asn_DEF_TransmissionAndSpeed_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TransmissionAndSpeed_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* transmisson */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* speed */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TransmissionAndSpeed_specs_1 = { + sizeof(struct TransmissionAndSpeed), + offsetof(struct TransmissionAndSpeed, _asn_ctx), + asn_MAP_TransmissionAndSpeed_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TransmissionAndSpeed = { + "TransmissionAndSpeed", + "TransmissionAndSpeed", + &asn_OP_SEQUENCE, + asn_DEF_TransmissionAndSpeed_tags_1, + sizeof(asn_DEF_TransmissionAndSpeed_tags_1) + /sizeof(asn_DEF_TransmissionAndSpeed_tags_1[0]), /* 1 */ + asn_DEF_TransmissionAndSpeed_tags_1, /* Same as above */ + sizeof(asn_DEF_TransmissionAndSpeed_tags_1) + /sizeof(asn_DEF_TransmissionAndSpeed_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TransmissionAndSpeed_1, + 2, /* Elements count */ + &asn_SPC_TransmissionAndSpeed_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TransmissionAndSpeed.h b/src/tmx/Asn_J2735/src/r2024/TransmissionAndSpeed.h deleted file mode 100644 index 2a147f69a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TransmissionAndSpeed.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TransmissionAndSpeed_H_ -#define _TransmissionAndSpeed_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TransmissionState.h" -#include "Velocity.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TransmissionAndSpeed */ -typedef struct TransmissionAndSpeed { - TransmissionState_t transmisson; - Velocity_t speed; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TransmissionAndSpeed_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TransmissionAndSpeed; -extern asn_SEQUENCE_specifics_t asn_SPC_TransmissionAndSpeed_specs_1; -extern asn_TYPE_member_t asn_MBR_TransmissionAndSpeed_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TransmissionAndSpeed_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TransmissionState.c b/src/tmx/Asn_J2735/src/r2024/TransmissionState.c new file mode 100644 index 000000000..a8ffbd40a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TransmissionState.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TransmissionState.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TransmissionState_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TransmissionState_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_TransmissionState_value2enum_1[] = { + { 0, 7, "neutral" }, + { 1, 4, "park" }, + { 2, 12, "forwardGears" }, + { 3, 12, "reverseGears" }, + { 4, 9, "reserved1" }, + { 5, 9, "reserved2" }, + { 6, 9, "reserved3" }, + { 7, 11, "unavailable" } +}; +static const unsigned int asn_MAP_TransmissionState_enum2value_1[] = { + 2, /* forwardGears(2) */ + 0, /* neutral(0) */ + 1, /* park(1) */ + 4, /* reserved1(4) */ + 5, /* reserved2(5) */ + 6, /* reserved3(6) */ + 3, /* reverseGears(3) */ + 7 /* unavailable(7) */ +}; +const asn_INTEGER_specifics_t asn_SPC_TransmissionState_specs_1 = { + asn_MAP_TransmissionState_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TransmissionState_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TransmissionState_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TransmissionState = { + "TransmissionState", + "TransmissionState", + &asn_OP_NativeEnumerated, + asn_DEF_TransmissionState_tags_1, + sizeof(asn_DEF_TransmissionState_tags_1) + /sizeof(asn_DEF_TransmissionState_tags_1[0]), /* 1 */ + asn_DEF_TransmissionState_tags_1, /* Same as above */ + sizeof(asn_DEF_TransmissionState_tags_1) + /sizeof(asn_DEF_TransmissionState_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TransmissionState_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TransmissionState_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TransmissionState_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TransmissionState.h b/src/tmx/Asn_J2735/src/r2024/TransmissionState.h deleted file mode 100644 index f7fd460de..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TransmissionState.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TransmissionState_H_ -#define _TransmissionState_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TransmissionState { - TransmissionState_neutral = 0, - TransmissionState_park = 1, - TransmissionState_forwardGears = 2, - TransmissionState_reverseGears = 3, - TransmissionState_reserved1 = 4, - TransmissionState_reserved2 = 5, - TransmissionState_reserved3 = 6, - TransmissionState_unavailable = 7 -} e_TransmissionState; - -/* TransmissionState */ -typedef long TransmissionState_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TransmissionState_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TransmissionState; -extern const asn_INTEGER_specifics_t asn_SPC_TransmissionState_specs_1; -asn_struct_free_f TransmissionState_free; -asn_struct_print_f TransmissionState_print; -asn_constr_check_f TransmissionState_constraint; -ber_type_decoder_f TransmissionState_decode_ber; -der_type_encoder_f TransmissionState_encode_der; -xer_type_decoder_f TransmissionState_decode_xer; -xer_type_encoder_f TransmissionState_encode_xer; -oer_type_decoder_f TransmissionState_decode_oer; -oer_type_encoder_f TransmissionState_encode_oer; -per_type_decoder_f TransmissionState_decode_uper; -per_type_encoder_f TransmissionState_encode_uper; -per_type_decoder_f TransmissionState_decode_aper; -per_type_encoder_f TransmissionState_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TransmissionState_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TravelerDataFrame.c b/src/tmx/Asn_J2735/src/r2024/TravelerDataFrame.c new file mode 100644 index 000000000..df7ce7a96 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TravelerDataFrame.c @@ -0,0 +1,629 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TravelerDataFrame.h" + +static int +memb_regions_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 16UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_msgId_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_msgId_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regions_constr_12 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regions_constr_12 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_content_constr_16 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_content_constr_16 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 4 } /* (0..4) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regions_constr_12 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regions_constr_12 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_msgId_4[] = { + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame__msgId, choice.furtherInfoID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FurtherInfoID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "furtherInfoID" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame__msgId, choice.roadSignID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RoadSignID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadSignID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_msgId_tag2el_4[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* furtherInfoID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* roadSignID */ +}; +static asn_CHOICE_specifics_t asn_SPC_msgId_specs_4 = { + sizeof(struct TravelerDataFrame__msgId), + offsetof(struct TravelerDataFrame__msgId, _asn_ctx), + offsetof(struct TravelerDataFrame__msgId, present), + sizeof(((struct TravelerDataFrame__msgId *)0)->present), + asn_MAP_msgId_tag2el_4, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_msgId_4 = { + "msgId", + "msgId", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_msgId_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_msgId_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_msgId_4, + 2, /* Elements count */ + &asn_SPC_msgId_specs_4 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_regions_12[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_GeographicalPath, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regions_tags_12[] = { + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regions_specs_12 = { + sizeof(struct TravelerDataFrame__regions), + offsetof(struct TravelerDataFrame__regions, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regions_12 = { + "regions", + "regions", + &asn_OP_SEQUENCE_OF, + asn_DEF_regions_tags_12, + sizeof(asn_DEF_regions_tags_12) + /sizeof(asn_DEF_regions_tags_12[0]) - 1, /* 1 */ + asn_DEF_regions_tags_12, /* Same as above */ + sizeof(asn_DEF_regions_tags_12) + /sizeof(asn_DEF_regions_tags_12[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regions_constr_12, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regions_constr_12, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regions_12, + 1, /* Single element */ + &asn_SPC_regions_specs_12 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_content_16[] = { + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame__content, choice.advisory), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ITIScodesAndText, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "advisory" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame__content, choice.workZone), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WorkZone, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "workZone" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame__content, choice.genericSign), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GenericSignage, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "genericSign" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame__content, choice.speedLimit), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedLimit, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedLimit" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame__content, choice.exitService), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ExitService, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "exitService" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_content_tag2el_16[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* advisory */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* workZone */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* genericSign */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* speedLimit */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* exitService */ +}; +static asn_CHOICE_specifics_t asn_SPC_content_specs_16 = { + sizeof(struct TravelerDataFrame__content), + offsetof(struct TravelerDataFrame__content, _asn_ctx), + offsetof(struct TravelerDataFrame__content, present), + sizeof(((struct TravelerDataFrame__content *)0)->present), + asn_MAP_content_tag2el_16, + 5, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_content_16 = { + "content", + "content", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_content_constr_16, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_content_constr_16, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_content_16, + 5, /* Elements count */ + &asn_SPC_content_specs_16 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TravelerDataFrame_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame, notUsed), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SSPindex, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "notUsed" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame, frameType), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TravelerInfoType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "frameType" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame, msgId), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_msgId_4, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msgId" + }, + { ATF_POINTER, 1, offsetof(struct TravelerDataFrame, startYear), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startYear" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame, startTime), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "startTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame, durationTime), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinutesDuration, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "durationTime" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame, priority), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SignPrority, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "priority" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame, notUsed1), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SSPindex, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "notUsed1" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame, regions), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + 0, + &asn_DEF_regions_12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regions_constr_12, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regions_constr_12, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regions_constraint_1 + }, + 0, 0, /* No default value */ + "regions" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame, notUsed2), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SSPindex, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "notUsed2" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame, notUsed3), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SSPindex, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "notUsed3" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrame, content), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_content_16, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "content" + }, + { ATF_POINTER, 2, offsetof(struct TravelerDataFrame, url), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_URL_Short, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "url" + }, + { ATF_POINTER, 1, offsetof(struct TravelerDataFrame, contentNew), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_TravelerDataFrameNewPartIIIContent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "contentNew" + }, +}; +static const int asn_MAP_TravelerDataFrame_oms_1[] = { 3, 12, 13 }; +static const ber_tlv_tag_t asn_DEF_TravelerDataFrame_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TravelerDataFrame_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* notUsed */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* frameType */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* msgId */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* startYear */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* startTime */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* durationTime */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* priority */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* notUsed1 */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* regions */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* notUsed2 */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* notUsed3 */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* content */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* url */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 } /* contentNew */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TravelerDataFrame_specs_1 = { + sizeof(struct TravelerDataFrame), + offsetof(struct TravelerDataFrame, _asn_ctx), + asn_MAP_TravelerDataFrame_tag2el_1, + 14, /* Count of tags in the map */ + asn_MAP_TravelerDataFrame_oms_1, /* Optional members */ + 2, 1, /* Root/Additions */ + 13, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TravelerDataFrame = { + "TravelerDataFrame", + "TravelerDataFrame", + &asn_OP_SEQUENCE, + asn_DEF_TravelerDataFrame_tags_1, + sizeof(asn_DEF_TravelerDataFrame_tags_1) + /sizeof(asn_DEF_TravelerDataFrame_tags_1[0]), /* 1 */ + asn_DEF_TravelerDataFrame_tags_1, /* Same as above */ + sizeof(asn_DEF_TravelerDataFrame_tags_1) + /sizeof(asn_DEF_TravelerDataFrame_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TravelerDataFrame_1, + 14, /* Elements count */ + &asn_SPC_TravelerDataFrame_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TravelerDataFrame.h b/src/tmx/Asn_J2735/src/r2024/TravelerDataFrame.h deleted file mode 100644 index 2dbe3e8f9..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TravelerDataFrame.h +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TravelerDataFrame_H_ -#define _TravelerDataFrame_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SSPindex.h" -#include "TravelerInfoType.h" -#include "DYear.h" -#include "MinuteOfTheYear.h" -#include "MinutesDuration.h" -#include "SignPrority.h" -#include "URL-Short.h" -#include "TravelerDataFrameNewPartIIIContent.h" -#include "FurtherInfoID.h" -#include "RoadSignID.h" -#include "constr_CHOICE.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "ITIS_ITIScodesAndText.h" -#include "WorkZone.h" -#include "GenericSignage.h" -#include "SpeedLimit.h" -#include "ExitService.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TravelerDataFrame__msgId_PR { - TravelerDataFrame__msgId_PR_NOTHING, /* No components present */ - TravelerDataFrame__msgId_PR_furtherInfoID, - TravelerDataFrame__msgId_PR_roadSignID -} TravelerDataFrame__msgId_PR; -typedef enum TravelerDataFrame__content_PR { - TravelerDataFrame__content_PR_NOTHING, /* No components present */ - TravelerDataFrame__content_PR_advisory, - TravelerDataFrame__content_PR_workZone, - TravelerDataFrame__content_PR_genericSign, - TravelerDataFrame__content_PR_speedLimit, - TravelerDataFrame__content_PR_exitService -} TravelerDataFrame__content_PR; - -/* Forward declarations */ -struct GeographicalPath; -struct TravelerDataFrameNewPartIIIContent; - -/* TravelerDataFrame */ -typedef struct TravelerDataFrame { - SSPindex_t notUsed; - TravelerInfoType_t frameType; - struct TravelerDataFrame__msgId { - TravelerDataFrame__msgId_PR present; - union TravelerDataFrame__msgId_u { - FurtherInfoID_t furtherInfoID; - RoadSignID_t roadSignID; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } msgId; - DYear_t *startYear; /* OPTIONAL */ - MinuteOfTheYear_t startTime; - MinutesDuration_t durationTime; - SignPrority_t priority; - SSPindex_t notUsed1; - struct TravelerDataFrame__regions { - A_SEQUENCE_OF(struct GeographicalPath) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } regions; - SSPindex_t notUsed2; - SSPindex_t notUsed3; - struct TravelerDataFrame__content { - TravelerDataFrame__content_PR present; - union TravelerDataFrame__content_u { - ITIS_ITIScodesAndText_t advisory; - WorkZone_t workZone; - GenericSignage_t genericSign; - SpeedLimit_t speedLimit; - ExitService_t exitService; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } content; - URL_Short_t *url; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - struct TravelerDataFrameNewPartIIIContent *contentNew; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TravelerDataFrame_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TravelerDataFrame; -extern asn_SEQUENCE_specifics_t asn_SPC_TravelerDataFrame_specs_1; -extern asn_TYPE_member_t asn_MBR_TravelerDataFrame_1[14]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "GeographicalPath.h" - -#endif /* _TravelerDataFrame_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TravelerDataFrameList.c b/src/tmx/Asn_J2735/src/r2024/TravelerDataFrameList.c new file mode 100644 index 000000000..9853b1845 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TravelerDataFrameList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TravelerDataFrameList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TravelerDataFrameList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..8)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TravelerDataFrameList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 8 } /* (SIZE(1..8)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TravelerDataFrameList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TravelerDataFrame, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_TravelerDataFrameList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_TravelerDataFrameList_specs_1 = { + sizeof(struct TravelerDataFrameList), + offsetof(struct TravelerDataFrameList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_TravelerDataFrameList = { + "TravelerDataFrameList", + "TravelerDataFrameList", + &asn_OP_SEQUENCE_OF, + asn_DEF_TravelerDataFrameList_tags_1, + sizeof(asn_DEF_TravelerDataFrameList_tags_1) + /sizeof(asn_DEF_TravelerDataFrameList_tags_1[0]), /* 1 */ + asn_DEF_TravelerDataFrameList_tags_1, /* Same as above */ + sizeof(asn_DEF_TravelerDataFrameList_tags_1) + /sizeof(asn_DEF_TravelerDataFrameList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TravelerDataFrameList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TravelerDataFrameList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_TravelerDataFrameList_1, + 1, /* Single element */ + &asn_SPC_TravelerDataFrameList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TravelerDataFrameList.h b/src/tmx/Asn_J2735/src/r2024/TravelerDataFrameList.h deleted file mode 100644 index be5593ca2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TravelerDataFrameList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TravelerDataFrameList_H_ -#define _TravelerDataFrameList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct TravelerDataFrame; - -/* TravelerDataFrameList */ -typedef struct TravelerDataFrameList { - A_SEQUENCE_OF(struct TravelerDataFrame) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TravelerDataFrameList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TravelerDataFrameList; -extern asn_SET_OF_specifics_t asn_SPC_TravelerDataFrameList_specs_1; -extern asn_TYPE_member_t asn_MBR_TravelerDataFrameList_1[1]; -extern asn_per_constraints_t asn_PER_type_TravelerDataFrameList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "TravelerDataFrame.h" - -#endif /* _TravelerDataFrameList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TravelerDataFrameNewPartIIIContent.c b/src/tmx/Asn_J2735/src/r2024/TravelerDataFrameNewPartIIIContent.c new file mode 100644 index 000000000..b48b9720a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TravelerDataFrameNewPartIIIContent.c @@ -0,0 +1,75 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TravelerDataFrameNewPartIIIContent.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TravelerDataFrameNewPartIIIContent_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TravelerDataFrameNewPartIIIContent_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 0, 0 } /* (0..0,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TravelerDataFrameNewPartIIIContent_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TravelerDataFrameNewPartIIIContent, choice.frictionInfo), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FrictionInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "frictionInfo" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_TravelerDataFrameNewPartIIIContent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* frictionInfo */ +}; +asn_CHOICE_specifics_t asn_SPC_TravelerDataFrameNewPartIIIContent_specs_1 = { + sizeof(struct TravelerDataFrameNewPartIIIContent), + offsetof(struct TravelerDataFrameNewPartIIIContent, _asn_ctx), + offsetof(struct TravelerDataFrameNewPartIIIContent, present), + sizeof(((struct TravelerDataFrameNewPartIIIContent *)0)->present), + asn_MAP_TravelerDataFrameNewPartIIIContent_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, + 1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_TravelerDataFrameNewPartIIIContent = { + "TravelerDataFrameNewPartIIIContent", + "TravelerDataFrameNewPartIIIContent", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TravelerDataFrameNewPartIIIContent_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TravelerDataFrameNewPartIIIContent_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_TravelerDataFrameNewPartIIIContent_1, + 1, /* Elements count */ + &asn_SPC_TravelerDataFrameNewPartIIIContent_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TravelerDataFrameNewPartIIIContent.h b/src/tmx/Asn_J2735/src/r2024/TravelerDataFrameNewPartIIIContent.h deleted file mode 100644 index 1d4520c34..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TravelerDataFrameNewPartIIIContent.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TravelerDataFrameNewPartIIIContent_H_ -#define _TravelerDataFrameNewPartIIIContent_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "FrictionInformation.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TravelerDataFrameNewPartIIIContent_PR { - TravelerDataFrameNewPartIIIContent_PR_NOTHING, /* No components present */ - TravelerDataFrameNewPartIIIContent_PR_frictionInfo - /* Extensions may appear below */ - -} TravelerDataFrameNewPartIIIContent_PR; - -/* TravelerDataFrameNewPartIIIContent */ -typedef struct TravelerDataFrameNewPartIIIContent { - TravelerDataFrameNewPartIIIContent_PR present; - union TravelerDataFrameNewPartIIIContent_u { - FrictionInformation_t frictionInfo; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TravelerDataFrameNewPartIIIContent_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TravelerDataFrameNewPartIIIContent; -extern asn_CHOICE_specifics_t asn_SPC_TravelerDataFrameNewPartIIIContent_specs_1; -extern asn_TYPE_member_t asn_MBR_TravelerDataFrameNewPartIIIContent_1[1]; -extern asn_per_constraints_t asn_PER_type_TravelerDataFrameNewPartIIIContent_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _TravelerDataFrameNewPartIIIContent_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TravelerGroupAffected.c b/src/tmx/Asn_J2735/src/r2024/TravelerGroupAffected.c new file mode 100644 index 000000000..49af8d50d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TravelerGroupAffected.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TravelerGroupAffected.h" + +int +TravelerGroupAffected_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TravelerGroupAffected_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TravelerGroupAffected_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TravelerGroupAffected_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TravelerGroupAffected = { + "TravelerGroupAffected", + "TravelerGroupAffected", + &asn_OP_NativeInteger, + asn_DEF_TravelerGroupAffected_tags_1, + sizeof(asn_DEF_TravelerGroupAffected_tags_1) + /sizeof(asn_DEF_TravelerGroupAffected_tags_1[0]), /* 1 */ + asn_DEF_TravelerGroupAffected_tags_1, /* Same as above */ + sizeof(asn_DEF_TravelerGroupAffected_tags_1) + /sizeof(asn_DEF_TravelerGroupAffected_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TravelerGroupAffected_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TravelerGroupAffected_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TravelerGroupAffected_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TravelerGroupAffected.h b/src/tmx/Asn_J2735/src/r2024/TravelerGroupAffected.h deleted file mode 100644 index b21ce52ea..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TravelerGroupAffected.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TravelerGroupAffected_H_ -#define _TravelerGroupAffected_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TravelerGroupAffected { - TravelerGroupAffected_through_traffic = 9473, - TravelerGroupAffected_holiday_traffic = 9474, - TravelerGroupAffected_residents = 9475, - TravelerGroupAffected_visitors = 9476, - TravelerGroupAffected_long_distance_traffic = 9477, - TravelerGroupAffected_local_traffic = 9478, - TravelerGroupAffected_regional_traffic = 9479, - TravelerGroupAffected_arrivals = 9480, - TravelerGroupAffected_departures = 9481, - TravelerGroupAffected_airline_travelers = 9482, - TravelerGroupAffected_commuter_airline_travelers = 9483, - TravelerGroupAffected_domestic_airline_travelers = 9484, - TravelerGroupAffected_international_airline_travelers = 9485, - TravelerGroupAffected_pedestrians = 9486, - TravelerGroupAffected_bicyclists = 9487 -} e_TravelerGroupAffected; - -/* TravelerGroupAffected */ -typedef long TravelerGroupAffected_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TravelerGroupAffected_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TravelerGroupAffected; -asn_struct_free_f TravelerGroupAffected_free; -asn_struct_print_f TravelerGroupAffected_print; -asn_constr_check_f TravelerGroupAffected_constraint; -ber_type_decoder_f TravelerGroupAffected_decode_ber; -der_type_encoder_f TravelerGroupAffected_encode_der; -xer_type_decoder_f TravelerGroupAffected_decode_xer; -xer_type_encoder_f TravelerGroupAffected_encode_xer; -oer_type_decoder_f TravelerGroupAffected_decode_oer; -oer_type_encoder_f TravelerGroupAffected_encode_oer; -per_type_decoder_f TravelerGroupAffected_decode_uper; -per_type_encoder_f TravelerGroupAffected_encode_uper; -per_type_decoder_f TravelerGroupAffected_decode_aper; -per_type_encoder_f TravelerGroupAffected_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TravelerGroupAffected_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TravelerInfoType.c b/src/tmx/Asn_J2735/src/r2024/TravelerInfoType.c new file mode 100644 index 000000000..8a780daec --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TravelerInfoType.c @@ -0,0 +1,74 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TravelerInfoType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TravelerInfoType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TravelerInfoType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_TravelerInfoType_value2enum_1[] = { + { 0, 7, "unknown" }, + { 1, 8, "advisory" }, + { 2, 11, "roadSignage" }, + { 3, 17, "commercialSignage" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_TravelerInfoType_enum2value_1[] = { + 1, /* advisory(1) */ + 3, /* commercialSignage(3) */ + 2, /* roadSignage(2) */ + 0 /* unknown(0) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_TravelerInfoType_specs_1 = { + asn_MAP_TravelerInfoType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_TravelerInfoType_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 5, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_TravelerInfoType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TravelerInfoType = { + "TravelerInfoType", + "TravelerInfoType", + &asn_OP_NativeEnumerated, + asn_DEF_TravelerInfoType_tags_1, + sizeof(asn_DEF_TravelerInfoType_tags_1) + /sizeof(asn_DEF_TravelerInfoType_tags_1[0]), /* 1 */ + asn_DEF_TravelerInfoType_tags_1, /* Same as above */ + sizeof(asn_DEF_TravelerInfoType_tags_1) + /sizeof(asn_DEF_TravelerInfoType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TravelerInfoType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TravelerInfoType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_TravelerInfoType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TravelerInfoType.h b/src/tmx/Asn_J2735/src/r2024/TravelerInfoType.h deleted file mode 100644 index 10279f229..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TravelerInfoType.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TravelerInfoType_H_ -#define _TravelerInfoType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TravelerInfoType { - TravelerInfoType_unknown = 0, - TravelerInfoType_advisory = 1, - TravelerInfoType_roadSignage = 2, - TravelerInfoType_commercialSignage = 3 - /* - * Enumeration is extensible - */ -} e_TravelerInfoType; - -/* TravelerInfoType */ -typedef long TravelerInfoType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TravelerInfoType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TravelerInfoType; -extern const asn_INTEGER_specifics_t asn_SPC_TravelerInfoType_specs_1; -asn_struct_free_f TravelerInfoType_free; -asn_struct_print_f TravelerInfoType_print; -asn_constr_check_f TravelerInfoType_constraint; -ber_type_decoder_f TravelerInfoType_decode_ber; -der_type_encoder_f TravelerInfoType_encode_der; -xer_type_decoder_f TravelerInfoType_decode_xer; -xer_type_encoder_f TravelerInfoType_encode_xer; -oer_type_decoder_f TravelerInfoType_decode_oer; -oer_type_encoder_f TravelerInfoType_encode_oer; -per_type_decoder_f TravelerInfoType_decode_uper; -per_type_encoder_f TravelerInfoType_encode_uper; -per_type_decoder_f TravelerInfoType_decode_aper; -per_type_encoder_f TravelerInfoType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TravelerInfoType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TravelerInformation.c b/src/tmx/Asn_J2735/src/r2024/TravelerInformation.c new file mode 100644 index 000000000..6cefe72f0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TravelerInformation.c @@ -0,0 +1,261 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TravelerInformation.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_7 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_7[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_TravelerInformation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_7[] = { + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_7 = { + sizeof(struct TravelerInformation__regional), + offsetof(struct TravelerInformation__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_7 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_7, + sizeof(asn_DEF_regional_tags_7) + /sizeof(asn_DEF_regional_tags_7[0]) - 1, /* 1 */ + asn_DEF_regional_tags_7, /* Same as above */ + sizeof(asn_DEF_regional_tags_7) + /sizeof(asn_DEF_regional_tags_7[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_7, + 1, /* Single element */ + &asn_SPC_regional_specs_7 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_TravelerInformation_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TravelerInformation, msgCnt), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "msgCnt" + }, + { ATF_POINTER, 3, offsetof(struct TravelerInformation, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_MinuteOfTheYear, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_POINTER, 2, offsetof(struct TravelerInformation, packetID), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UniqueMSGID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "packetID" + }, + { ATF_POINTER, 1, offsetof(struct TravelerInformation, urlB), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_URL_Base, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "urlB" + }, + { ATF_NOFLAGS, 0, offsetof(struct TravelerInformation, dataFrames), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TravelerDataFrameList, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dataFrames" + }, + { ATF_POINTER, 1, offsetof(struct TravelerInformation, regional), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + 0, + &asn_DEF_regional_7, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_TravelerInformation_oms_1[] = { 1, 2, 3, 5 }; +static const ber_tlv_tag_t asn_DEF_TravelerInformation_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TravelerInformation_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* msgCnt */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* packetID */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* urlB */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* dataFrames */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TravelerInformation_specs_1 = { + sizeof(struct TravelerInformation), + offsetof(struct TravelerInformation, _asn_ctx), + asn_MAP_TravelerInformation_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_TravelerInformation_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TravelerInformation = { + "TravelerInformation", + "TravelerInformation", + &asn_OP_SEQUENCE, + asn_DEF_TravelerInformation_tags_1, + sizeof(asn_DEF_TravelerInformation_tags_1) + /sizeof(asn_DEF_TravelerInformation_tags_1[0]), /* 1 */ + asn_DEF_TravelerInformation_tags_1, /* Same as above */ + sizeof(asn_DEF_TravelerInformation_tags_1) + /sizeof(asn_DEF_TravelerInformation_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TravelerInformation_1, + 6, /* Elements count */ + &asn_SPC_TravelerInformation_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TravelerInformation.h b/src/tmx/Asn_J2735/src/r2024/TravelerInformation.h deleted file mode 100644 index c272b0cdf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TravelerInformation.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TravelerInformation_H_ -#define _TravelerInformation_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Common_MsgCount.h" -#include "MinuteOfTheYear.h" -#include "UniqueMSGID.h" -#include "URL-Base.h" -#include "TravelerDataFrameList.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_TravelerInformation; - -/* TravelerInformation */ -typedef struct TravelerInformation { - Common_MsgCount_t msgCnt; - MinuteOfTheYear_t *timeStamp; /* OPTIONAL */ - UniqueMSGID_t *packetID; /* OPTIONAL */ - URL_Base_t *urlB; /* OPTIONAL */ - TravelerDataFrameList_t dataFrames; - struct TravelerInformation__regional { - A_SEQUENCE_OF(struct Reg_TravelerInformation) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TravelerInformation_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TravelerInformation; -extern asn_SEQUENCE_specifics_t asn_SPC_TravelerInformation_specs_1; -extern asn_TYPE_member_t asn_MBR_TravelerInformation_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _TravelerInformation_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TripInfo.c b/src/tmx/Asn_J2735/src/r2024/TripInfo.c new file mode 100644 index 000000000..d29c07c99 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TripInfo.c @@ -0,0 +1,190 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingReportMessage" + * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TripInfo.h" + +static int +memb_distanceTraveled_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_timeTraveled_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 600000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_distanceTraveled_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_distanceTraveled_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 16, 16, 1, 65535 } /* (1..65535,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_timeTraveled_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_timeTraveled_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 20, -1, 1, 600000 } /* (1..600000,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TripInfo_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TripInfo_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TripInfo_1[] = { + { ATF_POINTER, 3, offsetof(struct TripInfo, distanceTraveled), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_distanceTraveled_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_distanceTraveled_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_distanceTraveled_constraint_1 + }, + 0, 0, /* No default value */ + "distanceTraveled" + }, + { ATF_POINTER, 2, offsetof(struct TripInfo, distanceUnits), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DistanceUnits, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "distanceUnits" + }, + { ATF_POINTER, 1, offsetof(struct TripInfo, timeTraveled), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_timeTraveled_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_timeTraveled_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_timeTraveled_constraint_1 + }, + 0, 0, /* No default value */ + "timeTraveled" + }, +}; +static const int asn_MAP_TripInfo_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_TripInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TripInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* distanceTraveled */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* distanceUnits */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* timeTraveled */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TripInfo_specs_1 = { + sizeof(struct TripInfo), + offsetof(struct TripInfo, _asn_ctx), + asn_MAP_TripInfo_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_TripInfo_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TripInfo = { + "TripInfo", + "TripInfo", + &asn_OP_SEQUENCE, + asn_DEF_TripInfo_tags_1, + sizeof(asn_DEF_TripInfo_tags_1) + /sizeof(asn_DEF_TripInfo_tags_1[0]), /* 1 */ + asn_DEF_TripInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_TripInfo_tags_1) + /sizeof(asn_DEF_TripInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TripInfo_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TripInfo_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TripInfo_1, + 3, /* Elements count */ + &asn_SPC_TripInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TripInfo.h b/src/tmx/Asn_J2735/src/r2024/TripInfo.h deleted file mode 100644 index f59b094ad..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TripInfo.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingReportMessage" - * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TripInfo_H_ -#define _TripInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "DistanceUnits.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TripInfo */ -typedef struct TripInfo { - long *distanceTraveled; /* OPTIONAL */ - DistanceUnits_t *distanceUnits; /* OPTIONAL */ - long *timeTraveled; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TripInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TripInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_TripInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_TripInfo_1[3]; -extern asn_per_constraints_t asn_PER_type_TripInfo_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _TripInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TumAck.c b/src/tmx/Asn_J2735/src/r2024/TumAck.c new file mode 100644 index 000000000..4f43d8fa6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TumAck.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageAckMessage" + * found in "J3217-TollUsageAckMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TumAck.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TumAck_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TumAck_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TumAck_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_TumAckHash, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_TumAck_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_TumAck_specs_1 = { + sizeof(struct TumAck), + offsetof(struct TumAck, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_TumAck = { + "TumAck", + "TumAck", + &asn_OP_SEQUENCE_OF, + asn_DEF_TumAck_tags_1, + sizeof(asn_DEF_TumAck_tags_1) + /sizeof(asn_DEF_TumAck_tags_1[0]), /* 1 */ + asn_DEF_TumAck_tags_1, /* Same as above */ + sizeof(asn_DEF_TumAck_tags_1) + /sizeof(asn_DEF_TumAck_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TumAck_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TumAck_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_TumAck_1, + 1, /* Single element */ + &asn_SPC_TumAck_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TumAck.h b/src/tmx/Asn_J2735/src/r2024/TumAck.h deleted file mode 100644 index f241be8ec..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TumAck.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageAckMessage" - * found in "J3217-TollUsageAckMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TumAck_H_ -#define _TumAck_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct TumAckHash; - -/* TumAck */ -typedef struct TumAck { - A_SEQUENCE_OF(struct TumAckHash) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TumAck_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TumAck; -extern asn_SET_OF_specifics_t asn_SPC_TumAck_specs_1; -extern asn_TYPE_member_t asn_MBR_TumAck_1[1]; -extern asn_per_constraints_t asn_PER_type_TumAck_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "TumAckHash.h" - -#endif /* _TumAck_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TumAckHash.c b/src/tmx/Asn_J2735/src/r2024/TumAckHash.c new file mode 100644 index 000000000..c66dac6af --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TumAckHash.c @@ -0,0 +1,142 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageAckMessage" + * found in "J3217-TollUsageAckMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TumAckHash.h" + +static int +memb_signedTumHash_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 32UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_signedTumHash_constr_2 CC_NOTUSED = { + { 0, 0 }, + 32 /* (SIZE(32..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_signedTumHash_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 32, 32 } /* (SIZE(32..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TumAckHash_1[] = { + { ATF_POINTER, 1, offsetof(struct TumAckHash, signedTumHash), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_signedTumHash_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_signedTumHash_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_signedTumHash_constraint_1 + }, + 0, 0, /* No default value */ + "signedTumHash" + }, + { ATF_NOFLAGS, 0, offsetof(struct TumAckHash, tempId), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tempId" + }, + { ATF_NOFLAGS, 0, offsetof(struct TumAckHash, tumSequenceNum), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_MsgCount, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tumSequenceNum" + }, +}; +static const int asn_MAP_TumAckHash_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_TumAckHash_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TumAckHash_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* signedTumHash */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* tempId */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* tumSequenceNum */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TumAckHash_specs_1 = { + sizeof(struct TumAckHash), + offsetof(struct TumAckHash, _asn_ctx), + asn_MAP_TumAckHash_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_TumAckHash_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TumAckHash = { + "TumAckHash", + "TumAckHash", + &asn_OP_SEQUENCE, + asn_DEF_TumAckHash_tags_1, + sizeof(asn_DEF_TumAckHash_tags_1) + /sizeof(asn_DEF_TumAckHash_tags_1[0]), /* 1 */ + asn_DEF_TumAckHash_tags_1, /* Same as above */ + sizeof(asn_DEF_TumAckHash_tags_1) + /sizeof(asn_DEF_TumAckHash_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TumAckHash_1, + 3, /* Elements count */ + &asn_SPC_TumAckHash_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TumAckHash.h b/src/tmx/Asn_J2735/src/r2024/TumAckHash.h deleted file mode 100644 index 3f5526b5d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TumAckHash.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageAckMessage" - * found in "J3217-TollUsageAckMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TumAckHash_H_ -#define _TumAckHash_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" -#include "TemporaryID.h" -#include "Common_MsgCount.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TumAckHash */ -typedef struct TumAckHash { - OCTET_STRING_t *signedTumHash; /* OPTIONAL */ - TemporaryID_t tempId; - Common_MsgCount_t tumSequenceNum; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TumAckHash_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TumAckHash; -extern asn_SEQUENCE_specifics_t asn_SPC_TumAckHash_specs_1; -extern asn_TYPE_member_t asn_MBR_TumAckHash_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TumAckHash_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TumData.c b/src/tmx/Asn_J2735/src/r2024/TumData.c new file mode 100644 index 000000000..3782c01eb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TumData.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageMessage" + * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TumData.h" + +static asn_TYPE_member_t asn_MBR_TumData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TumData, tollUserData), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TollUserData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tollUserData" + }, + { ATF_POINTER, 1, offsetof(struct TumData, tollServiceProviderData), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TollServiceProviderData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tollServiceProviderData" + }, +}; +static const int asn_MAP_TumData_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_TumData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TumData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tollUserData */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* tollServiceProviderData */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_TumData_specs_1 = { + sizeof(struct TumData), + offsetof(struct TumData, _asn_ctx), + asn_MAP_TumData_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_TumData_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TumData = { + "TumData", + "TumData", + &asn_OP_SEQUENCE, + asn_DEF_TumData_tags_1, + sizeof(asn_DEF_TumData_tags_1) + /sizeof(asn_DEF_TumData_tags_1[0]), /* 1 */ + asn_DEF_TumData_tags_1, /* Same as above */ + sizeof(asn_DEF_TumData_tags_1) + /sizeof(asn_DEF_TumData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TumData_1, + 2, /* Elements count */ + &asn_SPC_TumData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TumData.h b/src/tmx/Asn_J2735/src/r2024/TumData.h deleted file mode 100644 index 53989942b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TumData.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageMessage" - * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TumData_H_ -#define _TumData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TollUserData.h" -#include "TollServiceProviderData.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TumData */ -typedef struct TumData { - TollUserData_t tollUserData; - TollServiceProviderData_t *tollServiceProviderData; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TumData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TumData; - -#ifdef __cplusplus -} -#endif - -#endif /* _TumData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TumHash.c b/src/tmx/Asn_J2735/src/r2024/TumHash.c new file mode 100644 index 000000000..a85777646 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TumHash.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageMessage" + * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TumHash.h" + +int +TumHash_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 32UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TumHash_constr_1 CC_NOTUSED = { + { 0, 0 }, + 32 /* (SIZE(32..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TumHash_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 32, 32 } /* (SIZE(32..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TumHash_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TumHash = { + "TumHash", + "TumHash", + &asn_OP_OCTET_STRING, + asn_DEF_TumHash_tags_1, + sizeof(asn_DEF_TumHash_tags_1) + /sizeof(asn_DEF_TumHash_tags_1[0]), /* 1 */ + asn_DEF_TumHash_tags_1, /* Same as above */ + sizeof(asn_DEF_TumHash_tags_1) + /sizeof(asn_DEF_TumHash_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TumHash_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TumHash_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TumHash_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TumHash.h b/src/tmx/Asn_J2735/src/r2024/TumHash.h deleted file mode 100644 index 97be58e0d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TumHash.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageMessage" - * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TumHash_H_ -#define _TumHash_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TumHash */ -typedef OCTET_STRING_t TumHash_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TumHash_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TumHash; -asn_struct_free_f TumHash_free; -asn_struct_print_f TumHash_print; -asn_constr_check_f TumHash_constraint; -ber_type_decoder_f TumHash_decode_ber; -der_type_encoder_f TumHash_encode_der; -xer_type_decoder_f TumHash_decode_xer; -xer_type_encoder_f TumHash_encode_xer; -oer_type_decoder_f TumHash_decode_oer; -oer_type_encoder_f TumHash_encode_oer; -per_type_decoder_f TumHash_decode_uper; -per_type_encoder_f TumHash_encode_uper; -per_type_decoder_f TumHash_decode_aper; -per_type_encoder_f TumHash_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TumHash_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TumInstructions.c b/src/tmx/Asn_J2735/src/r2024/TumInstructions.c new file mode 100644 index 000000000..ad60b5120 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TumInstructions.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TumInstructions.h" + +static int +memb_maxNumOfLocTimeStamps_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 5L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_locTimeStampRate_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 10L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_maxNumOfLocTimeStamps_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_maxNumOfLocTimeStamps_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 1, 5 } /* (1..5,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_locTimeStampRate_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_locTimeStampRate_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (1..10,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_TumInstructions_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct TumInstructions, maxNumOfLocTimeStamps), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_maxNumOfLocTimeStamps_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_maxNumOfLocTimeStamps_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_maxNumOfLocTimeStamps_constraint_1 + }, + 0, 0, /* No default value */ + "maxNumOfLocTimeStamps" + }, + { ATF_NOFLAGS, 0, offsetof(struct TumInstructions, locTimeStampRate), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_locTimeStampRate_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_locTimeStampRate_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_locTimeStampRate_constraint_1 + }, + 0, 0, /* No default value */ + "locTimeStampRate" + }, +}; +static const ber_tlv_tag_t asn_DEF_TumInstructions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_TumInstructions_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* maxNumOfLocTimeStamps */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* locTimeStampRate */ +}; +asn_SEQUENCE_specifics_t asn_SPC_TumInstructions_specs_1 = { + sizeof(struct TumInstructions), + offsetof(struct TumInstructions, _asn_ctx), + asn_MAP_TumInstructions_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_TumInstructions = { + "TumInstructions", + "TumInstructions", + &asn_OP_SEQUENCE, + asn_DEF_TumInstructions_tags_1, + sizeof(asn_DEF_TumInstructions_tags_1) + /sizeof(asn_DEF_TumInstructions_tags_1[0]), /* 1 */ + asn_DEF_TumInstructions_tags_1, /* Same as above */ + sizeof(asn_DEF_TumInstructions_tags_1) + /sizeof(asn_DEF_TumInstructions_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_TumInstructions_1, + 2, /* Elements count */ + &asn_SPC_TumInstructions_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TumInstructions.h b/src/tmx/Asn_J2735/src/r2024/TumInstructions.h deleted file mode 100644 index 8bd2b06a4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TumInstructions.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TumInstructions_H_ -#define _TumInstructions_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* TumInstructions */ -typedef struct TumInstructions { - long maxNumOfLocTimeStamps; - long locTimeStampRate; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} TumInstructions_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_TumInstructions; -extern asn_SEQUENCE_specifics_t asn_SPC_TumInstructions_specs_1; -extern asn_TYPE_member_t asn_MBR_TumInstructions_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _TumInstructions_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/TyreConfiguration.c b/src/tmx/Asn_J2735/src/r2024/TyreConfiguration.c new file mode 100644 index 000000000..b523d8e28 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/TyreConfiguration.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "TyreConfiguration.h" + +int +TyreConfiguration_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 3L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_TyreConfiguration_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..3) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_TyreConfiguration_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_TyreConfiguration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_TyreConfiguration = { + "TyreConfiguration", + "TyreConfiguration", + &asn_OP_NativeInteger, + asn_DEF_TyreConfiguration_tags_1, + sizeof(asn_DEF_TyreConfiguration_tags_1) + /sizeof(asn_DEF_TyreConfiguration_tags_1[0]), /* 1 */ + asn_DEF_TyreConfiguration_tags_1, /* Same as above */ + sizeof(asn_DEF_TyreConfiguration_tags_1) + /sizeof(asn_DEF_TyreConfiguration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_TyreConfiguration_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_TyreConfiguration_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + TyreConfiguration_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/TyreConfiguration.h b/src/tmx/Asn_J2735/src/r2024/TyreConfiguration.h deleted file mode 100644 index 6e6cef2c8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/TyreConfiguration.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _TyreConfiguration_H_ -#define _TyreConfiguration_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum TyreConfiguration { - TyreConfiguration_notSpecified = 0, - TyreConfiguration_singleTyre = 1, - TyreConfiguration_dualTyres = 2, - TyreConfiguration_reservedForUse = 3 -} e_TyreConfiguration; - -/* TyreConfiguration */ -typedef long TyreConfiguration_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_TyreConfiguration_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_TyreConfiguration; -asn_struct_free_f TyreConfiguration_free; -asn_struct_print_f TyreConfiguration_print; -asn_constr_check_f TyreConfiguration_constraint; -ber_type_decoder_f TyreConfiguration_decode_ber; -der_type_encoder_f TyreConfiguration_encode_der; -xer_type_decoder_f TyreConfiguration_decode_xer; -xer_type_encoder_f TyreConfiguration_encode_xer; -oer_type_decoder_f TyreConfiguration_decode_oer; -oer_type_encoder_f TyreConfiguration_encode_oer; -per_type_decoder_f TyreConfiguration_decode_uper; -per_type_encoder_f TyreConfiguration_encode_uper; -per_type_decoder_f TyreConfiguration_decode_aper; -per_type_encoder_f TyreConfiguration_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _TyreConfiguration_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/URL-Base.c b/src/tmx/Asn_J2735/src/r2024/URL-Base.c new file mode 100644 index 000000000..15cbfa0ad --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/URL-Base.c @@ -0,0 +1,91 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "URL-Base.h" + +static int check_permitted_alphabet_1(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +int +URL_Base_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 45UL) + && !check_permitted_alphabet_1(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using IA5String, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_URL_Base_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..45)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_URL_Base_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 6, 6, 1, 45 } /* (SIZE(1..45)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_URL_Base_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_URL_Base = { + "URL-Base", + "URL-Base", + &asn_OP_IA5String, + asn_DEF_URL_Base_tags_1, + sizeof(asn_DEF_URL_Base_tags_1) + /sizeof(asn_DEF_URL_Base_tags_1[0]), /* 1 */ + asn_DEF_URL_Base_tags_1, /* Same as above */ + sizeof(asn_DEF_URL_Base_tags_1) + /sizeof(asn_DEF_URL_Base_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_URL_Base_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_URL_Base_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + URL_Base_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/URL-Base.h b/src/tmx/Asn_J2735/src/r2024/URL-Base.h deleted file mode 100644 index f04148cfc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/URL-Base.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _URL_Base_H_ -#define _URL_Base_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IA5String.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* URL-Base */ -typedef IA5String_t URL_Base_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_URL_Base_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_URL_Base; -asn_struct_free_f URL_Base_free; -asn_struct_print_f URL_Base_print; -asn_constr_check_f URL_Base_constraint; -ber_type_decoder_f URL_Base_decode_ber; -der_type_encoder_f URL_Base_encode_der; -xer_type_decoder_f URL_Base_decode_xer; -xer_type_encoder_f URL_Base_encode_xer; -oer_type_decoder_f URL_Base_decode_oer; -oer_type_encoder_f URL_Base_encode_oer; -per_type_decoder_f URL_Base_decode_uper; -per_type_encoder_f URL_Base_encode_uper; -per_type_decoder_f URL_Base_decode_aper; -per_type_encoder_f URL_Base_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _URL_Base_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/URL-Link.c b/src/tmx/Asn_J2735/src/r2024/URL-Link.c new file mode 100644 index 000000000..cbbe3175e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/URL-Link.c @@ -0,0 +1,91 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "URL-Link.h" + +static int check_permitted_alphabet_1(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +int +URL_Link_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 255UL) + && !check_permitted_alphabet_1(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using IA5String, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_URL_Link_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..255)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_URL_Link_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 8, 8, 1, 255 } /* (SIZE(1..255)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_URL_Link_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_URL_Link = { + "URL-Link", + "URL-Link", + &asn_OP_IA5String, + asn_DEF_URL_Link_tags_1, + sizeof(asn_DEF_URL_Link_tags_1) + /sizeof(asn_DEF_URL_Link_tags_1[0]), /* 1 */ + asn_DEF_URL_Link_tags_1, /* Same as above */ + sizeof(asn_DEF_URL_Link_tags_1) + /sizeof(asn_DEF_URL_Link_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_URL_Link_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_URL_Link_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + URL_Link_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/URL-Link.h b/src/tmx/Asn_J2735/src/r2024/URL-Link.h deleted file mode 100644 index 6c8f2aa2d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/URL-Link.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _URL_Link_H_ -#define _URL_Link_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IA5String.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* URL-Link */ -typedef IA5String_t URL_Link_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_URL_Link; -asn_struct_free_f URL_Link_free; -asn_struct_print_f URL_Link_print; -asn_constr_check_f URL_Link_constraint; -ber_type_decoder_f URL_Link_decode_ber; -der_type_encoder_f URL_Link_encode_der; -xer_type_decoder_f URL_Link_decode_xer; -xer_type_encoder_f URL_Link_encode_xer; -oer_type_decoder_f URL_Link_decode_oer; -oer_type_encoder_f URL_Link_encode_oer; -per_type_decoder_f URL_Link_decode_uper; -per_type_encoder_f URL_Link_encode_uper; -per_type_decoder_f URL_Link_decode_aper; -per_type_encoder_f URL_Link_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _URL_Link_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/URL-Short.c b/src/tmx/Asn_J2735/src/r2024/URL-Short.c new file mode 100644 index 000000000..5ee08c7b3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/URL-Short.c @@ -0,0 +1,91 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "URL-Short.h" + +static int check_permitted_alphabet_1(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +int +URL_Short_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 15UL) + && !check_permitted_alphabet_1(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using IA5String, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_URL_Short_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..15)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_URL_Short_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 4, 4, 1, 15 } /* (SIZE(1..15)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_URL_Short_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_URL_Short = { + "URL-Short", + "URL-Short", + &asn_OP_IA5String, + asn_DEF_URL_Short_tags_1, + sizeof(asn_DEF_URL_Short_tags_1) + /sizeof(asn_DEF_URL_Short_tags_1[0]), /* 1 */ + asn_DEF_URL_Short_tags_1, /* Same as above */ + sizeof(asn_DEF_URL_Short_tags_1) + /sizeof(asn_DEF_URL_Short_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_URL_Short_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_URL_Short_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + URL_Short_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/URL-Short.h b/src/tmx/Asn_J2735/src/r2024/URL-Short.h deleted file mode 100644 index 4cba93c5f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/URL-Short.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _URL_Short_H_ -#define _URL_Short_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IA5String.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* URL-Short */ -typedef IA5String_t URL_Short_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_URL_Short_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_URL_Short; -asn_struct_free_f URL_Short_free; -asn_struct_print_f URL_Short_print; -asn_constr_check_f URL_Short_constraint; -ber_type_decoder_f URL_Short_decode_ber; -der_type_encoder_f URL_Short_encode_der; -xer_type_decoder_f URL_Short_decode_xer; -xer_type_encoder_f URL_Short_encode_xer; -oer_type_decoder_f URL_Short_decode_oer; -oer_type_encoder_f URL_Short_encode_oer; -per_type_decoder_f URL_Short_decode_uper; -per_type_encoder_f URL_Short_encode_uper; -per_type_decoder_f URL_Short_decode_aper; -per_type_encoder_f URL_Short_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _URL_Short_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/UniqueMSGID.c b/src/tmx/Asn_J2735/src/r2024/UniqueMSGID.c new file mode 100644 index 000000000..95e932a80 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/UniqueMSGID.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "UniqueMSGID.h" + +int +UniqueMSGID_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 9UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_UniqueMSGID_constr_1 CC_NOTUSED = { + { 0, 0 }, + 9 /* (SIZE(9..9)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_UniqueMSGID_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 9, 9 } /* (SIZE(9..9)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_UniqueMSGID_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UniqueMSGID = { + "UniqueMSGID", + "UniqueMSGID", + &asn_OP_OCTET_STRING, + asn_DEF_UniqueMSGID_tags_1, + sizeof(asn_DEF_UniqueMSGID_tags_1) + /sizeof(asn_DEF_UniqueMSGID_tags_1[0]), /* 1 */ + asn_DEF_UniqueMSGID_tags_1, /* Same as above */ + sizeof(asn_DEF_UniqueMSGID_tags_1) + /sizeof(asn_DEF_UniqueMSGID_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_UniqueMSGID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_UniqueMSGID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + UniqueMSGID_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/UniqueMSGID.h b/src/tmx/Asn_J2735/src/r2024/UniqueMSGID.h deleted file mode 100644 index 29d83418d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/UniqueMSGID.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _UniqueMSGID_H_ -#define _UniqueMSGID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* UniqueMSGID */ -typedef OCTET_STRING_t UniqueMSGID_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_UniqueMSGID_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_UniqueMSGID; -asn_struct_free_f UniqueMSGID_free; -asn_struct_print_f UniqueMSGID_print; -asn_constr_check_f UniqueMSGID_constraint; -ber_type_decoder_f UniqueMSGID_decode_ber; -der_type_encoder_f UniqueMSGID_encode_der; -xer_type_decoder_f UniqueMSGID_decode_xer; -xer_type_encoder_f UniqueMSGID_encode_xer; -oer_type_decoder_f UniqueMSGID_decode_oer; -oer_type_encoder_f UniqueMSGID_encode_oer; -per_type_decoder_f UniqueMSGID_decode_uper; -per_type_encoder_f UniqueMSGID_encode_uper; -per_type_decoder_f UniqueMSGID_decode_aper; -per_type_encoder_f UniqueMSGID_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _UniqueMSGID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Units.c b/src/tmx/Asn_J2735/src/r2024/Units.c new file mode 100644 index 000000000..ec0c834a8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Units.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Units.h" + +int +Units_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Units_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Units_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Units_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Units = { + "Units", + "Units", + &asn_OP_NativeInteger, + asn_DEF_Units_tags_1, + sizeof(asn_DEF_Units_tags_1) + /sizeof(asn_DEF_Units_tags_1[0]), /* 1 */ + asn_DEF_Units_tags_1, /* Same as above */ + sizeof(asn_DEF_Units_tags_1) + /sizeof(asn_DEF_Units_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Units_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Units_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Units_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Units.h b/src/tmx/Asn_J2735/src/r2024/Units.h deleted file mode 100644 index 8af064b02..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Units.h +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Units_H_ -#define _Units_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Units { - Units_square_feet = 8705, - Units_square_meters = 8706, - Units_acres = 8707, - Units_hectares = 8708, - Units_inches = 8709, - Units_feet = 8710, - Units_mile = 8711, - Units_miles = 8712, - Units_nautical_miles = 8713, - Units_millimeters = 8714, - Units_meters = 8715, - Units_kilometer = 8716, - Units_kilometers = 8717, - Units_feet_per_second = 8718, - Units_meters_per_second = 8719, - Units_mPH = 8720, - Units_kPH = 8721, - Units_knots = 8722, - Units_elevation = 8766, - Units_aM = 8723, - Units_pM = 8724, - Units_holiday = 8726, - Units_seconds = 8727, - Units_minutes = 8728, - Units_hours = 8729, - Units_days = 8730, - Units_weeks = 8731, - Units_months = 8732, - Units_other_times = 8767, - Units_nSunday = 8758, - Units_nMonday = 8759, - Units_nTuesday = 8760, - Units_nWednesday = 8761, - Units_nThursday = 8762, - Units_nFriday = 8763, - Units_nSaturday = 8764, - Units_weekdays = 8765, - Units_weekends = 8725, - Units_degrees_Angle = 8733, - Units_degrees_Celsius = 8734, - Units_degrees_Fahrenheit = 8735, - Units_grams = 8736, - Units_kilograms = 8737, - Units_ounces = 8738, - Units_pounds = 8739, - Units_tons = 8740, - Units_fluid_ounces = 8741, - Units_gallons = 8742, - Units_milliliters = 8743, - Units_liters = 8744, - Units_kilograms_per_lane_mile = 8745, - Units_tons_per_lane_mile = 8746, - Units_dollar = 8747, - Units_percent = 8748, - Units_grade = 8757, - Units_time_delimiter = 8749, - Units_dollars = 8750, - Units_flight_number = 8751, - Units_person_people = 8752, - Units_response_plan = 8753, - Units_placard_type = 8754, - Units_placard_number = 8755, - Units_fM = 8756 -} e_Units; - -/* Units */ -typedef long Units_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Units; -asn_struct_free_f Units_free; -asn_struct_print_f Units_print; -asn_constr_check_f Units_constraint; -ber_type_decoder_f Units_decode_ber; -der_type_encoder_f Units_encode_der; -xer_type_decoder_f Units_decode_xer; -xer_type_encoder_f Units_encode_xer; -oer_type_decoder_f Units_decode_oer; -oer_type_encoder_f Units_encode_oer; -per_type_decoder_f Units_decode_uper; -per_type_encoder_f Units_encode_uper; -per_type_decoder_f Units_decode_aper; -per_type_encoder_f Units_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Units_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/UnusualDriving.c b/src/tmx/Asn_J2735/src/r2024/UnusualDriving.c new file mode 100644 index 000000000..2541744dc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/UnusualDriving.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "UnusualDriving.h" + +int +UnusualDriving_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_UnusualDriving_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_UnusualDriving_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_UnusualDriving_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UnusualDriving = { + "UnusualDriving", + "UnusualDriving", + &asn_OP_NativeInteger, + asn_DEF_UnusualDriving_tags_1, + sizeof(asn_DEF_UnusualDriving_tags_1) + /sizeof(asn_DEF_UnusualDriving_tags_1[0]), /* 1 */ + asn_DEF_UnusualDriving_tags_1, /* Same as above */ + sizeof(asn_DEF_UnusualDriving_tags_1) + /sizeof(asn_DEF_UnusualDriving_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_UnusualDriving_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_UnusualDriving_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + UnusualDriving_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/UnusualDriving.h b/src/tmx/Asn_J2735/src/r2024/UnusualDriving.h deleted file mode 100644 index 9cd7e902a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/UnusualDriving.h +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _UnusualDriving_H_ -#define _UnusualDriving_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum UnusualDriving { - UnusualDriving_vehicle_traveling_wrong_way = 1793, - UnusualDriving_reckless_driver = 1794, - UnusualDriving_prohibited_vehicle_on_roadway = 1795, - UnusualDriving_emergency_vehicles_on_roadway = 1796, - UnusualDriving_high_speed_emergency_vehicles = 1797, - UnusualDriving_high_speed_chase = 1798, - UnusualDriving_dangerous_vehicle_warning_cleared = 1918, - UnusualDriving_emergency_vehicle_warning_cleared = 1919 -} e_UnusualDriving; - -/* UnusualDriving */ -typedef long UnusualDriving_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_UnusualDriving_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_UnusualDriving; -asn_struct_free_f UnusualDriving_free; -asn_struct_print_f UnusualDriving_print; -asn_constr_check_f UnusualDriving_constraint; -ber_type_decoder_f UnusualDriving_decode_ber; -der_type_encoder_f UnusualDriving_encode_der; -xer_type_decoder_f UnusualDriving_decode_xer; -xer_type_encoder_f UnusualDriving_encode_xer; -oer_type_decoder_f UnusualDriving_decode_oer; -oer_type_encoder_f UnusualDriving_encode_oer; -per_type_decoder_f UnusualDriving_decode_uper; -per_type_encoder_f UnusualDriving_encode_uper; -per_type_decoder_f UnusualDriving_decode_aper; -per_type_encoder_f UnusualDriving_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _UnusualDriving_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/UsageReport.c b/src/tmx/Asn_J2735/src/r2024/UsageReport.c new file mode 100644 index 000000000..1a04c7974 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/UsageReport.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingReportMessage" + * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "UsageReport.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_UsageReport_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_UsageReport_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_UsageReport_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UsageReport, choice.feeReport), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FeeReport, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "feeReport" + }, + { ATF_NOFLAGS, 0, offsetof(struct UsageReport, choice.itemizedPaymentReport), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ItemizedPaymentReport, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "itemizedPaymentReport" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_UsageReport_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* feeReport */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* itemizedPaymentReport */ +}; +asn_CHOICE_specifics_t asn_SPC_UsageReport_specs_1 = { + sizeof(struct UsageReport), + offsetof(struct UsageReport, _asn_ctx), + offsetof(struct UsageReport, present), + sizeof(((struct UsageReport *)0)->present), + asn_MAP_UsageReport_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_UsageReport = { + "UsageReport", + "UsageReport", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_UsageReport_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_UsageReport_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_UsageReport_1, + 2, /* Elements count */ + &asn_SPC_UsageReport_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/UsageReport.h b/src/tmx/Asn_J2735/src/r2024/UsageReport.h deleted file mode 100644 index 870118f3a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/UsageReport.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingReportMessage" - * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _UsageReport_H_ -#define _UsageReport_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "FeeReport.h" -#include "ItemizedPaymentReport.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum UsageReport_PR { - UsageReport_PR_NOTHING, /* No components present */ - UsageReport_PR_feeReport, - UsageReport_PR_itemizedPaymentReport - /* Extensions may appear below */ - -} UsageReport_PR; - -/* UsageReport */ -typedef struct UsageReport { - UsageReport_PR present; - union UsageReport_u { - FeeReport_t feeReport; - ItemizedPaymentReport_t itemizedPaymentReport; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} UsageReport_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_UsageReport; -extern asn_CHOICE_specifics_t asn_SPC_UsageReport_specs_1; -extern asn_TYPE_member_t asn_MBR_UsageReport_1[2]; -extern asn_per_constraints_t asn_PER_type_UsageReport_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _UsageReport_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/UserClassId.c b/src/tmx/Asn_J2735/src/r2024/UserClassId.c new file mode 100644 index 000000000..1e5e863f0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/UserClassId.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "UserClassId.h" + +int +UserClassId_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Int1Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_UserClassId_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_UserClassId_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_UserClassId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UserClassId = { + "UserClassId", + "UserClassId", + &asn_OP_NativeInteger, + asn_DEF_UserClassId_tags_1, + sizeof(asn_DEF_UserClassId_tags_1) + /sizeof(asn_DEF_UserClassId_tags_1[0]), /* 1 */ + asn_DEF_UserClassId_tags_1, /* Same as above */ + sizeof(asn_DEF_UserClassId_tags_1) + /sizeof(asn_DEF_UserClassId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_UserClassId_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_UserClassId_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + UserClassId_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/UserClassId.h b/src/tmx/Asn_J2735/src/r2024/UserClassId.h deleted file mode 100644 index 984242e8e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/UserClassId.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _UserClassId_H_ -#define _UserClassId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int1Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* UserClassId */ -typedef Int1Unsigned_t UserClassId_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_UserClassId_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_UserClassId; -asn_struct_free_f UserClassId_free; -asn_struct_print_f UserClassId_print; -asn_constr_check_f UserClassId_constraint; -ber_type_decoder_f UserClassId_decode_ber; -der_type_encoder_f UserClassId_encode_der; -xer_type_decoder_f UserClassId_decode_xer; -xer_type_encoder_f UserClassId_encode_xer; -oer_type_decoder_f UserClassId_decode_oer; -oer_type_encoder_f UserClassId_encode_oer; -per_type_decoder_f UserClassId_decode_uper; -per_type_encoder_f UserClassId_encode_uper; -per_type_decoder_f UserClassId_decode_aper; -per_type_encoder_f UserClassId_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _UserClassId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/UserData.c b/src/tmx/Asn_J2735/src/r2024/UserData.c new file mode 100644 index 000000000..e0e1c2950 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/UserData.c @@ -0,0 +1,140 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingReportMessage" + * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "UserData.h" + +asn_TYPE_member_t asn_MBR_UserData_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UserData, timeStamp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timeStamp" + }, + { ATF_NOFLAGS, 0, offsetof(struct UserData, svcProvID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OBJECT_IDENTIFIER, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "svcProvID" + }, + { ATF_NOFLAGS, 0, offsetof(struct UserData, vehicleID), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleID" + }, + { ATF_NOFLAGS, 0, offsetof(struct UserData, vehicleType), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleTypes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleType" + }, + { ATF_POINTER, 1, offsetof(struct UserData, vehicleDescription), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleDescription" + }, +}; +static const int asn_MAP_UserData_oms_1[] = { 4 }; +static const ber_tlv_tag_t asn_DEF_UserData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UserData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* timeStamp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* svcProvID */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* vehicleID */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* vehicleType */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* vehicleDescription */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UserData_specs_1 = { + sizeof(struct UserData), + offsetof(struct UserData, _asn_ctx), + asn_MAP_UserData_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_UserData_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UserData = { + "UserData", + "UserData", + &asn_OP_SEQUENCE, + asn_DEF_UserData_tags_1, + sizeof(asn_DEF_UserData_tags_1) + /sizeof(asn_DEF_UserData_tags_1[0]), /* 1 */ + asn_DEF_UserData_tags_1, /* Same as above */ + sizeof(asn_DEF_UserData_tags_1) + /sizeof(asn_DEF_UserData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_UserData_1, + 5, /* Elements count */ + &asn_SPC_UserData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/UserData.h b/src/tmx/Asn_J2735/src/r2024/UserData.h deleted file mode 100644 index b28a8400b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/UserData.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingReportMessage" - * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _UserData_H_ -#define _UserData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DDateTime.h" -#include "OBJECT_IDENTIFIER.h" -#include "VehicleId.h" -#include "VehicleTypes.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct VehicleDescription; - -/* UserData */ -typedef struct UserData { - DDateTime_t timeStamp; - OBJECT_IDENTIFIER_t svcProvID; - VehicleId_t vehicleID; - VehicleTypes_t vehicleType; - struct VehicleDescription *vehicleDescription; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} UserData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_UserData; -extern asn_SEQUENCE_specifics_t asn_SPC_UserData_specs_1; -extern asn_TYPE_member_t asn_MBR_UserData_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "VehicleDescription.h" - -#endif /* _UserData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/UserFeeInfo.c b/src/tmx/Asn_J2735/src/r2024/UserFeeInfo.c new file mode 100644 index 000000000..d39f6cf84 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/UserFeeInfo.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadUserChargingReportMessage" + * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "UserFeeInfo.h" + +asn_TYPE_member_t asn_MBR_UserFeeInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct UserFeeInfo, fee), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "fee" + }, + { ATF_NOFLAGS, 0, offsetof(struct UserFeeInfo, timePeriod), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TimePeriod, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timePeriod" + }, +}; +static const ber_tlv_tag_t asn_DEF_UserFeeInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UserFeeInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* fee */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* timePeriod */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UserFeeInfo_specs_1 = { + sizeof(struct UserFeeInfo), + offsetof(struct UserFeeInfo, _asn_ctx), + asn_MAP_UserFeeInfo_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UserFeeInfo = { + "UserFeeInfo", + "UserFeeInfo", + &asn_OP_SEQUENCE, + asn_DEF_UserFeeInfo_tags_1, + sizeof(asn_DEF_UserFeeInfo_tags_1) + /sizeof(asn_DEF_UserFeeInfo_tags_1[0]), /* 1 */ + asn_DEF_UserFeeInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_UserFeeInfo_tags_1) + /sizeof(asn_DEF_UserFeeInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_UserFeeInfo_1, + 2, /* Elements count */ + &asn_SPC_UserFeeInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/UserFeeInfo.h b/src/tmx/Asn_J2735/src/r2024/UserFeeInfo.h deleted file mode 100644 index 3751259d1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/UserFeeInfo.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadUserChargingReportMessage" - * found in "J3217-R-RoadUserChargingReportMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _UserFeeInfo_H_ -#define _UserFeeInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "PaymentFee.h" -#include "TimePeriod.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* UserFeeInfo */ -typedef struct UserFeeInfo { - PaymentFee_t fee; - TimePeriod_t timePeriod; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} UserFeeInfo_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_UserFeeInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_UserFeeInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_UserFeeInfo_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _UserFeeInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/UserId.c b/src/tmx/Asn_J2735/src/r2024/UserId.c new file mode 100644 index 000000000..55f5e94c9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/UserId.c @@ -0,0 +1,152 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "UserId.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_UserId_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_UserId_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_UserId_1[] = { + { ATF_POINTER, 5, offsetof(struct UserId, pan), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PersonalAccountNumber, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pan" + }, + { ATF_POINTER, 4, offsetof(struct UserId, contractSerialNumber), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ContractSerialNumber, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "contractSerialNumber" + }, + { ATF_POINTER, 3, offsetof(struct UserId, licencePlateNumber), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Lpn, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "licencePlateNumber" + }, + { ATF_POINTER, 2, offsetof(struct UserId, obeId), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ObeId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "obeId" + }, + { ATF_POINTER, 1, offsetof(struct UserId, iccId), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EquipmentIccId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "iccId" + }, +}; +static const int asn_MAP_UserId_oms_1[] = { 0, 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_UserId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_UserId_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pan */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* contractSerialNumber */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* licencePlateNumber */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* obeId */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* iccId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_UserId_specs_1 = { + sizeof(struct UserId), + offsetof(struct UserId, _asn_ctx), + asn_MAP_UserId_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_UserId_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_UserId = { + "UserId", + "UserId", + &asn_OP_SEQUENCE, + asn_DEF_UserId_tags_1, + sizeof(asn_DEF_UserId_tags_1) + /sizeof(asn_DEF_UserId_tags_1[0]), /* 1 */ + asn_DEF_UserId_tags_1, /* Same as above */ + sizeof(asn_DEF_UserId_tags_1) + /sizeof(asn_DEF_UserId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_UserId_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_UserId_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_UserId_1, + 5, /* Elements count */ + &asn_SPC_UserId_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/UserId.h b/src/tmx/Asn_J2735/src/r2024/UserId.h deleted file mode 100644 index 94fa110ec..000000000 --- a/src/tmx/Asn_J2735/src/r2024/UserId.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _UserId_H_ -#define _UserId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "PersonalAccountNumber.h" -#include "ContractSerialNumber.h" -#include "EquipmentIccId.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Lpn; -struct ObeId; - -/* UserId */ -typedef struct UserId { - PersonalAccountNumber_t *pan; /* OPTIONAL */ - ContractSerialNumber_t *contractSerialNumber; /* OPTIONAL */ - struct Lpn *licencePlateNumber; /* OPTIONAL */ - struct ObeId *obeId; /* OPTIONAL */ - EquipmentIccId_t *iccId; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} UserId_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_UserId; -extern asn_SEQUENCE_specifics_t asn_SPC_UserId_specs_1; -extern asn_TYPE_member_t asn_MBR_UserId_1[5]; -extern asn_per_constraints_t asn_PER_type_UserId_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Lpn.h" -#include "ObeId.h" - -#endif /* _UserId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/UserSizeAndBehaviour.c b/src/tmx/Asn_J2735/src/r2024/UserSizeAndBehaviour.c new file mode 100644 index 000000000..ffbb0f9cf --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/UserSizeAndBehaviour.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "PersonalSafetyMessage" + * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "UserSizeAndBehaviour.h" + +int +UserSizeAndBehaviour_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 5UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_UserSizeAndBehaviour_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_UserSizeAndBehaviour_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 5, 5 } /* (SIZE(5..5,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_UserSizeAndBehaviour_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_UserSizeAndBehaviour = { + "UserSizeAndBehaviour", + "UserSizeAndBehaviour", + &asn_OP_BIT_STRING, + asn_DEF_UserSizeAndBehaviour_tags_1, + sizeof(asn_DEF_UserSizeAndBehaviour_tags_1) + /sizeof(asn_DEF_UserSizeAndBehaviour_tags_1[0]), /* 1 */ + asn_DEF_UserSizeAndBehaviour_tags_1, /* Same as above */ + sizeof(asn_DEF_UserSizeAndBehaviour_tags_1) + /sizeof(asn_DEF_UserSizeAndBehaviour_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_UserSizeAndBehaviour_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_UserSizeAndBehaviour_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + UserSizeAndBehaviour_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/UserSizeAndBehaviour.h b/src/tmx/Asn_J2735/src/r2024/UserSizeAndBehaviour.h deleted file mode 100644 index d1b58e034..000000000 --- a/src/tmx/Asn_J2735/src/r2024/UserSizeAndBehaviour.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "PersonalSafetyMessage" - * found in "J2735-PersonalSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _UserSizeAndBehaviour_H_ -#define _UserSizeAndBehaviour_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum UserSizeAndBehaviour { - UserSizeAndBehaviour_unavailable = 0, - UserSizeAndBehaviour_smallStature = 1, - UserSizeAndBehaviour_largeStature = 2, - UserSizeAndBehaviour_erraticMoving = 3, - UserSizeAndBehaviour_slowMoving = 4 -} e_UserSizeAndBehaviour; - -/* UserSizeAndBehaviour */ -typedef BIT_STRING_t UserSizeAndBehaviour_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_UserSizeAndBehaviour_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_UserSizeAndBehaviour; -asn_struct_free_f UserSizeAndBehaviour_free; -asn_struct_print_f UserSizeAndBehaviour_print; -asn_constr_check_f UserSizeAndBehaviour_constraint; -ber_type_decoder_f UserSizeAndBehaviour_decode_ber; -der_type_encoder_f UserSizeAndBehaviour_encode_der; -xer_type_decoder_f UserSizeAndBehaviour_decode_xer; -xer_type_encoder_f UserSizeAndBehaviour_encode_xer; -oer_type_decoder_f UserSizeAndBehaviour_decode_oer; -oer_type_encoder_f UserSizeAndBehaviour_encode_oer; -per_type_decoder_f UserSizeAndBehaviour_decode_uper; -per_type_encoder_f UserSizeAndBehaviour_encode_uper; -per_type_decoder_f UserSizeAndBehaviour_decode_aper; -per_type_encoder_f UserSizeAndBehaviour_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _UserSizeAndBehaviour_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VINstring.c b/src/tmx/Asn_J2735/src/r2024/VINstring.c new file mode 100644 index 000000000..653ff237c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VINstring.c @@ -0,0 +1,77 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VINstring.h" + +int +VINstring_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 17UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VINstring_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..17)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VINstring_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 17 } /* (SIZE(1..17)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VINstring_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VINstring = { + "VINstring", + "VINstring", + &asn_OP_OCTET_STRING, + asn_DEF_VINstring_tags_1, + sizeof(asn_DEF_VINstring_tags_1) + /sizeof(asn_DEF_VINstring_tags_1[0]), /* 1 */ + asn_DEF_VINstring_tags_1, /* Same as above */ + sizeof(asn_DEF_VINstring_tags_1) + /sizeof(asn_DEF_VINstring_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VINstring_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VINstring_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VINstring_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VINstring.h b/src/tmx/Asn_J2735/src/r2024/VINstring.h deleted file mode 100644 index d783cdac1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VINstring.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VINstring_H_ -#define _VINstring_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VINstring */ -typedef OCTET_STRING_t VINstring_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VINstring_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VINstring; -asn_struct_free_f VINstring_free; -asn_struct_print_f VINstring_print; -asn_constr_check_f VINstring_constraint; -ber_type_decoder_f VINstring_decode_ber; -der_type_encoder_f VINstring_encode_der; -xer_type_decoder_f VINstring_decode_xer; -xer_type_encoder_f VINstring_encode_xer; -oer_type_decoder_f VINstring_decode_oer; -oer_type_encoder_f VINstring_encode_oer; -per_type_decoder_f VINstring_decode_uper; -per_type_encoder_f VINstring_encode_uper; -per_type_decoder_f VINstring_decode_aper; -per_type_encoder_f VINstring_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VINstring_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ValidManeuvers.c b/src/tmx/Asn_J2735/src/r2024/ValidManeuvers.c new file mode 100644 index 000000000..e2e55a15e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ValidManeuvers.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ValidManeuvers.h" + +int +ValidManeuvers_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ValidManeuvers_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_ValidManeuvers_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ValidManeuvers_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ValidManeuvers = { + "ValidManeuvers", + "ValidManeuvers", + &asn_OP_NativeInteger, + asn_DEF_ValidManeuvers_tags_1, + sizeof(asn_DEF_ValidManeuvers_tags_1) + /sizeof(asn_DEF_ValidManeuvers_tags_1[0]), /* 1 */ + asn_DEF_ValidManeuvers_tags_1, /* Same as above */ + sizeof(asn_DEF_ValidManeuvers_tags_1) + /sizeof(asn_DEF_ValidManeuvers_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ValidManeuvers_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ValidManeuvers_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ValidManeuvers_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ValidManeuvers.h b/src/tmx/Asn_J2735/src/r2024/ValidManeuvers.h deleted file mode 100644 index e8309735a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ValidManeuvers.h +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ValidManeuvers_H_ -#define _ValidManeuvers_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ValidManeuvers { - ValidManeuvers_prohibit_None_Allowed_LU_LT_L45_S_R45_RT_RU = 11264, - ValidManeuvers_prohibit_RU_Allowed_LU_LT_L45_S_R45_RT = 11265, - ValidManeuvers_prohibit_RT_Allowed_LU_LT_L45_S_R45_RU = 11266, - ValidManeuvers_prohibit_RT_RU_Allowed_LU_LT_L45_S_R45 = 11267, - ValidManeuvers_prohibit_R45_Allowed_LU_LT_L45_S_RT_RU = 11268, - ValidManeuvers_prohibit_R45_RU_Allowed_LU_LT_L45_S_RT = 11269, - ValidManeuvers_prohibit_R45_RT_Allowed_LU_LT_L45_S_RU = 11270, - ValidManeuvers_prohibit_R45_RT_RU_Allowed_LU_LT_L45_S = 11271, - ValidManeuvers_prohibit_S_Allowed_LU_LT_L45_R45_RT_RU = 11272, - ValidManeuvers_prohibit_S_RU_Allowed_LU_LT_L45_R45_RT = 11273, - ValidManeuvers_prohibit_S_RT_Allowed_LU_LT_L45_R45_RU = 11274, - ValidManeuvers_prohibit_S_RT_RU_Allowed_LU_LT_L45_R45 = 11275, - ValidManeuvers_prohibit_S_R45_Allowed_LU_LT_L45_RT_RU = 11276, - ValidManeuvers_prohibit_S_R45_RU_Allowed_LU_LT_L45_RT = 11277, - ValidManeuvers_prohibit_S_R45_RT_Allowed_LU_LT_L45_RU = 11278, - ValidManeuvers_prohibit_S_R45_RT_RU_Allowed_LU_LT_L45 = 11279, - ValidManeuvers_prohibit_L45_Allowed_LU_LT_S_R45_RT_RU = 11280, - ValidManeuvers_prohibit_L45_RU_Allowed_LU_LT_S_R45_RT = 11281, - ValidManeuvers_prohibit_L45_RT_Allowed_LU_LT_S_R45_RU = 11282, - ValidManeuvers_prohibit_L45_RT_RU_Allowed_LU_LT_S_R45 = 11283, - ValidManeuvers_prohibit_L45_R45_Allowed_LU_LT_S_RT_RU = 11284, - ValidManeuvers_prohibit_L45_R45_RU_Allowed_LU_LT_S_RT = 11285, - ValidManeuvers_prohibit_L45_R45_RT_Allowed_LU_LT_S_RU = 11286, - ValidManeuvers_prohibit_L45_R45_RT_RU_Allowed_LU_LT_S = 11287, - ValidManeuvers_prohibit_L45_S_Allowed_LU_LT_R45_RT_RU = 11288, - ValidManeuvers_prohibit_L45_S_RU_Allowed_LU_LT_R45_RT = 11289, - ValidManeuvers_prohibit_L45_S_RT_Allowed_LU_LT_R45_RU = 11290, - ValidManeuvers_prohibit_L45_S_RT_RU_Allowed_LU_LT_R45 = 11291, - ValidManeuvers_prohibit_L45_S_R45_Allowed_LU_LT_RT_RU = 11292, - ValidManeuvers_prohibit_L45_S_R45_RU_Allowed_LU_LT_RT = 11293, - ValidManeuvers_prohibit_L45_S_R45_RT_Allowed_LU_LT_RU = 11294, - ValidManeuvers_prohibit_L45_S_R45_RT_RU_Allowed_LU_LT = 11295, - ValidManeuvers_prohibit_LT_Allowed_LU_L45_S_R45_RT_RU = 11296, - ValidManeuvers_prohibit_LT_RU_Allowed_LU_L45_S_R45_RT = 11297, - ValidManeuvers_prohibit_LT_RT_Allowed_LU_L45_S_R45_RU = 11298, - ValidManeuvers_prohibit_LT_RT_RU_Allowed_LU_L45_S_R45 = 11299, - ValidManeuvers_prohibit_LT_R45_Allowed_LU_L45_S_RT_RU = 11300, - ValidManeuvers_prohibit_LT_R45_RU_Allowed_LU_L45_S_RT = 11301, - ValidManeuvers_prohibit_LT_R45_RT_Allowed_LU_L45_S_RU = 11302, - ValidManeuvers_prohibit_LT_R45_RT_RU_Allowed_LU_L45_S = 11303, - ValidManeuvers_prohibit_LT_S_Allowed_LU_L45_R45_RT_RU = 11304, - ValidManeuvers_prohibit_LT_S_RU_Allowed_LU_L45_R45_RT = 11305, - ValidManeuvers_prohibit_LT_S_RT_Allowed_LU_L45_R45_RU = 11306, - ValidManeuvers_prohibit_LT_S_RT_RU_Allowed_LU_L45_R45 = 11307, - ValidManeuvers_prohibit_LT_S_R45_Allowed_LU_L45_RT_RU = 11308, - ValidManeuvers_prohibit_LT_S_R45_RU_Allowed_LU_L45_RT = 11309, - ValidManeuvers_prohibit_LT_S_R45_RT_Allowed_LU_L45_RU = 11310, - ValidManeuvers_prohibit_LT_S_R45_RT_RU_Allowed_LU_L45 = 11311, - ValidManeuvers_prohibit_LT_L45_Allowed_LU_S_R45_RT_RU = 11312, - ValidManeuvers_prohibit_LT_L45_RU_Allowed_LU_S_R45_RT = 11313, - ValidManeuvers_prohibit_LT_L45_RT_Allowed_LU_S_R45_RU = 11314, - ValidManeuvers_prohibit_LT_L45_RT_RU_Allowed_LU_S_R45 = 11315, - ValidManeuvers_prohibit_LT_L45_R45_Allowed_LU_S_RT_RU = 11316, - ValidManeuvers_prohibit_LT_L45_R45_RU_Allowed_LU_S_RT = 11317, - ValidManeuvers_prohibit_LT_L45_R45_RT_Allowed_LU_S_RU = 11318, - ValidManeuvers_prohibit_LT_L45_R45_RT_RU_Allowed_LU_S = 11319, - ValidManeuvers_prohibit_LT_L45_S_Allowed_LU_R45_RT_RU = 11320, - ValidManeuvers_prohibit_LT_L45_S_RU_Allowed_LU_R45_RT = 11321, - ValidManeuvers_prohibit_LT_L45_S_RT_Allowed_LU_R45_RU = 11322, - ValidManeuvers_prohibit_LT_L45_S_RT_RU_Allowed_LU_R45 = 11323, - ValidManeuvers_prohibit_LT_L45_S_R45_Allowed_LU_RT_RU = 11324, - ValidManeuvers_prohibit_LT_L45_S_R45_RU_Allowed_LU_RT = 11325, - ValidManeuvers_prohibit_LT_L45_S_R45_RT_Allowed_LU_RU = 11326, - ValidManeuvers_prohibit_LT_L45_S_R45_RT_RU_Allowed_LU = 11327, - ValidManeuvers_prohibit_LU_Allowed_LT_L45_S_R45_RT_RU = 11328, - ValidManeuvers_prohibit_LU_RU_Allowed_LT_L45_S_R45_RT = 11329, - ValidManeuvers_prohibit_LU_RT_Allowed_LT_L45_S_R45_RU = 11330, - ValidManeuvers_prohibit_LU_RT_RU_Allowed_LT_L45_S_R45 = 11331, - ValidManeuvers_prohibit_LU_R45_Allowed_LT_L45_S_RT_RU = 11332, - ValidManeuvers_prohibit_LU_R45_RU_Allowed_LT_L45_S_RT = 11333, - ValidManeuvers_prohibit_LU_R45_RT_Allowed_LT_L45_S_RU = 11334, - ValidManeuvers_prohibit_LU_R45_RT_RU_Allowed_LT_L45_S = 11335, - ValidManeuvers_prohibit_LU_S_Allowed_LT_L45_R45_RT_RU = 11336, - ValidManeuvers_prohibit_LU_S_RU_Allowed_LT_L45_R45_RT = 11337, - ValidManeuvers_prohibit_LU_S_RT_Allowed_LT_L45_R45_RU = 11338, - ValidManeuvers_prohibit_LU_S_RT_RU_Allowed_LT_L45_R45 = 11339, - ValidManeuvers_prohibit_LU_S_R45_Allowed_LT_L45_RT_RU = 11340, - ValidManeuvers_prohibit_LU_S_R45_RU_Allowed_LT_L45_RT = 11341, - ValidManeuvers_prohibit_LU_S_R45_RT_Allowed_LT_L45_RU = 11342, - ValidManeuvers_prohibit_LU_S_R45_RT_RU_Allowed_LT_L45 = 11343, - ValidManeuvers_prohibit_LU_L45_Allowed_LT_S_R45_RT_RU = 11344, - ValidManeuvers_prohibit_LU_L45_RU_Allowed_LT_S_R45_RT = 11345, - ValidManeuvers_prohibit_LU_L45_RT_Allowed_LT_S_R45_RU = 11346, - ValidManeuvers_prohibit_LU_L45_RT_RU_Allowed_LT_S_R45 = 11347, - ValidManeuvers_prohibit_LU_L45_R45_Allowed_LT_S_RT_RU = 11348, - ValidManeuvers_prohibit_LU_L45_R45_RU_Allowed_LT_S_RT = 11349, - ValidManeuvers_prohibit_LU_L45_R45_RT_Allowed_LT_S_RU = 11350, - ValidManeuvers_prohibit_LU_L45_R45_RT_RU_Allowed_LT_S = 11351, - ValidManeuvers_prohibit_LU_L45_S_Allowed_LT_R45_RT_RU = 11352, - ValidManeuvers_prohibit_LU_L45_S_RU_Allowed_LT_R45_RT = 11353, - ValidManeuvers_prohibit_LU_L45_S_RT_Allowed_LT_R45_RU = 11354, - ValidManeuvers_prohibit_LU_L45_S_RT_RU_Allowed_LT_R45 = 11355, - ValidManeuvers_prohibit_LU_L45_S_R45_Allowed_LT_RT_RU = 11356, - ValidManeuvers_prohibit_LU_L45_S_R45_RU_Allowed_LT_RT = 11357, - ValidManeuvers_prohibit_LU_L45_S_R45_RT_Allowed_LT_RU = 11358, - ValidManeuvers_prohibit_LU_L45_S_R45_RT_RU_Allowed_LT = 11359, - ValidManeuvers_prohibit_LU_LT_Allowed_L45_S_R45_RT_RU = 11360, - ValidManeuvers_prohibit_LU_LT_RU_Allowed_L45_S_R45_RT = 11361, - ValidManeuvers_prohibit_LU_LT_RT_Allowed_L45_S_R45_RU = 11362, - ValidManeuvers_prohibit_LU_LT_RT_RU_Allowed_L45_S_R45 = 11363, - ValidManeuvers_prohibit_LU_LT_R45_Allowed_L45_S_RT_RU = 11364, - ValidManeuvers_prohibit_LU_LT_R45_RU_Allowed_L45_S_RT = 11365, - ValidManeuvers_prohibit_LU_LT_R45_RT_Allowed_L45_S_RU = 11366, - ValidManeuvers_prohibit_LU_LT_R45_RT_RU_Allowed_L45_S = 11367, - ValidManeuvers_prohibit_LU_LT_S_Allowed_L45_R45_RT_RU = 11368, - ValidManeuvers_prohibit_LU_LT_S_RU_Allowed_L45_R45_RT = 11369, - ValidManeuvers_prohibit_LU_LT_S_RT_Allowed_L45_R45_RU = 11370, - ValidManeuvers_prohibit_LU_LT_S_RT_RU_Allowed_L45_R45 = 11371, - ValidManeuvers_prohibit_LU_LT_S_R45_Allowed_L45_RT_RU = 11372, - ValidManeuvers_prohibit_LU_LT_S_R45_RU_Allowed_L45_RT = 11373, - ValidManeuvers_prohibit_LU_LT_S_R45_RT_Allowed_L45_RU = 11374, - ValidManeuvers_prohibit_LU_LT_S_R45_RT_RU_Allowed_L45 = 11375, - ValidManeuvers_prohibit_LU_LT_L45_Allowed_S_R45_RT_RU = 11376, - ValidManeuvers_prohibit_LU_LT_L45_RU_Allowed_S_R45_RT = 11377, - ValidManeuvers_prohibit_LU_LT_L45_RT_Allowed_S_R45_RU = 11378, - ValidManeuvers_prohibit_LU_LT_L45_RT_RU_Allowed_S_R45 = 11379, - ValidManeuvers_prohibit_LU_LT_L45_R45_Allowed_S_RT_RU = 11380, - ValidManeuvers_prohibit_LU_LT_L45_R45_RU_Allowed_S_RT = 11381, - ValidManeuvers_prohibit_LU_LT_L45_R45_RT_Allowed_S_RU = 11382, - ValidManeuvers_prohibit_LU_LT_L45_R45_RT_RU_Allowed_S = 11383, - ValidManeuvers_prohibit_LU_LT_L45_S_Allowed_R45_RT_RU = 11384, - ValidManeuvers_prohibit_LU_LT_L45_S_RU_Allowed_R45_RT = 11385, - ValidManeuvers_prohibit_LU_LT_L45_S_RT_Allowed_R45_RU = 11386, - ValidManeuvers_prohibit_LU_LT_L45_S_RT_RU_Allowed_R45 = 11387, - ValidManeuvers_prohibit_LU_LT_L45_S_R45_Allowed_RT_RU = 11388, - ValidManeuvers_prohibit_LU_LT_L45_S_R45_RU_Allowed_RT = 11389, - ValidManeuvers_prohibit_LU_LT_L45_S_R45_RT_Allowed_RU = 11390, - ValidManeuvers_prohibit_LU_LT_L45_S_R45_RT_RU_Allowed_None = 11391 -} e_ValidManeuvers; - -/* ValidManeuvers */ -typedef long ValidManeuvers_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ValidManeuvers; -asn_struct_free_f ValidManeuvers_free; -asn_struct_print_f ValidManeuvers_print; -asn_constr_check_f ValidManeuvers_constraint; -ber_type_decoder_f ValidManeuvers_decode_ber; -der_type_encoder_f ValidManeuvers_encode_der; -xer_type_decoder_f ValidManeuvers_decode_xer; -xer_type_encoder_f ValidManeuvers_encode_xer; -oer_type_decoder_f ValidManeuvers_decode_oer; -oer_type_encoder_f ValidManeuvers_encode_oer; -per_type_decoder_f ValidManeuvers_decode_uper; -per_type_encoder_f ValidManeuvers_encode_uper; -per_type_decoder_f ValidManeuvers_decode_aper; -per_type_encoder_f ValidManeuvers_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ValidManeuvers_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ValidRegion.c b/src/tmx/Asn_J2735/src/r2024/ValidRegion.c new file mode 100644 index 000000000..9a517e7f5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ValidRegion.c @@ -0,0 +1,207 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ValidRegion.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_area_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_area_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_area_4[] = { + { ATF_NOFLAGS, 0, offsetof(struct ValidRegion__area, choice.shapePointSet), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ShapePointSet, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "shapePointSet" + }, + { ATF_NOFLAGS, 0, offsetof(struct ValidRegion__area, choice.circle), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Circle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "circle" + }, + { ATF_NOFLAGS, 0, offsetof(struct ValidRegion__area, choice.regionPointSet), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RegionPointSet, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regionPointSet" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_area_tag2el_4[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* shapePointSet */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* circle */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* regionPointSet */ +}; +static asn_CHOICE_specifics_t asn_SPC_area_specs_4 = { + sizeof(struct ValidRegion__area), + offsetof(struct ValidRegion__area, _asn_ctx), + offsetof(struct ValidRegion__area, present), + sizeof(((struct ValidRegion__area *)0)->present), + asn_MAP_area_tag2el_4, + 3, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_area_4 = { + "area", + "area", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_area_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_area_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_area_4, + 3, /* Elements count */ + &asn_SPC_area_specs_4 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_ValidRegion_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ValidRegion, direction), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_HeadingSlice, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "direction" + }, + { ATF_POINTER, 1, offsetof(struct ValidRegion, extent), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Extent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "extent" + }, + { ATF_NOFLAGS, 0, offsetof(struct ValidRegion, area), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_area_4, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "area" + }, +}; +static const int asn_MAP_ValidRegion_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_ValidRegion_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ValidRegion_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* direction */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* extent */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* area */ +}; +asn_SEQUENCE_specifics_t asn_SPC_ValidRegion_specs_1 = { + sizeof(struct ValidRegion), + offsetof(struct ValidRegion, _asn_ctx), + asn_MAP_ValidRegion_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_ValidRegion_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ValidRegion = { + "ValidRegion", + "ValidRegion", + &asn_OP_SEQUENCE, + asn_DEF_ValidRegion_tags_1, + sizeof(asn_DEF_ValidRegion_tags_1) + /sizeof(asn_DEF_ValidRegion_tags_1[0]), /* 1 */ + asn_DEF_ValidRegion_tags_1, /* Same as above */ + sizeof(asn_DEF_ValidRegion_tags_1) + /sizeof(asn_DEF_ValidRegion_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ValidRegion_1, + 3, /* Elements count */ + &asn_SPC_ValidRegion_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ValidRegion.h b/src/tmx/Asn_J2735/src/r2024/ValidRegion.h deleted file mode 100644 index 14d43b9cb..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ValidRegion.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ValidRegion_H_ -#define _ValidRegion_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "HeadingSlice.h" -#include "Extent.h" -#include "ShapePointSet.h" -#include "Circle.h" -#include "RegionPointSet.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum ValidRegion__area_PR { - ValidRegion__area_PR_NOTHING, /* No components present */ - ValidRegion__area_PR_shapePointSet, - ValidRegion__area_PR_circle, - ValidRegion__area_PR_regionPointSet -} ValidRegion__area_PR; - -/* ValidRegion */ -typedef struct ValidRegion { - HeadingSlice_t direction; - Extent_t *extent; /* OPTIONAL */ - struct ValidRegion__area { - ValidRegion__area_PR present; - union ValidRegion__area_u { - ShapePointSet_t shapePointSet; - Circle_t circle; - RegionPointSet_t regionPointSet; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } area; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ValidRegion_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ValidRegion; -extern asn_SEQUENCE_specifics_t asn_SPC_ValidRegion_specs_1; -extern asn_TYPE_member_t asn_MBR_ValidRegion_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _ValidRegion_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ValidityOfContract.c b/src/tmx/Asn_J2735/src/r2024/ValidityOfContract.c new file mode 100644 index 000000000..9e1b9d2ae --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ValidityOfContract.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ValidityOfContract.h" + +static int +memb_issuerRestrictions_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_issuerRestrictions_constr_2 CC_NOTUSED = { + { 0, 0 }, + 2 /* (SIZE(2..2)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_issuerRestrictions_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_ValidityOfContract_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ValidityOfContract, issuerRestrictions), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_issuerRestrictions_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_issuerRestrictions_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_issuerRestrictions_constraint_1 + }, + 0, 0, /* No default value */ + "issuerRestrictions" + }, + { ATF_NOFLAGS, 0, offsetof(struct ValidityOfContract, contractExpiryDate), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DateCompact, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "contractExpiryDate" + }, +}; +static const ber_tlv_tag_t asn_DEF_ValidityOfContract_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ValidityOfContract_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* issuerRestrictions */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* contractExpiryDate */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ValidityOfContract_specs_1 = { + sizeof(struct ValidityOfContract), + offsetof(struct ValidityOfContract, _asn_ctx), + asn_MAP_ValidityOfContract_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ValidityOfContract = { + "ValidityOfContract", + "ValidityOfContract", + &asn_OP_SEQUENCE, + asn_DEF_ValidityOfContract_tags_1, + sizeof(asn_DEF_ValidityOfContract_tags_1) + /sizeof(asn_DEF_ValidityOfContract_tags_1[0]), /* 1 */ + asn_DEF_ValidityOfContract_tags_1, /* Same as above */ + sizeof(asn_DEF_ValidityOfContract_tags_1) + /sizeof(asn_DEF_ValidityOfContract_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_ValidityOfContract_1, + 2, /* Elements count */ + &asn_SPC_ValidityOfContract_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ValidityOfContract.h b/src/tmx/Asn_J2735/src/r2024/ValidityOfContract.h deleted file mode 100644 index da1672ead..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ValidityOfContract.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ValidityOfContract_H_ -#define _ValidityOfContract_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" -#include "DateCompact.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ValidityOfContract */ -typedef struct ValidityOfContract { - OCTET_STRING_t issuerRestrictions; - DateCompact_t contractExpiryDate; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} ValidityOfContract_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_ValidityOfContract; - -#ifdef __cplusplus -} -#endif - -#endif /* _ValidityOfContract_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VariationStdDev.c b/src/tmx/Asn_J2735/src/r2024/VariationStdDev.c new file mode 100644 index 000000000..c77d6380e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VariationStdDev.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VariationStdDev.h" + +int +VariationStdDev_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 2500L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VariationStdDev_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..2500) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VariationStdDev_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 2500 } /* (0..2500) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VariationStdDev_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VariationStdDev = { + "VariationStdDev", + "VariationStdDev", + &asn_OP_NativeInteger, + asn_DEF_VariationStdDev_tags_1, + sizeof(asn_DEF_VariationStdDev_tags_1) + /sizeof(asn_DEF_VariationStdDev_tags_1[0]), /* 1 */ + asn_DEF_VariationStdDev_tags_1, /* Same as above */ + sizeof(asn_DEF_VariationStdDev_tags_1) + /sizeof(asn_DEF_VariationStdDev_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VariationStdDev_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VariationStdDev_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VariationStdDev_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VariationStdDev.h b/src/tmx/Asn_J2735/src/r2024/VariationStdDev.h deleted file mode 100644 index 9fb7ee25d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VariationStdDev.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VariationStdDev_H_ -#define _VariationStdDev_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VariationStdDev */ -typedef long VariationStdDev_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VariationStdDev_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VariationStdDev; -asn_struct_free_f VariationStdDev_free; -asn_struct_print_f VariationStdDev_print; -asn_constr_check_f VariationStdDev_constraint; -ber_type_decoder_f VariationStdDev_decode_ber; -der_type_encoder_f VariationStdDev_encode_der; -xer_type_decoder_f VariationStdDev_decode_xer; -xer_type_encoder_f VariationStdDev_encode_xer; -oer_type_decoder_f VariationStdDev_decode_oer; -oer_type_encoder_f VariationStdDev_encode_oer; -per_type_decoder_f VariationStdDev_decode_uper; -per_type_encoder_f VariationStdDev_encode_uper; -per_type_decoder_f VariationStdDev_decode_aper; -per_type_encoder_f VariationStdDev_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VariationStdDev_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehTypeCharges.c b/src/tmx/Asn_J2735/src/r2024/VehTypeCharges.c new file mode 100644 index 000000000..bc1f2b269 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehTypeCharges.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehTypeCharges.h" + +asn_TYPE_member_t asn_MBR_VehTypeCharges_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehTypeCharges, vehType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleTypes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehType" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehTypeCharges, charges), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PaymentFee, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "charges" + }, + { ATF_POINTER, 1, offsetof(struct VehTypeCharges, specialCharges), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpecialCharges, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "specialCharges" + }, +}; +static const int asn_MAP_VehTypeCharges_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_VehTypeCharges_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehTypeCharges_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* charges */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* specialCharges */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehTypeCharges_specs_1 = { + sizeof(struct VehTypeCharges), + offsetof(struct VehTypeCharges, _asn_ctx), + asn_MAP_VehTypeCharges_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_VehTypeCharges_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehTypeCharges = { + "VehTypeCharges", + "VehTypeCharges", + &asn_OP_SEQUENCE, + asn_DEF_VehTypeCharges_tags_1, + sizeof(asn_DEF_VehTypeCharges_tags_1) + /sizeof(asn_DEF_VehTypeCharges_tags_1[0]), /* 1 */ + asn_DEF_VehTypeCharges_tags_1, /* Same as above */ + sizeof(asn_DEF_VehTypeCharges_tags_1) + /sizeof(asn_DEF_VehTypeCharges_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehTypeCharges_1, + 3, /* Elements count */ + &asn_SPC_VehTypeCharges_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehTypeCharges.h b/src/tmx/Asn_J2735/src/r2024/VehTypeCharges.h deleted file mode 100644 index 485d7aeed..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehTypeCharges.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehTypeCharges_H_ -#define _VehTypeCharges_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "VehicleTypes.h" -#include "PaymentFee.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct SpecialCharges; - -/* VehTypeCharges */ -typedef struct VehTypeCharges { - VehicleTypes_t vehType; - PaymentFee_t charges; - struct SpecialCharges *specialCharges; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehTypeCharges_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehTypeCharges; -extern asn_SEQUENCE_specifics_t asn_SPC_VehTypeCharges_specs_1; -extern asn_TYPE_member_t asn_MBR_VehTypeCharges_1[3]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "SpecialCharges.h" - -#endif /* _VehTypeCharges_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehTypeChargesTable.c b/src/tmx/Asn_J2735/src/r2024/VehTypeChargesTable.c new file mode 100644 index 000000000..9366ae056 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehTypeChargesTable.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehTypeChargesTable.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehTypeChargesTable_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehTypeChargesTable_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 13 } /* (SIZE(1..13,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_VehTypeChargesTable_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_VehTypeCharges, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_VehTypeChargesTable_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_VehTypeChargesTable_specs_1 = { + sizeof(struct VehTypeChargesTable), + offsetof(struct VehTypeChargesTable, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_VehTypeChargesTable = { + "VehTypeChargesTable", + "VehTypeChargesTable", + &asn_OP_SEQUENCE_OF, + asn_DEF_VehTypeChargesTable_tags_1, + sizeof(asn_DEF_VehTypeChargesTable_tags_1) + /sizeof(asn_DEF_VehTypeChargesTable_tags_1[0]), /* 1 */ + asn_DEF_VehTypeChargesTable_tags_1, /* Same as above */ + sizeof(asn_DEF_VehTypeChargesTable_tags_1) + /sizeof(asn_DEF_VehTypeChargesTable_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehTypeChargesTable_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehTypeChargesTable_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_VehTypeChargesTable_1, + 1, /* Single element */ + &asn_SPC_VehTypeChargesTable_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehTypeChargesTable.h b/src/tmx/Asn_J2735/src/r2024/VehTypeChargesTable.h deleted file mode 100644 index 596f59a7c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehTypeChargesTable.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehTypeChargesTable_H_ -#define _VehTypeChargesTable_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct VehTypeCharges; - -/* VehTypeChargesTable */ -typedef struct VehTypeChargesTable { - A_SEQUENCE_OF(struct VehTypeCharges) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehTypeChargesTable_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehTypeChargesTable; -extern asn_SET_OF_specifics_t asn_SPC_VehTypeChargesTable_specs_1; -extern asn_TYPE_member_t asn_MBR_VehTypeChargesTable_1[1]; -extern asn_per_constraints_t asn_PER_type_VehTypeChargesTable_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "VehTypeCharges.h" - -#endif /* _VehTypeChargesTable_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleAuthenticator.c b/src/tmx/Asn_J2735/src/r2024/VehicleAuthenticator.c new file mode 100644 index 000000000..124f37cab --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleAuthenticator.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleAuthenticator.h" + +/* + * This type is implemented using OCTET_STRING, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_VehicleAuthenticator_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleAuthenticator = { + "VehicleAuthenticator", + "VehicleAuthenticator", + &asn_OP_OCTET_STRING, + asn_DEF_VehicleAuthenticator_tags_1, + sizeof(asn_DEF_VehicleAuthenticator_tags_1) + /sizeof(asn_DEF_VehicleAuthenticator_tags_1[0]), /* 1 */ + asn_DEF_VehicleAuthenticator_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleAuthenticator_tags_1) + /sizeof(asn_DEF_VehicleAuthenticator_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + OCTET_STRING_constraint + }, + 0, 0, /* No members */ + &asn_SPC_OCTET_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleAuthenticator.h b/src/tmx/Asn_J2735/src/r2024/VehicleAuthenticator.h deleted file mode 100644 index 41d90c532..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleAuthenticator.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleAuthenticator_H_ -#define _VehicleAuthenticator_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleAuthenticator */ -typedef OCTET_STRING_t VehicleAuthenticator_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleAuthenticator; -asn_struct_free_f VehicleAuthenticator_free; -asn_struct_print_f VehicleAuthenticator_print; -asn_constr_check_f VehicleAuthenticator_constraint; -ber_type_decoder_f VehicleAuthenticator_decode_ber; -der_type_encoder_f VehicleAuthenticator_encode_der; -xer_type_decoder_f VehicleAuthenticator_decode_xer; -xer_type_encoder_f VehicleAuthenticator_encode_xer; -oer_type_decoder_f VehicleAuthenticator_decode_oer; -oer_type_encoder_f VehicleAuthenticator_encode_oer; -per_type_decoder_f VehicleAuthenticator_decode_uper; -per_type_encoder_f VehicleAuthenticator_encode_uper; -per_type_decoder_f VehicleAuthenticator_decode_aper; -per_type_encoder_f VehicleAuthenticator_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleAuthenticator_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleAxles.c b/src/tmx/Asn_J2735/src/r2024/VehicleAxles.c new file mode 100644 index 000000000..b801bafd2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleAxles.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleAxles.h" + +asn_TYPE_member_t asn_MBR_VehicleAxles_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleAxles, vehicleFirstAxleHeight), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleFirstAxleHeight" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleAxles, vehicleAxlesNumber), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleAxlesNumber, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleAxlesNumber" + }, +}; +static const ber_tlv_tag_t asn_DEF_VehicleAxles_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleAxles_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicleFirstAxleHeight */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* vehicleAxlesNumber */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleAxles_specs_1 = { + sizeof(struct VehicleAxles), + offsetof(struct VehicleAxles, _asn_ctx), + asn_MAP_VehicleAxles_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleAxles = { + "VehicleAxles", + "VehicleAxles", + &asn_OP_SEQUENCE, + asn_DEF_VehicleAxles_tags_1, + sizeof(asn_DEF_VehicleAxles_tags_1) + /sizeof(asn_DEF_VehicleAxles_tags_1[0]), /* 1 */ + asn_DEF_VehicleAxles_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleAxles_tags_1) + /sizeof(asn_DEF_VehicleAxles_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleAxles_1, + 2, /* Elements count */ + &asn_SPC_VehicleAxles_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleAxles.h b/src/tmx/Asn_J2735/src/r2024/VehicleAxles.h deleted file mode 100644 index 27976525d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleAxles.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleAxles_H_ -#define _VehicleAxles_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int1Unsigned.h" -#include "VehicleAxlesNumber.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleAxles */ -typedef struct VehicleAxles { - Int1Unsigned_t vehicleFirstAxleHeight; - VehicleAxlesNumber_t vehicleAxlesNumber; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleAxles_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleAxles; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleAxles_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleAxles_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleAxles_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleAxlesAndWeightInfo.c b/src/tmx/Asn_J2735/src/r2024/VehicleAxlesAndWeightInfo.c new file mode 100644 index 000000000..23ab22a93 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleAxlesAndWeightInfo.c @@ -0,0 +1,397 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageMessage" + * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleAxlesAndWeightInfo.h" + +static int +memb_NativeInteger_constraint_3(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +static int +memb_vehNumAxles_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 10L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_vehWeightPerAxle_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 10UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_vehTotalWeight_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 16777215L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_Member_constr_4 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_Member_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_vehWeightPerAxle_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_vehWeightPerAxle_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (SIZE(1..10,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_vehWeightUnits_constr_6 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_vehWeightUnits_constr_6 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_vehNumAxles_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_vehNumAxles_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (1..10,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_vehWeightPerAxle_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_vehWeightPerAxle_constr_3 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (SIZE(1..10,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_vehTotalWeight_constr_5 CC_NOTUSED = { + { 4, 1 } /* (0..16777215) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_vehTotalWeight_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 24, -1, 0, 16777215 } /* (0..16777215) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_vehWeightPerAxle_3[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), + 0, + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_Member_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_Member_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_NativeInteger_constraint_3 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_vehWeightPerAxle_tags_3[] = { + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_vehWeightPerAxle_specs_3 = { + sizeof(struct VehicleAxlesAndWeightInfo__vehWeightPerAxle), + offsetof(struct VehicleAxlesAndWeightInfo__vehWeightPerAxle, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_vehWeightPerAxle_3 = { + "vehWeightPerAxle", + "vehWeightPerAxle", + &asn_OP_SEQUENCE_OF, + asn_DEF_vehWeightPerAxle_tags_3, + sizeof(asn_DEF_vehWeightPerAxle_tags_3) + /sizeof(asn_DEF_vehWeightPerAxle_tags_3[0]) - 1, /* 1 */ + asn_DEF_vehWeightPerAxle_tags_3, /* Same as above */ + sizeof(asn_DEF_vehWeightPerAxle_tags_3) + /sizeof(asn_DEF_vehWeightPerAxle_tags_3[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_vehWeightPerAxle_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_vehWeightPerAxle_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_vehWeightPerAxle_3, + 1, /* Single element */ + &asn_SPC_vehWeightPerAxle_specs_3 /* Additional specs */ +}; + +static const asn_INTEGER_enum_map_t asn_MAP_vehWeightUnits_value2enum_6[] = { + { 0, 6, "pounds" }, + { 1, 9, "kilograms" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_vehWeightUnits_enum2value_6[] = { + 1, /* kilograms(1) */ + 0 /* pounds(0) */ + /* This list is extensible */ +}; +static const asn_INTEGER_specifics_t asn_SPC_vehWeightUnits_specs_6 = { + asn_MAP_vehWeightUnits_value2enum_6, /* "tag" => N; sorted by tag */ + asn_MAP_vehWeightUnits_enum2value_6, /* N => "tag"; sorted by N */ + 2, /* Number of elements in the maps */ + 3, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_vehWeightUnits_tags_6[] = { + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_vehWeightUnits_6 = { + "vehWeightUnits", + "vehWeightUnits", + &asn_OP_NativeEnumerated, + asn_DEF_vehWeightUnits_tags_6, + sizeof(asn_DEF_vehWeightUnits_tags_6) + /sizeof(asn_DEF_vehWeightUnits_tags_6[0]) - 1, /* 1 */ + asn_DEF_vehWeightUnits_tags_6, /* Same as above */ + sizeof(asn_DEF_vehWeightUnits_tags_6) + /sizeof(asn_DEF_vehWeightUnits_tags_6[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_vehWeightUnits_constr_6, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_vehWeightUnits_constr_6, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_vehWeightUnits_specs_6 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_VehicleAxlesAndWeightInfo_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleAxlesAndWeightInfo, vehNumAxles), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_vehNumAxles_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_vehNumAxles_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_vehNumAxles_constraint_1 + }, + 0, 0, /* No default value */ + "vehNumAxles" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleAxlesAndWeightInfo, vehWeightPerAxle), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + 0, + &asn_DEF_vehWeightPerAxle_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_vehWeightPerAxle_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_vehWeightPerAxle_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_vehWeightPerAxle_constraint_1 + }, + 0, 0, /* No default value */ + "vehWeightPerAxle" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleAxlesAndWeightInfo, vehTotalWeight), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_vehTotalWeight_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_vehTotalWeight_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_vehTotalWeight_constraint_1 + }, + 0, 0, /* No default value */ + "vehTotalWeight" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleAxlesAndWeightInfo, vehWeightUnits), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_vehWeightUnits_6, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehWeightUnits" + }, +}; +static const ber_tlv_tag_t asn_DEF_VehicleAxlesAndWeightInfo_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleAxlesAndWeightInfo_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehNumAxles */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* vehWeightPerAxle */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* vehTotalWeight */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* vehWeightUnits */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleAxlesAndWeightInfo_specs_1 = { + sizeof(struct VehicleAxlesAndWeightInfo), + offsetof(struct VehicleAxlesAndWeightInfo, _asn_ctx), + asn_MAP_VehicleAxlesAndWeightInfo_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleAxlesAndWeightInfo = { + "VehicleAxlesAndWeightInfo", + "VehicleAxlesAndWeightInfo", + &asn_OP_SEQUENCE, + asn_DEF_VehicleAxlesAndWeightInfo_tags_1, + sizeof(asn_DEF_VehicleAxlesAndWeightInfo_tags_1) + /sizeof(asn_DEF_VehicleAxlesAndWeightInfo_tags_1[0]), /* 1 */ + asn_DEF_VehicleAxlesAndWeightInfo_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleAxlesAndWeightInfo_tags_1) + /sizeof(asn_DEF_VehicleAxlesAndWeightInfo_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleAxlesAndWeightInfo_1, + 4, /* Elements count */ + &asn_SPC_VehicleAxlesAndWeightInfo_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleAxlesAndWeightInfo.h b/src/tmx/Asn_J2735/src/r2024/VehicleAxlesAndWeightInfo.h deleted file mode 100644 index 41a599f2a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleAxlesAndWeightInfo.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageMessage" - * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleAxlesAndWeightInfo_H_ -#define _VehicleAxlesAndWeightInfo_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" -#include "NativeEnumerated.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum VehicleAxlesAndWeightInfo__vehWeightUnits { - VehicleAxlesAndWeightInfo__vehWeightUnits_pounds = 0, - VehicleAxlesAndWeightInfo__vehWeightUnits_kilograms = 1 - /* - * Enumeration is extensible - */ -} e_VehicleAxlesAndWeightInfo__vehWeightUnits; - -/* VehicleAxlesAndWeightInfo */ -typedef struct VehicleAxlesAndWeightInfo { - long vehNumAxles; - struct VehicleAxlesAndWeightInfo__vehWeightPerAxle { - A_SEQUENCE_OF(long) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } vehWeightPerAxle; - long vehTotalWeight; - long vehWeightUnits; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleAxlesAndWeightInfo_t; - -/* Implementation */ -/* extern asn_TYPE_descriptor_t asn_DEF_vehWeightUnits_6; // (Use -fall-defs-global to expose) */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleAxlesAndWeightInfo; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleAxlesAndWeightInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleAxlesAndWeightInfo_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleAxlesAndWeightInfo_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleAxlesNumber.c b/src/tmx/Asn_J2735/src/r2024/VehicleAxlesNumber.c new file mode 100644 index 000000000..31f7d6256 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleAxlesNumber.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleAxlesNumber.h" + +asn_TYPE_member_t asn_MBR_VehicleAxlesNumber_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleAxlesNumber, tyreConfiguration), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TyreConfiguration, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "tyreConfiguration" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleAxlesNumber, numberOfAxles), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NumberOfAxles, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "numberOfAxles" + }, +}; +static const ber_tlv_tag_t asn_DEF_VehicleAxlesNumber_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleAxlesNumber_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* tyreConfiguration */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* numberOfAxles */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleAxlesNumber_specs_1 = { + sizeof(struct VehicleAxlesNumber), + offsetof(struct VehicleAxlesNumber, _asn_ctx), + asn_MAP_VehicleAxlesNumber_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleAxlesNumber = { + "VehicleAxlesNumber", + "VehicleAxlesNumber", + &asn_OP_SEQUENCE, + asn_DEF_VehicleAxlesNumber_tags_1, + sizeof(asn_DEF_VehicleAxlesNumber_tags_1) + /sizeof(asn_DEF_VehicleAxlesNumber_tags_1[0]), /* 1 */ + asn_DEF_VehicleAxlesNumber_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleAxlesNumber_tags_1) + /sizeof(asn_DEF_VehicleAxlesNumber_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleAxlesNumber_1, + 2, /* Elements count */ + &asn_SPC_VehicleAxlesNumber_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleAxlesNumber.h b/src/tmx/Asn_J2735/src/r2024/VehicleAxlesNumber.h deleted file mode 100644 index 4af9695a1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleAxlesNumber.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleAxlesNumber_H_ -#define _VehicleAxlesNumber_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TyreConfiguration.h" -#include "NumberOfAxles.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleAxlesNumber */ -typedef struct VehicleAxlesNumber { - TyreConfiguration_t tyreConfiguration; - NumberOfAxles_t numberOfAxles; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleAxlesNumber_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleAxlesNumber; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleAxlesNumber_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleAxlesNumber_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleAxlesNumber_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleClass.c b/src/tmx/Asn_J2735/src/r2024/VehicleClass.c new file mode 100644 index 000000000..319d64f99 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleClass.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleClass.h" + +int +VehicleClass_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Int1Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleClass_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleClass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VehicleClass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleClass = { + "VehicleClass", + "VehicleClass", + &asn_OP_NativeInteger, + asn_DEF_VehicleClass_tags_1, + sizeof(asn_DEF_VehicleClass_tags_1) + /sizeof(asn_DEF_VehicleClass_tags_1[0]), /* 1 */ + asn_DEF_VehicleClass_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleClass_tags_1) + /sizeof(asn_DEF_VehicleClass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleClass_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleClass_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VehicleClass_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleClass.h b/src/tmx/Asn_J2735/src/r2024/VehicleClass.h deleted file mode 100644 index a164b619d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleClass.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleClass_H_ -#define _VehicleClass_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int1Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleClass */ -typedef Int1Unsigned_t VehicleClass_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VehicleClass_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VehicleClass; -asn_struct_free_f VehicleClass_free; -asn_struct_print_f VehicleClass_print; -asn_constr_check_f VehicleClass_constraint; -ber_type_decoder_f VehicleClass_decode_ber; -der_type_encoder_f VehicleClass_encode_der; -xer_type_decoder_f VehicleClass_decode_xer; -xer_type_encoder_f VehicleClass_encode_xer; -oer_type_decoder_f VehicleClass_decode_oer; -oer_type_encoder_f VehicleClass_encode_oer; -per_type_decoder_f VehicleClass_decode_uper; -per_type_encoder_f VehicleClass_encode_uper; -per_type_decoder_f VehicleClass_decode_aper; -per_type_encoder_f VehicleClass_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleClass_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleClassification.c b/src/tmx/Asn_J2735/src/r2024/VehicleClassification.c new file mode 100644 index 000000000..ffc6b7571 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleClassification.c @@ -0,0 +1,315 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleClassification.h" + +static int +memb_regional_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* Determine the number of elements */ + size = _A_CSEQUENCE_FROM_VOID(sptr)->count; + + if((size >= 1UL && size <= 4UL)) { + /* Perform validation of the inner elements */ + return SEQUENCE_OF_constraint(td, sptr, ctfailcb, app_key); + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_regional_constr_10 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_regional_constr_10 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_regional_constr_10 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..4)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_regional_constr_10 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 2, 2, 1, 4 } /* (SIZE(1..4)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_regional_10[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Reg_VehicleClassification, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_regional_tags_10[] = { + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static asn_SET_OF_specifics_t asn_SPC_regional_specs_10 = { + sizeof(struct VehicleClassification__regional), + offsetof(struct VehicleClassification__regional, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_regional_10 = { + "regional", + "regional", + &asn_OP_SEQUENCE_OF, + asn_DEF_regional_tags_10, + sizeof(asn_DEF_regional_tags_10) + /sizeof(asn_DEF_regional_tags_10[0]) - 1, /* 1 */ + asn_DEF_regional_tags_10, /* Same as above */ + sizeof(asn_DEF_regional_tags_10) + /sizeof(asn_DEF_regional_tags_10[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_regional_constr_10, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_regional_constr_10, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_regional_10, + 1, /* Single element */ + &asn_SPC_regional_specs_10 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_VehicleClassification_1[] = { + { ATF_POINTER, 9, offsetof(struct VehicleClassification, keyType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BasicVehicleClass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "keyType" + }, + { ATF_POINTER, 8, offsetof(struct VehicleClassification, role), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BasicVehicleRole, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "role" + }, + { ATF_POINTER, 7, offsetof(struct VehicleClassification, iso3883), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Iso3833VehicleType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "iso3883" + }, + { ATF_POINTER, 6, offsetof(struct VehicleClassification, hpmsType), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hpmsType" + }, + { ATF_POINTER, 5, offsetof(struct VehicleClassification, vehicleType), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_VehicleGroupAffected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleType" + }, + { ATF_POINTER, 4, offsetof(struct VehicleClassification, responseEquip), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_IncidentResponseEquipment, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "responseEquip" + }, + { ATF_POINTER, 3, offsetof(struct VehicleClassification, responderType), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ResponderGroupAffected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "responderType" + }, + { ATF_POINTER, 2, offsetof(struct VehicleClassification, fuelType), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FuelType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "fuelType" + }, + { ATF_POINTER, 1, offsetof(struct VehicleClassification, regional), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + 0, + &asn_DEF_regional_10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_regional_constr_10, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_regional_constr_10, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_regional_constraint_1 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const int asn_MAP_VehicleClassification_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8 }; +static const ber_tlv_tag_t asn_DEF_VehicleClassification_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleClassification_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* keyType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* role */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* iso3883 */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* hpmsType */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* vehicleType */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* responseEquip */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* responderType */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* fuelType */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 } /* regional */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleClassification_specs_1 = { + sizeof(struct VehicleClassification), + offsetof(struct VehicleClassification, _asn_ctx), + asn_MAP_VehicleClassification_tag2el_1, + 9, /* Count of tags in the map */ + asn_MAP_VehicleClassification_oms_1, /* Optional members */ + 9, 0, /* Root/Additions */ + 9, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleClassification = { + "VehicleClassification", + "VehicleClassification", + &asn_OP_SEQUENCE, + asn_DEF_VehicleClassification_tags_1, + sizeof(asn_DEF_VehicleClassification_tags_1) + /sizeof(asn_DEF_VehicleClassification_tags_1[0]), /* 1 */ + asn_DEF_VehicleClassification_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleClassification_tags_1) + /sizeof(asn_DEF_VehicleClassification_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleClassification_1, + 9, /* Elements count */ + &asn_SPC_VehicleClassification_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleClassification.h b/src/tmx/Asn_J2735/src/r2024/VehicleClassification.h deleted file mode 100644 index 492d1d3a2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleClassification.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleClassification_H_ -#define _VehicleClassification_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BasicVehicleClass.h" -#include "BasicVehicleRole.h" -#include "Iso3833VehicleType.h" -#include "VehicleType.h" -#include "ITIS_VehicleGroupAffected.h" -#include "ITIS_IncidentResponseEquipment.h" -#include "ITIS_ResponderGroupAffected.h" -#include "FuelType.h" -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Reg_VehicleClassification; - -/* VehicleClassification */ -typedef struct VehicleClassification { - BasicVehicleClass_t *keyType; /* OPTIONAL */ - BasicVehicleRole_t *role; /* OPTIONAL */ - Iso3833VehicleType_t *iso3883; /* OPTIONAL */ - VehicleType_t *hpmsType; /* OPTIONAL */ - ITIS_VehicleGroupAffected_t *vehicleType; /* OPTIONAL */ - ITIS_IncidentResponseEquipment_t *responseEquip; /* OPTIONAL */ - ITIS_ResponderGroupAffected_t *responderType; /* OPTIONAL */ - FuelType_t *fuelType; /* OPTIONAL */ - struct VehicleClassification__regional { - A_SEQUENCE_OF(struct Reg_VehicleClassification) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *regional; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleClassification_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleClassification; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleClassification_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleClassification_1[9]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "RegionalExtension.h" - -#endif /* _VehicleClassification_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleCurrentMaxTrainWeight.c b/src/tmx/Asn_J2735/src/r2024/VehicleCurrentMaxTrainWeight.c new file mode 100644 index 000000000..3aca507bc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleCurrentMaxTrainWeight.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleCurrentMaxTrainWeight.h" + +int +VehicleCurrentMaxTrainWeight_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Int2Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleCurrentMaxTrainWeight_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleCurrentMaxTrainWeight_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VehicleCurrentMaxTrainWeight_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleCurrentMaxTrainWeight = { + "VehicleCurrentMaxTrainWeight", + "VehicleCurrentMaxTrainWeight", + &asn_OP_NativeInteger, + asn_DEF_VehicleCurrentMaxTrainWeight_tags_1, + sizeof(asn_DEF_VehicleCurrentMaxTrainWeight_tags_1) + /sizeof(asn_DEF_VehicleCurrentMaxTrainWeight_tags_1[0]), /* 1 */ + asn_DEF_VehicleCurrentMaxTrainWeight_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleCurrentMaxTrainWeight_tags_1) + /sizeof(asn_DEF_VehicleCurrentMaxTrainWeight_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleCurrentMaxTrainWeight_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleCurrentMaxTrainWeight_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VehicleCurrentMaxTrainWeight_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleCurrentMaxTrainWeight.h b/src/tmx/Asn_J2735/src/r2024/VehicleCurrentMaxTrainWeight.h deleted file mode 100644 index f80788e3b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleCurrentMaxTrainWeight.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleCurrentMaxTrainWeight_H_ -#define _VehicleCurrentMaxTrainWeight_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int2Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleCurrentMaxTrainWeight */ -typedef Int2Unsigned_t VehicleCurrentMaxTrainWeight_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VehicleCurrentMaxTrainWeight_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VehicleCurrentMaxTrainWeight; -asn_struct_free_f VehicleCurrentMaxTrainWeight_free; -asn_struct_print_f VehicleCurrentMaxTrainWeight_print; -asn_constr_check_f VehicleCurrentMaxTrainWeight_constraint; -ber_type_decoder_f VehicleCurrentMaxTrainWeight_decode_ber; -der_type_encoder_f VehicleCurrentMaxTrainWeight_encode_der; -xer_type_decoder_f VehicleCurrentMaxTrainWeight_decode_xer; -xer_type_encoder_f VehicleCurrentMaxTrainWeight_encode_xer; -oer_type_decoder_f VehicleCurrentMaxTrainWeight_decode_oer; -oer_type_encoder_f VehicleCurrentMaxTrainWeight_encode_oer; -per_type_decoder_f VehicleCurrentMaxTrainWeight_decode_uper; -per_type_encoder_f VehicleCurrentMaxTrainWeight_encode_uper; -per_type_decoder_f VehicleCurrentMaxTrainWeight_decode_aper; -per_type_encoder_f VehicleCurrentMaxTrainWeight_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleCurrentMaxTrainWeight_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleData.c b/src/tmx/Asn_J2735/src/r2024/VehicleData.c new file mode 100644 index 000000000..afe775484 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleData.c @@ -0,0 +1,231 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleData.h" + +static int +memb_rollAngle_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -90L && value <= 90L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_rollAngle_constr_10 CC_NOTUSED = { + { 1, 0 } /* (-90..90) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_rollAngle_constr_10 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -90, 90 } /* (-90..90) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_VehicleData_1[] = { + { ATF_POINTER, 8, offsetof(struct VehicleData, height), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleHeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "height" + }, + { ATF_POINTER, 7, offsetof(struct VehicleData, bumpers), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BumperHeights, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "bumpers" + }, + { ATF_POINTER, 6, offsetof(struct VehicleData, mass), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleMass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mass" + }, + { ATF_POINTER, 5, offsetof(struct VehicleData, deprecated), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrailerWeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "deprecated" + }, + { ATF_POINTER, 4, offsetof(struct VehicleData, trailerPresent), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trailerPresent" + }, + { ATF_POINTER, 3, offsetof(struct VehicleData, pivotPoint), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PivotPointDescription, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pivotPoint" + }, + { ATF_POINTER, 2, offsetof(struct VehicleData, axles), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Axles, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "axles" + }, + { ATF_POINTER, 1, offsetof(struct VehicleData, rollAngle), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_rollAngle_constr_10, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_rollAngle_constr_10, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_rollAngle_constraint_1 + }, + 0, 0, /* No default value */ + "rollAngle" + }, +}; +static const int asn_MAP_VehicleData_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7 }; +static const ber_tlv_tag_t asn_DEF_VehicleData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* height */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* bumpers */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* mass */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* deprecated */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* trailerPresent */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* pivotPoint */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* axles */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* rollAngle */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleData_specs_1 = { + sizeof(struct VehicleData), + offsetof(struct VehicleData, _asn_ctx), + asn_MAP_VehicleData_tag2el_1, + 8, /* Count of tags in the map */ + asn_MAP_VehicleData_oms_1, /* Optional members */ + 4, 4, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleData = { + "VehicleData", + "VehicleData", + &asn_OP_SEQUENCE, + asn_DEF_VehicleData_tags_1, + sizeof(asn_DEF_VehicleData_tags_1) + /sizeof(asn_DEF_VehicleData_tags_1[0]), /* 1 */ + asn_DEF_VehicleData_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleData_tags_1) + /sizeof(asn_DEF_VehicleData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleData_1, + 8, /* Elements count */ + &asn_SPC_VehicleData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleData.h b/src/tmx/Asn_J2735/src/r2024/VehicleData.h deleted file mode 100644 index f494720c5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleData.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleData_H_ -#define _VehicleData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "VehicleHeight.h" -#include "VehicleMass.h" -#include "TrailerWeight.h" -#include "BOOLEAN.h" -#include "NativeInteger.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct BumperHeights; -struct PivotPointDescription; -struct Axles; - -/* VehicleData */ -typedef struct VehicleData { - VehicleHeight_t *height; /* OPTIONAL */ - struct BumperHeights *bumpers; /* OPTIONAL */ - VehicleMass_t *mass; /* OPTIONAL */ - TrailerWeight_t *deprecated; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - BOOLEAN_t *trailerPresent; /* OPTIONAL */ - struct PivotPointDescription *pivotPoint; /* OPTIONAL */ - struct Axles *axles; /* OPTIONAL */ - long *rollAngle; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleData; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleData_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleData_1[8]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "BumperHeights.h" -#include "PivotPointDescription.h" -#include "Axles.h" - -#endif /* _VehicleData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleDescription.c b/src/tmx/Asn_J2735/src/r2024/VehicleDescription.c new file mode 100644 index 000000000..24b21f764 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleDescription.c @@ -0,0 +1,368 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleDescription.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleDescription_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleDescription_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_VehicleDescription_1[] = { + { ATF_POINTER, 17, offsetof(struct VehicleDescription, vehicleLPNr), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Lpn, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleLPNr" + }, + { ATF_POINTER, 16, offsetof(struct VehicleDescription, axles), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleAxles, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "axles" + }, + { ATF_POINTER, 15, offsetof(struct VehicleDescription, Class), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleClass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "class" + }, + { ATF_POINTER, 14, offsetof(struct VehicleDescription, dimensions), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleDimensions, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dimensions" + }, + { ATF_POINTER, 13, offsetof(struct VehicleDescription, specificCharacteristics), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleSpecificCharacteristics, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "specificCharacteristics" + }, + { ATF_POINTER, 12, offsetof(struct VehicleDescription, ladenWeight), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleWeightLaden, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "ladenWeight" + }, + { ATF_POINTER, 11, offsetof(struct VehicleDescription, weightLimits), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleWeightLimits, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "weightLimits" + }, + { ATF_POINTER, 10, offsetof(struct VehicleDescription, trailerCharacteristics), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrailerCharacteristics, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trailerCharacteristics" + }, + { ATF_POINTER, 9, offsetof(struct VehicleDescription, vehicleCurrentMaxTrainWeight), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleCurrentMaxTrainWeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleCurrentMaxTrainWeight" + }, + { ATF_POINTER, 8, offsetof(struct VehicleDescription, actualNumberOfPassengers), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ActualNumberOfPassengers, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "actualNumberOfPassengers" + }, + { ATF_POINTER, 7, offsetof(struct VehicleDescription, axleWeightLimits), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AxleWeightLimits, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "axleWeightLimits" + }, + { ATF_POINTER, 6, offsetof(struct VehicleDescription, dieselEmissionValues), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DieselEmissionValues, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dieselEmissionValues" + }, + { ATF_POINTER, 5, offsetof(struct VehicleDescription, driverCharacteristics), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DriverCharacteristics, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "driverCharacteristics" + }, + { ATF_POINTER, 4, offsetof(struct VehicleDescription, engineDetails), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EngineDetails, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "engineDetails" + }, + { ATF_POINTER, 3, offsetof(struct VehicleDescription, exhaustEmissionValues), + (ASN_TAG_CLASS_CONTEXT | (14 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ExhaustEmissionValues, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "exhaustEmissionValues" + }, + { ATF_POINTER, 2, offsetof(struct VehicleDescription, passengerCapacity), + (ASN_TAG_CLASS_CONTEXT | (15 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PassengerCapacity, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "passengerCapacity" + }, + { ATF_POINTER, 1, offsetof(struct VehicleDescription, soundLevel), + (ASN_TAG_CLASS_CONTEXT | (16 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SoundLevel, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "soundLevel" + }, +}; +static const int asn_MAP_VehicleDescription_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }; +static const ber_tlv_tag_t asn_DEF_VehicleDescription_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleDescription_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicleLPNr */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* axles */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* class */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* dimensions */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* specificCharacteristics */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* ladenWeight */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* weightLimits */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* trailerCharacteristics */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* vehicleCurrentMaxTrainWeight */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* actualNumberOfPassengers */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* axleWeightLimits */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* dieselEmissionValues */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* driverCharacteristics */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* engineDetails */ + { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* exhaustEmissionValues */ + { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* passengerCapacity */ + { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 } /* soundLevel */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleDescription_specs_1 = { + sizeof(struct VehicleDescription), + offsetof(struct VehicleDescription, _asn_ctx), + asn_MAP_VehicleDescription_tag2el_1, + 17, /* Count of tags in the map */ + asn_MAP_VehicleDescription_oms_1, /* Optional members */ + 17, 0, /* Root/Additions */ + 17, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleDescription = { + "VehicleDescription", + "VehicleDescription", + &asn_OP_SEQUENCE, + asn_DEF_VehicleDescription_tags_1, + sizeof(asn_DEF_VehicleDescription_tags_1) + /sizeof(asn_DEF_VehicleDescription_tags_1[0]), /* 1 */ + asn_DEF_VehicleDescription_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleDescription_tags_1) + /sizeof(asn_DEF_VehicleDescription_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleDescription_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleDescription_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleDescription_1, + 17, /* Elements count */ + &asn_SPC_VehicleDescription_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleDescription.h b/src/tmx/Asn_J2735/src/r2024/VehicleDescription.h deleted file mode 100644 index dcd352b4c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleDescription.h +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleDescription_H_ -#define _VehicleDescription_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "VehicleClass.h" -#include "VehicleWeightLaden.h" -#include "VehicleCurrentMaxTrainWeight.h" -#include "ActualNumberOfPassengers.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct Lpn; -struct VehicleAxles; -struct VehicleDimensions; -struct VehicleSpecificCharacteristics; -struct VehicleWeightLimits; -struct TrailerCharacteristics; -struct AxleWeightLimits; -struct DieselEmissionValues; -struct DriverCharacteristics; -struct EngineDetails; -struct ExhaustEmissionValues; -struct PassengerCapacity; -struct SoundLevel; - -/* VehicleDescription */ -typedef struct VehicleDescription { - struct Lpn *vehicleLPNr; /* OPTIONAL */ - struct VehicleAxles *axles; /* OPTIONAL */ - VehicleClass_t *Class; /* OPTIONAL */ - struct VehicleDimensions *dimensions; /* OPTIONAL */ - struct VehicleSpecificCharacteristics *specificCharacteristics; /* OPTIONAL */ - VehicleWeightLaden_t *ladenWeight; /* OPTIONAL */ - struct VehicleWeightLimits *weightLimits; /* OPTIONAL */ - struct TrailerCharacteristics *trailerCharacteristics; /* OPTIONAL */ - VehicleCurrentMaxTrainWeight_t *vehicleCurrentMaxTrainWeight; /* OPTIONAL */ - ActualNumberOfPassengers_t *actualNumberOfPassengers; /* OPTIONAL */ - struct AxleWeightLimits *axleWeightLimits; /* OPTIONAL */ - struct DieselEmissionValues *dieselEmissionValues; /* OPTIONAL */ - struct DriverCharacteristics *driverCharacteristics; /* OPTIONAL */ - struct EngineDetails *engineDetails; /* OPTIONAL */ - struct ExhaustEmissionValues *exhaustEmissionValues; /* OPTIONAL */ - struct PassengerCapacity *passengerCapacity; /* OPTIONAL */ - struct SoundLevel *soundLevel; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleDescription_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleDescription; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleDescription_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleDescription_1[17]; -extern asn_per_constraints_t asn_PER_type_VehicleDescription_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "Lpn.h" -#include "VehicleAxles.h" -#include "VehicleDimensions.h" -#include "VehicleSpecificCharacteristics.h" -#include "VehicleWeightLimits.h" -#include "TrailerCharacteristics.h" -#include "AxleWeightLimits.h" -#include "DieselEmissionValues.h" -#include "DriverCharacteristics.h" -#include "EngineDetails.h" -#include "ExhaustEmissionValues.h" -#include "PassengerCapacity.h" -#include "SoundLevel.h" - -#endif /* _VehicleDescription_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleDimensions.c b/src/tmx/Asn_J2735/src/r2024/VehicleDimensions.c new file mode 100644 index 000000000..5c175bcc5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleDimensions.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleDimensions.h" + +asn_TYPE_member_t asn_MBR_VehicleDimensions_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleDimensions, vehicleLengthOverall), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleLengthOverall" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleDimensions, vehicleHeigthOverall), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleHeigthOverall" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleDimensions, vehicleWidthOverall), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int1Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleWidthOverall" + }, +}; +static const ber_tlv_tag_t asn_DEF_VehicleDimensions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleDimensions_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicleLengthOverall */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* vehicleHeigthOverall */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* vehicleWidthOverall */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleDimensions_specs_1 = { + sizeof(struct VehicleDimensions), + offsetof(struct VehicleDimensions, _asn_ctx), + asn_MAP_VehicleDimensions_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleDimensions = { + "VehicleDimensions", + "VehicleDimensions", + &asn_OP_SEQUENCE, + asn_DEF_VehicleDimensions_tags_1, + sizeof(asn_DEF_VehicleDimensions_tags_1) + /sizeof(asn_DEF_VehicleDimensions_tags_1[0]), /* 1 */ + asn_DEF_VehicleDimensions_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleDimensions_tags_1) + /sizeof(asn_DEF_VehicleDimensions_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleDimensions_1, + 3, /* Elements count */ + &asn_SPC_VehicleDimensions_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleDimensions.h b/src/tmx/Asn_J2735/src/r2024/VehicleDimensions.h deleted file mode 100644 index 7b06a5d51..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleDimensions.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleDimensions_H_ -#define _VehicleDimensions_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int1Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleDimensions */ -typedef struct VehicleDimensions { - Int1Unsigned_t vehicleLengthOverall; - Int1Unsigned_t vehicleHeigthOverall; - Int1Unsigned_t vehicleWidthOverall; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleDimensions_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleDimensions; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleDimensions_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleDimensions_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleDimensions_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleEventFlags.c b/src/tmx/Asn_J2735/src/r2024/VehicleEventFlags.c new file mode 100644 index 000000000..62c8af751 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleEventFlags.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleEventFlags.h" + +int +VehicleEventFlags_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size >= 13UL && size <= 14UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleEventFlags_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleEventFlags_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 13, 14 } /* (SIZE(13..14,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VehicleEventFlags_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleEventFlags = { + "VehicleEventFlags", + "VehicleEventFlags", + &asn_OP_BIT_STRING, + asn_DEF_VehicleEventFlags_tags_1, + sizeof(asn_DEF_VehicleEventFlags_tags_1) + /sizeof(asn_DEF_VehicleEventFlags_tags_1[0]), /* 1 */ + asn_DEF_VehicleEventFlags_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleEventFlags_tags_1) + /sizeof(asn_DEF_VehicleEventFlags_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleEventFlags_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleEventFlags_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VehicleEventFlags_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleEventFlags.h b/src/tmx/Asn_J2735/src/r2024/VehicleEventFlags.h deleted file mode 100644 index b3d400316..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleEventFlags.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleEventFlags_H_ -#define _VehicleEventFlags_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum VehicleEventFlags { - VehicleEventFlags_eventHazardLights = 0, - VehicleEventFlags_eventStopLineViolation = 1, - VehicleEventFlags_eventABSactivated = 2, - VehicleEventFlags_eventTractionControlLoss = 3, - VehicleEventFlags_eventStabilityControlactivated = 4, - VehicleEventFlags_eventHazardousMaterials = 5, - VehicleEventFlags_eventReserved1 = 6, - VehicleEventFlags_eventHardBraking = 7, - VehicleEventFlags_eventLightsChanged = 8, - VehicleEventFlags_eventWipersChanged = 9, - VehicleEventFlags_eventFlatTire = 10, - VehicleEventFlags_eventDisabledVehicle = 11, - VehicleEventFlags_eventAirBagDeployment = 12, - VehicleEventFlags_eventJackKnife = 13 -} e_VehicleEventFlags; - -/* VehicleEventFlags */ -typedef BIT_STRING_t VehicleEventFlags_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VehicleEventFlags_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VehicleEventFlags; -asn_struct_free_f VehicleEventFlags_free; -asn_struct_print_f VehicleEventFlags_print; -asn_constr_check_f VehicleEventFlags_constraint; -ber_type_decoder_f VehicleEventFlags_decode_ber; -der_type_encoder_f VehicleEventFlags_encode_der; -xer_type_decoder_f VehicleEventFlags_decode_xer; -xer_type_encoder_f VehicleEventFlags_encode_xer; -oer_type_decoder_f VehicleEventFlags_decode_oer; -oer_type_encoder_f VehicleEventFlags_encode_oer; -per_type_decoder_f VehicleEventFlags_decode_uper; -per_type_encoder_f VehicleEventFlags_encode_uper; -per_type_decoder_f VehicleEventFlags_decode_aper; -per_type_encoder_f VehicleEventFlags_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleEventFlags_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleHeight.c b/src/tmx/Asn_J2735/src/r2024/VehicleHeight.c new file mode 100644 index 000000000..35f12f6a3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleHeight.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleHeight.h" + +int +VehicleHeight_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleHeight_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleHeight_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VehicleHeight_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleHeight = { + "VehicleHeight", + "VehicleHeight", + &asn_OP_NativeInteger, + asn_DEF_VehicleHeight_tags_1, + sizeof(asn_DEF_VehicleHeight_tags_1) + /sizeof(asn_DEF_VehicleHeight_tags_1[0]), /* 1 */ + asn_DEF_VehicleHeight_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleHeight_tags_1) + /sizeof(asn_DEF_VehicleHeight_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleHeight_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleHeight_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VehicleHeight_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleHeight.h b/src/tmx/Asn_J2735/src/r2024/VehicleHeight.h deleted file mode 100644 index a08b65b0f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleHeight.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleHeight_H_ -#define _VehicleHeight_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleHeight */ -typedef long VehicleHeight_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VehicleHeight_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VehicleHeight; -asn_struct_free_f VehicleHeight_free; -asn_struct_print_f VehicleHeight_print; -asn_constr_check_f VehicleHeight_constraint; -ber_type_decoder_f VehicleHeight_decode_ber; -der_type_encoder_f VehicleHeight_encode_der; -xer_type_decoder_f VehicleHeight_decode_xer; -xer_type_encoder_f VehicleHeight_encode_xer; -oer_type_decoder_f VehicleHeight_decode_oer; -oer_type_encoder_f VehicleHeight_encode_oer; -per_type_decoder_f VehicleHeight_decode_uper; -per_type_encoder_f VehicleHeight_encode_uper; -per_type_decoder_f VehicleHeight_decode_aper; -per_type_encoder_f VehicleHeight_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleHeight_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleID.c b/src/tmx/Asn_J2735/src/r2024/VehicleID.c new file mode 100644 index 000000000..2d7e783b8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleID.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleID.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleID_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleID_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_VehicleID_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleID, choice.entityID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TemporaryID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "entityID" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleID, choice.stationID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_StationID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "stationID" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleID_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* entityID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* stationID */ +}; +asn_CHOICE_specifics_t asn_SPC_VehicleID_specs_1 = { + sizeof(struct VehicleID), + offsetof(struct VehicleID, _asn_ctx), + offsetof(struct VehicleID, present), + sizeof(((struct VehicleID *)0)->present), + asn_MAP_VehicleID_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleID = { + "VehicleID", + "VehicleID", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleID_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleID_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_VehicleID_1, + 2, /* Elements count */ + &asn_SPC_VehicleID_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleID.h b/src/tmx/Asn_J2735/src/r2024/VehicleID.h deleted file mode 100644 index d034e5e49..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleID.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleID_H_ -#define _VehicleID_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TemporaryID.h" -#include "StationID.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum VehicleID_PR { - VehicleID_PR_NOTHING, /* No components present */ - VehicleID_PR_entityID, - VehicleID_PR_stationID -} VehicleID_PR; - -/* VehicleID */ -typedef struct VehicleID { - VehicleID_PR present; - union VehicleID_u { - TemporaryID_t entityID; - StationID_t stationID; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleID_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleID; -extern asn_CHOICE_specifics_t asn_SPC_VehicleID_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleID_1[2]; -extern asn_per_constraints_t asn_PER_type_VehicleID_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleID_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleId.c b/src/tmx/Asn_J2735/src/r2024/VehicleId.c new file mode 100644 index 000000000..951e51b3b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleId.c @@ -0,0 +1,334 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollUsageMessage" + * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleId.h" + +static int check_permitted_alphabet_3(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +static int check_permitted_alphabet_4(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +static int check_permitted_alphabet_5(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +static int +memb_vehicleIdentity_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 16UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_licPlateState_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size == 2UL) + && !check_permitted_alphabet_3(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_licPlateNumVeh_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 12UL) + && !check_permitted_alphabet_4(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_licPlateNumTrailer_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 12UL) + && !check_permitted_alphabet_5(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_vehicleIdentity_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_vehicleIdentity_constr_2 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 0, 0, 16, 16 } /* (SIZE(16..16,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_licPlateState_constr_3 CC_NOTUSED = { + { 0, 0 }, + 2 /* (SIZE(2..2)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_licPlateState_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 0, 0, 2, 2 } /* (SIZE(2..2)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_licPlateNumVeh_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_licPlateNumVeh_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 12 } /* (SIZE(1..12,...)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_licPlateNumTrailer_constr_5 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_licPlateNumTrailer_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 12 } /* (SIZE(1..12,...)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_VehicleId_1[] = { + { ATF_POINTER, 5, offsetof(struct VehicleId, vehicleIdentity), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_OCTET_STRING, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_vehicleIdentity_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_vehicleIdentity_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_vehicleIdentity_constraint_1 + }, + 0, 0, /* No default value */ + "vehicleIdentity" + }, + { ATF_POINTER, 4, offsetof(struct VehicleId, licPlateState), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_licPlateState_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_licPlateState_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_licPlateState_constraint_1 + }, + 0, 0, /* No default value */ + "licPlateState" + }, + { ATF_POINTER, 3, offsetof(struct VehicleId, licPlateNumVeh), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_licPlateNumVeh_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_licPlateNumVeh_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_licPlateNumVeh_constraint_1 + }, + 0, 0, /* No default value */ + "licPlateNumVeh" + }, + { ATF_POINTER, 2, offsetof(struct VehicleId, licPlateNumTrailer), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_licPlateNumTrailer_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_licPlateNumTrailer_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_licPlateNumTrailer_constraint_1 + }, + 0, 0, /* No default value */ + "licPlateNumTrailer" + }, + { ATF_POINTER, 1, offsetof(struct VehicleId, userId), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_UserId, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "userId" + }, +}; +static const int asn_MAP_VehicleId_oms_1[] = { 0, 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_VehicleId_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleId_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicleIdentity */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* licPlateState */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* licPlateNumVeh */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* licPlateNumTrailer */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* userId */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleId_specs_1 = { + sizeof(struct VehicleId), + offsetof(struct VehicleId, _asn_ctx), + asn_MAP_VehicleId_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_VehicleId_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleId = { + "VehicleId", + "VehicleId", + &asn_OP_SEQUENCE, + asn_DEF_VehicleId_tags_1, + sizeof(asn_DEF_VehicleId_tags_1) + /sizeof(asn_DEF_VehicleId_tags_1[0]), /* 1 */ + asn_DEF_VehicleId_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleId_tags_1) + /sizeof(asn_DEF_VehicleId_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleId_1, + 5, /* Elements count */ + &asn_SPC_VehicleId_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleId.h b/src/tmx/Asn_J2735/src/r2024/VehicleId.h deleted file mode 100644 index 7817757df..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleId.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollUsageMessage" - * found in "J3217-TollUsageMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleId_H_ -#define _VehicleId_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "OCTET_STRING.h" -#include "IA5String.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct UserId; - -/* VehicleId */ -typedef struct VehicleId { - OCTET_STRING_t *vehicleIdentity; /* OPTIONAL */ - IA5String_t *licPlateState; /* OPTIONAL */ - IA5String_t *licPlateNumVeh; /* OPTIONAL */ - IA5String_t *licPlateNumTrailer; /* OPTIONAL */ - struct UserId *userId; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleId_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleId; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleId_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleId_1[5]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "UserId.h" - -#endif /* _VehicleId_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleIdent.c b/src/tmx/Asn_J2735/src/r2024/VehicleIdent.c new file mode 100644 index 000000000..728cd5435 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleIdent.c @@ -0,0 +1,313 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleIdent.h" + +static int check_permitted_alphabet_4(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +static int +memb_ownerCode_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 32UL) + && !check_permitted_alphabet_4(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_vehicleClass_constr_7 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_vehicleClass_constr_7 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 2 } /* (0..2) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_ownerCode_constr_4 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_ownerCode_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_vehicleClass_7[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleIdent__vehicleClass, choice.vGroup), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_VehicleGroupAffected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vGroup" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleIdent__vehicleClass, choice.rGroup), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ResponderGroupAffected, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rGroup" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleIdent__vehicleClass, choice.rEquip), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_IncidentResponseEquipment, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rEquip" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_vehicleClass_tag2el_7[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vGroup */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rGroup */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* rEquip */ +}; +static asn_CHOICE_specifics_t asn_SPC_vehicleClass_specs_7 = { + sizeof(struct VehicleIdent__vehicleClass), + offsetof(struct VehicleIdent__vehicleClass, _asn_ctx), + offsetof(struct VehicleIdent__vehicleClass, present), + sizeof(((struct VehicleIdent__vehicleClass *)0)->present), + asn_MAP_vehicleClass_tag2el_7, + 3, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_vehicleClass_7 = { + "vehicleClass", + "vehicleClass", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_vehicleClass_constr_7, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_vehicleClass_constr_7, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_vehicleClass_7, + 3, /* Elements count */ + &asn_SPC_vehicleClass_specs_7 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_VehicleIdent_1[] = { + { ATF_POINTER, 6, offsetof(struct VehicleIdent, name), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveName, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "name" + }, + { ATF_POINTER, 5, offsetof(struct VehicleIdent, vin), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VINstring, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vin" + }, + { ATF_POINTER, 4, offsetof(struct VehicleIdent, ownerCode), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_ownerCode_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_ownerCode_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_ownerCode_constraint_1 + }, + 0, 0, /* No default value */ + "ownerCode" + }, + { ATF_POINTER, 3, offsetof(struct VehicleIdent, id), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_VehicleID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "id" + }, + { ATF_POINTER, 2, offsetof(struct VehicleIdent, vehicleType), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleType" + }, + { ATF_POINTER, 1, offsetof(struct VehicleIdent, vehicleClass), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_vehicleClass_7, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleClass" + }, +}; +static const int asn_MAP_VehicleIdent_oms_1[] = { 0, 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_VehicleIdent_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleIdent_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* name */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* vin */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* ownerCode */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* id */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* vehicleType */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* vehicleClass */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleIdent_specs_1 = { + sizeof(struct VehicleIdent), + offsetof(struct VehicleIdent, _asn_ctx), + asn_MAP_VehicleIdent_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_VehicleIdent_oms_1, /* Optional members */ + 6, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleIdent = { + "VehicleIdent", + "VehicleIdent", + &asn_OP_SEQUENCE, + asn_DEF_VehicleIdent_tags_1, + sizeof(asn_DEF_VehicleIdent_tags_1) + /sizeof(asn_DEF_VehicleIdent_tags_1[0]), /* 1 */ + asn_DEF_VehicleIdent_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleIdent_tags_1) + /sizeof(asn_DEF_VehicleIdent_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleIdent_1, + 6, /* Elements count */ + &asn_SPC_VehicleIdent_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleIdent.h b/src/tmx/Asn_J2735/src/r2024/VehicleIdent.h deleted file mode 100644 index f8c95dd00..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleIdent.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleIdent_H_ -#define _VehicleIdent_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "DescriptiveName.h" -#include "VINstring.h" -#include "IA5String.h" -#include "VehicleType.h" -#include "ITIS_VehicleGroupAffected.h" -#include "ITIS_ResponderGroupAffected.h" -#include "ITIS_IncidentResponseEquipment.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum VehicleIdent__vehicleClass_PR { - VehicleIdent__vehicleClass_PR_NOTHING, /* No components present */ - VehicleIdent__vehicleClass_PR_vGroup, - VehicleIdent__vehicleClass_PR_rGroup, - VehicleIdent__vehicleClass_PR_rEquip -} VehicleIdent__vehicleClass_PR; - -/* Forward declarations */ -struct VehicleID; - -/* VehicleIdent */ -typedef struct VehicleIdent { - DescriptiveName_t *name; /* OPTIONAL */ - VINstring_t *vin; /* OPTIONAL */ - IA5String_t *ownerCode; /* OPTIONAL */ - struct VehicleID *id; /* OPTIONAL */ - VehicleType_t *vehicleType; /* OPTIONAL */ - struct VehicleIdent__vehicleClass { - VehicleIdent__vehicleClass_PR present; - union VehicleIdent__vehicleClass_u { - ITIS_VehicleGroupAffected_t vGroup; - ITIS_ResponderGroupAffected_t rGroup; - ITIS_IncidentResponseEquipment_t rEquip; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *vehicleClass; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleIdent_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleIdent; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleIdent_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleIdent_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "VehicleID.h" - -#endif /* _VehicleIdent_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleLength.c b/src/tmx/Asn_J2735/src/r2024/VehicleLength.c new file mode 100644 index 000000000..386f5e4ac --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleLength.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleLength.h" + +int +VehicleLength_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 4095L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleLength_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..4095) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleLength_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, 0, 4095 } /* (0..4095) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VehicleLength_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleLength = { + "VehicleLength", + "VehicleLength", + &asn_OP_NativeInteger, + asn_DEF_VehicleLength_tags_1, + sizeof(asn_DEF_VehicleLength_tags_1) + /sizeof(asn_DEF_VehicleLength_tags_1[0]), /* 1 */ + asn_DEF_VehicleLength_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleLength_tags_1) + /sizeof(asn_DEF_VehicleLength_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleLength_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleLength_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VehicleLength_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleLength.h b/src/tmx/Asn_J2735/src/r2024/VehicleLength.h deleted file mode 100644 index e32824ac4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleLength.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleLength_H_ -#define _VehicleLength_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleLength */ -typedef long VehicleLength_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VehicleLength_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VehicleLength; -asn_struct_free_f VehicleLength_free; -asn_struct_print_f VehicleLength_print; -asn_constr_check_f VehicleLength_constraint; -ber_type_decoder_f VehicleLength_decode_ber; -der_type_encoder_f VehicleLength_encode_der; -xer_type_decoder_f VehicleLength_decode_xer; -xer_type_encoder_f VehicleLength_encode_xer; -oer_type_decoder_f VehicleLength_decode_oer; -oer_type_encoder_f VehicleLength_encode_oer; -per_type_decoder_f VehicleLength_decode_uper; -per_type_encoder_f VehicleLength_encode_uper; -per_type_decoder_f VehicleLength_decode_aper; -per_type_encoder_f VehicleLength_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleLength_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleMass.c b/src/tmx/Asn_J2735/src/r2024/VehicleMass.c new file mode 100644 index 000000000..84a91c827 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleMass.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleMass.h" + +int +VehicleMass_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleMass_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleMass_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, 0, 255 } /* (0..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VehicleMass_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleMass = { + "VehicleMass", + "VehicleMass", + &asn_OP_NativeInteger, + asn_DEF_VehicleMass_tags_1, + sizeof(asn_DEF_VehicleMass_tags_1) + /sizeof(asn_DEF_VehicleMass_tags_1[0]), /* 1 */ + asn_DEF_VehicleMass_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleMass_tags_1) + /sizeof(asn_DEF_VehicleMass_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleMass_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleMass_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VehicleMass_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleMass.h b/src/tmx/Asn_J2735/src/r2024/VehicleMass.h deleted file mode 100644 index 26294ed18..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleMass.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleMass_H_ -#define _VehicleMass_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleMass */ -typedef long VehicleMass_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VehicleMass_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VehicleMass; -asn_struct_free_f VehicleMass_free; -asn_struct_print_f VehicleMass_print; -asn_constr_check_f VehicleMass_constraint; -ber_type_decoder_f VehicleMass_decode_ber; -der_type_encoder_f VehicleMass_encode_der; -xer_type_decoder_f VehicleMass_decode_xer; -xer_type_encoder_f VehicleMass_encode_xer; -oer_type_decoder_f VehicleMass_decode_oer; -oer_type_encoder_f VehicleMass_encode_oer; -per_type_decoder_f VehicleMass_decode_uper; -per_type_encoder_f VehicleMass_encode_uper; -per_type_decoder_f VehicleMass_decode_aper; -per_type_encoder_f VehicleMass_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleMass_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleReport.c b/src/tmx/Asn_J2735/src/r2024/VehicleReport.c new file mode 100644 index 000000000..7189311ed --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleReport.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleReport.h" + +asn_TYPE_member_t asn_MBR_VehicleReport_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleReport, snapShot), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SnapShot, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "snapShot" + }, + { ATF_POINTER, 1, offsetof(struct VehicleReport, wdmsFleetData), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WDMSFleetData, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wdmsFleetData" + }, +}; +static const int asn_MAP_VehicleReport_oms_1[] = { 1 }; +static const ber_tlv_tag_t asn_DEF_VehicleReport_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleReport_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* snapShot */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* wdmsFleetData */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleReport_specs_1 = { + sizeof(struct VehicleReport), + offsetof(struct VehicleReport, _asn_ctx), + asn_MAP_VehicleReport_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_VehicleReport_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleReport = { + "VehicleReport", + "VehicleReport", + &asn_OP_SEQUENCE, + asn_DEF_VehicleReport_tags_1, + sizeof(asn_DEF_VehicleReport_tags_1) + /sizeof(asn_DEF_VehicleReport_tags_1[0]), /* 1 */ + asn_DEF_VehicleReport_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleReport_tags_1) + /sizeof(asn_DEF_VehicleReport_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleReport_1, + 2, /* Elements count */ + &asn_SPC_VehicleReport_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleReport.h b/src/tmx/Asn_J2735/src/r2024/VehicleReport.h deleted file mode 100644 index 8a7aaac28..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleReport.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleReport_H_ -#define _VehicleReport_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SnapShot.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct WDMSFleetData; - -/* VehicleReport */ -typedef struct VehicleReport { - SnapShot_t snapShot; - struct WDMSFleetData *wdmsFleetData; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleReport_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleReport; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleReport_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleReport_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "WDMSFleetData.h" - -#endif /* _VehicleReport_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleSafetyExtensions.c b/src/tmx/Asn_J2735/src/r2024/VehicleSafetyExtensions.c new file mode 100644 index 000000000..9126eb7f6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleSafetyExtensions.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleSafetyExtensions.h" + +asn_TYPE_member_t asn_MBR_VehicleSafetyExtensions_1[] = { + { ATF_POINTER, 6, offsetof(struct VehicleSafetyExtensions, events), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleEventFlags, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "events" + }, + { ATF_POINTER, 5, offsetof(struct VehicleSafetyExtensions, pathHistory), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PathHistory, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pathHistory" + }, + { ATF_POINTER, 4, offsetof(struct VehicleSafetyExtensions, pathPrediction), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PathPrediction, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pathPrediction" + }, + { ATF_POINTER, 3, offsetof(struct VehicleSafetyExtensions, lights), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ExteriorLights, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lights" + }, + { ATF_POINTER, 2, offsetof(struct VehicleSafetyExtensions, timestamp), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "timestamp" + }, + { ATF_POINTER, 1, offsetof(struct VehicleSafetyExtensions, height), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleHeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "height" + }, +}; +static const int asn_MAP_VehicleSafetyExtensions_oms_1[] = { 0, 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_VehicleSafetyExtensions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleSafetyExtensions_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* events */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* pathHistory */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* pathPrediction */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* lights */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* timestamp */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* height */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleSafetyExtensions_specs_1 = { + sizeof(struct VehicleSafetyExtensions), + offsetof(struct VehicleSafetyExtensions, _asn_ctx), + asn_MAP_VehicleSafetyExtensions_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_VehicleSafetyExtensions_oms_1, /* Optional members */ + 4, 2, /* Root/Additions */ + 4, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleSafetyExtensions = { + "VehicleSafetyExtensions", + "VehicleSafetyExtensions", + &asn_OP_SEQUENCE, + asn_DEF_VehicleSafetyExtensions_tags_1, + sizeof(asn_DEF_VehicleSafetyExtensions_tags_1) + /sizeof(asn_DEF_VehicleSafetyExtensions_tags_1[0]), /* 1 */ + asn_DEF_VehicleSafetyExtensions_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleSafetyExtensions_tags_1) + /sizeof(asn_DEF_VehicleSafetyExtensions_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleSafetyExtensions_1, + 6, /* Elements count */ + &asn_SPC_VehicleSafetyExtensions_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleSafetyExtensions.h b/src/tmx/Asn_J2735/src/r2024/VehicleSafetyExtensions.h deleted file mode 100644 index 8a229b1e5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleSafetyExtensions.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleSafetyExtensions_H_ -#define _VehicleSafetyExtensions_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "VehicleEventFlags.h" -#include "ExteriorLights.h" -#include "VehicleHeight.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct PathHistory; -struct PathPrediction; -struct DDateTime; - -/* VehicleSafetyExtensions */ -typedef struct VehicleSafetyExtensions { - VehicleEventFlags_t *events; /* OPTIONAL */ - struct PathHistory *pathHistory; /* OPTIONAL */ - struct PathPrediction *pathPrediction; /* OPTIONAL */ - ExteriorLights_t *lights; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - struct DDateTime *timestamp; /* OPTIONAL */ - VehicleHeight_t *height; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleSafetyExtensions_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleSafetyExtensions; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleSafetyExtensions_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleSafetyExtensions_1[6]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "PathHistory.h" -#include "PathPrediction.h" -#include "DDateTime.h" - -#endif /* _VehicleSafetyExtensions_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleSize.c b/src/tmx/Asn_J2735/src/r2024/VehicleSize.c new file mode 100644 index 000000000..570becded --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleSize.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleSize.h" + +asn_TYPE_member_t asn_MBR_VehicleSize_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleSize, width), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleWidth, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "width" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleSize, length), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleLength, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "length" + }, +}; +static const ber_tlv_tag_t asn_DEF_VehicleSize_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleSize_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* width */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* length */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleSize_specs_1 = { + sizeof(struct VehicleSize), + offsetof(struct VehicleSize, _asn_ctx), + asn_MAP_VehicleSize_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleSize = { + "VehicleSize", + "VehicleSize", + &asn_OP_SEQUENCE, + asn_DEF_VehicleSize_tags_1, + sizeof(asn_DEF_VehicleSize_tags_1) + /sizeof(asn_DEF_VehicleSize_tags_1[0]), /* 1 */ + asn_DEF_VehicleSize_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleSize_tags_1) + /sizeof(asn_DEF_VehicleSize_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleSize_1, + 2, /* Elements count */ + &asn_SPC_VehicleSize_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleSize.h b/src/tmx/Asn_J2735/src/r2024/VehicleSize.h deleted file mode 100644 index d48a7ca9d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleSize.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleSize_H_ -#define _VehicleSize_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "VehicleWidth.h" -#include "VehicleLength.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleSize */ -typedef struct VehicleSize { - VehicleWidth_t width; - VehicleLength_t length; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleSize_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleSize; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleSize_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleSize_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleSize_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleSizeConfidence.c b/src/tmx/Asn_J2735/src/r2024/VehicleSizeConfidence.c new file mode 100644 index 000000000..e91f13776 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleSizeConfidence.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleSizeConfidence.h" + +asn_TYPE_member_t asn_MBR_VehicleSizeConfidence_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleSizeConfidence, vehicleWidthConfidence), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SizeValueConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleWidthConfidence" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleSizeConfidence, vehicleLengthConfidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SizeValueConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleLengthConfidence" + }, + { ATF_POINTER, 1, offsetof(struct VehicleSizeConfidence, vehicleHeightConfidence), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SizeValueConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleHeightConfidence" + }, +}; +static const int asn_MAP_VehicleSizeConfidence_oms_1[] = { 2 }; +static const ber_tlv_tag_t asn_DEF_VehicleSizeConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleSizeConfidence_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicleWidthConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* vehicleLengthConfidence */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* vehicleHeightConfidence */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleSizeConfidence_specs_1 = { + sizeof(struct VehicleSizeConfidence), + offsetof(struct VehicleSizeConfidence, _asn_ctx), + asn_MAP_VehicleSizeConfidence_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_VehicleSizeConfidence_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleSizeConfidence = { + "VehicleSizeConfidence", + "VehicleSizeConfidence", + &asn_OP_SEQUENCE, + asn_DEF_VehicleSizeConfidence_tags_1, + sizeof(asn_DEF_VehicleSizeConfidence_tags_1) + /sizeof(asn_DEF_VehicleSizeConfidence_tags_1[0]), /* 1 */ + asn_DEF_VehicleSizeConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleSizeConfidence_tags_1) + /sizeof(asn_DEF_VehicleSizeConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleSizeConfidence_1, + 3, /* Elements count */ + &asn_SPC_VehicleSizeConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleSizeConfidence.h b/src/tmx/Asn_J2735/src/r2024/VehicleSizeConfidence.h deleted file mode 100644 index 59901490f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleSizeConfidence.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleSizeConfidence_H_ -#define _VehicleSizeConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "SizeValueConfidence.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleSizeConfidence */ -typedef struct VehicleSizeConfidence { - SizeValueConfidence_t vehicleWidthConfidence; - SizeValueConfidence_t vehicleLengthConfidence; - SizeValueConfidence_t *vehicleHeightConfidence; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleSizeConfidence_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleSizeConfidence; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleSizeConfidence_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleSizeConfidence_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleSizeConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleSpecificCharacteristics.c b/src/tmx/Asn_J2735/src/r2024/VehicleSpecificCharacteristics.c new file mode 100644 index 000000000..9511e07a3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleSpecificCharacteristics.c @@ -0,0 +1,120 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleSpecificCharacteristics.h" + +asn_TYPE_member_t asn_MBR_VehicleSpecificCharacteristics_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleSpecificCharacteristics, environmentalCharacteristics), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EnvironmentalCharacteristics, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "environmentalCharacteristics" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleSpecificCharacteristics, engineCharacteristics), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EngineCharacteristics, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "engineCharacteristics" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleSpecificCharacteristics, descriptiveCharacteristics), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DescriptiveCharacteristics, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "descriptiveCharacteristics" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleSpecificCharacteristics, futureCharacteristics), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FutureCharacteristics, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "futureCharacteristics" + }, +}; +static const ber_tlv_tag_t asn_DEF_VehicleSpecificCharacteristics_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleSpecificCharacteristics_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* environmentalCharacteristics */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* engineCharacteristics */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* descriptiveCharacteristics */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* futureCharacteristics */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleSpecificCharacteristics_specs_1 = { + sizeof(struct VehicleSpecificCharacteristics), + offsetof(struct VehicleSpecificCharacteristics, _asn_ctx), + asn_MAP_VehicleSpecificCharacteristics_tag2el_1, + 4, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleSpecificCharacteristics = { + "VehicleSpecificCharacteristics", + "VehicleSpecificCharacteristics", + &asn_OP_SEQUENCE, + asn_DEF_VehicleSpecificCharacteristics_tags_1, + sizeof(asn_DEF_VehicleSpecificCharacteristics_tags_1) + /sizeof(asn_DEF_VehicleSpecificCharacteristics_tags_1[0]), /* 1 */ + asn_DEF_VehicleSpecificCharacteristics_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleSpecificCharacteristics_tags_1) + /sizeof(asn_DEF_VehicleSpecificCharacteristics_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleSpecificCharacteristics_1, + 4, /* Elements count */ + &asn_SPC_VehicleSpecificCharacteristics_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleSpecificCharacteristics.h b/src/tmx/Asn_J2735/src/r2024/VehicleSpecificCharacteristics.h deleted file mode 100644 index 3dff021fc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleSpecificCharacteristics.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleSpecificCharacteristics_H_ -#define _VehicleSpecificCharacteristics_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "EnvironmentalCharacteristics.h" -#include "EngineCharacteristics.h" -#include "DescriptiveCharacteristics.h" -#include "FutureCharacteristics.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleSpecificCharacteristics */ -typedef struct VehicleSpecificCharacteristics { - EnvironmentalCharacteristics_t environmentalCharacteristics; - EngineCharacteristics_t engineCharacteristics; - DescriptiveCharacteristics_t descriptiveCharacteristics; - FutureCharacteristics_t futureCharacteristics; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleSpecificCharacteristics_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleSpecificCharacteristics; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleSpecificCharacteristics_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleSpecificCharacteristics_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleSpecificCharacteristics_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleStatus.c b/src/tmx/Asn_J2735/src/r2024/VehicleStatus.c new file mode 100644 index 000000000..000f2c7b5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleStatus.c @@ -0,0 +1,1053 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleStatus.h" + +static asn_TYPE_member_t asn_MBR_steering_12[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleStatus__steering, angle), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SteeringWheelAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "angle" + }, + { ATF_POINTER, 3, offsetof(struct VehicleStatus__steering, confidence), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SteeringWheelAngleConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidence" + }, + { ATF_POINTER, 2, offsetof(struct VehicleStatus__steering, rate), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SteeringWheelAngleRateOfChange, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rate" + }, + { ATF_POINTER, 1, offsetof(struct VehicleStatus__steering, wheels), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DrivingWheelAngle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wheels" + }, +}; +static const int asn_MAP_steering_oms_12[] = { 1, 2, 3 }; +static const ber_tlv_tag_t asn_DEF_steering_tags_12[] = { + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_steering_tag2el_12[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* angle */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* confidence */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* rate */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* wheels */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_steering_specs_12 = { + sizeof(struct VehicleStatus__steering), + offsetof(struct VehicleStatus__steering, _asn_ctx), + asn_MAP_steering_tag2el_12, + 4, /* Count of tags in the map */ + asn_MAP_steering_oms_12, /* Optional members */ + 3, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_steering_12 = { + "steering", + "steering", + &asn_OP_SEQUENCE, + asn_DEF_steering_tags_12, + sizeof(asn_DEF_steering_tags_12) + /sizeof(asn_DEF_steering_tags_12[0]) - 1, /* 1 */ + asn_DEF_steering_tags_12, /* Same as above */ + sizeof(asn_DEF_steering_tags_12) + /sizeof(asn_DEF_steering_tags_12[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_steering_12, + 4, /* Elements count */ + &asn_SPC_steering_specs_12 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_accelSets_17[] = { + { ATF_POINTER, 5, offsetof(struct VehicleStatus__accelSets, accel4way), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AccelerationSet4Way, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accel4way" + }, + { ATF_POINTER, 4, offsetof(struct VehicleStatus__accelSets, vertAccelThres), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VerticalAccelerationThreshold, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vertAccelThres" + }, + { ATF_POINTER, 3, offsetof(struct VehicleStatus__accelSets, yawRateCon), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_YawRateConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "yawRateCon" + }, + { ATF_POINTER, 2, offsetof(struct VehicleStatus__accelSets, hozAccelCon), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AccelerationConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "hozAccelCon" + }, + { ATF_POINTER, 1, offsetof(struct VehicleStatus__accelSets, confidenceSet), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ConfidenceSet, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "confidenceSet" + }, +}; +static const int asn_MAP_accelSets_oms_17[] = { 0, 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_accelSets_tags_17[] = { + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_accelSets_tag2el_17[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* accel4way */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* vertAccelThres */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* yawRateCon */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* hozAccelCon */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* confidenceSet */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_accelSets_specs_17 = { + sizeof(struct VehicleStatus__accelSets), + offsetof(struct VehicleStatus__accelSets, _asn_ctx), + asn_MAP_accelSets_tag2el_17, + 5, /* Count of tags in the map */ + asn_MAP_accelSets_oms_17, /* Optional members */ + 5, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_accelSets_17 = { + "accelSets", + "accelSets", + &asn_OP_SEQUENCE, + asn_DEF_accelSets_tags_17, + sizeof(asn_DEF_accelSets_tags_17) + /sizeof(asn_DEF_accelSets_tags_17[0]) - 1, /* 1 */ + asn_DEF_accelSets_tags_17, /* Same as above */ + sizeof(asn_DEF_accelSets_tags_17) + /sizeof(asn_DEF_accelSets_tags_17[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_accelSets_17, + 5, /* Elements count */ + &asn_SPC_accelSets_specs_17 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_object_23[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleStatus__object, obDist), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ObstacleDistance, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "obDist" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleStatus__object, obDirect), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Angle, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "obDirect" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleStatus__object, dateTime), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_DDateTime, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dateTime" + }, +}; +static const ber_tlv_tag_t asn_DEF_object_tags_23[] = { + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_object_tag2el_23[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* obDist */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* obDirect */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* dateTime */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_object_specs_23 = { + sizeof(struct VehicleStatus__object), + offsetof(struct VehicleStatus__object, _asn_ctx), + asn_MAP_object_tag2el_23, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_object_23 = { + "object", + "object", + &asn_OP_SEQUENCE, + asn_DEF_object_tags_23, + sizeof(asn_DEF_object_tags_23) + /sizeof(asn_DEF_object_tags_23[0]) - 1, /* 1 */ + asn_DEF_object_tags_23, /* Same as above */ + sizeof(asn_DEF_object_tags_23) + /sizeof(asn_DEF_object_tags_23[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_object_23, + 3, /* Elements count */ + &asn_SPC_object_specs_23 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_vehicleData_31[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleStatus__vehicleData, height), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleHeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "height" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleStatus__vehicleData, bumpers), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BumperHeights, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "bumpers" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleStatus__vehicleData, mass), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleMass, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "mass" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleStatus__vehicleData, trailerWeight), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TrailerWeight, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "trailerWeight" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleStatus__vehicleData, type), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleType, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "type" + }, +}; +static const ber_tlv_tag_t asn_DEF_vehicleData_tags_31[] = { + (ASN_TAG_CLASS_CONTEXT | (17 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_vehicleData_tag2el_31[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* height */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* bumpers */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* mass */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* trailerWeight */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* type */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_vehicleData_specs_31 = { + sizeof(struct VehicleStatus__vehicleData), + offsetof(struct VehicleStatus__vehicleData, _asn_ctx), + asn_MAP_vehicleData_tag2el_31, + 5, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_vehicleData_31 = { + "vehicleData", + "vehicleData", + &asn_OP_SEQUENCE, + asn_DEF_vehicleData_tags_31, + sizeof(asn_DEF_vehicleData_tags_31) + /sizeof(asn_DEF_vehicleData_tags_31[0]) - 1, /* 1 */ + asn_DEF_vehicleData_tags_31, /* Same as above */ + sizeof(asn_DEF_vehicleData_tags_31) + /sizeof(asn_DEF_vehicleData_tags_31[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_vehicleData_31, + 5, /* Elements count */ + &asn_SPC_vehicleData_specs_31 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_weatherReport_39[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleStatus__weatherReport, isRaining), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EssPrecipYesNo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "isRaining" + }, + { ATF_POINTER, 4, offsetof(struct VehicleStatus__weatherReport, rainRate), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EssPrecipRate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rainRate" + }, + { ATF_POINTER, 3, offsetof(struct VehicleStatus__weatherReport, precipSituation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EssPrecipSituation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "precipSituation" + }, + { ATF_POINTER, 2, offsetof(struct VehicleStatus__weatherReport, solarRadiation), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EssSolarRadiation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "solarRadiation" + }, + { ATF_POINTER, 1, offsetof(struct VehicleStatus__weatherReport, friction), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EssMobileFriction, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "friction" + }, +}; +static const int asn_MAP_weatherReport_oms_39[] = { 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_weatherReport_tags_39[] = { + (ASN_TAG_CLASS_CONTEXT | (20 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_weatherReport_tag2el_39[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* isRaining */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rainRate */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* precipSituation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* solarRadiation */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* friction */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_weatherReport_specs_39 = { + sizeof(struct VehicleStatus__weatherReport), + offsetof(struct VehicleStatus__weatherReport, _asn_ctx), + asn_MAP_weatherReport_tag2el_39, + 5, /* Count of tags in the map */ + asn_MAP_weatherReport_oms_39, /* Optional members */ + 4, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_weatherReport_39 = { + "weatherReport", + "weatherReport", + &asn_OP_SEQUENCE, + asn_DEF_weatherReport_tags_39, + sizeof(asn_DEF_weatherReport_tags_39) + /sizeof(asn_DEF_weatherReport_tags_39[0]) - 1, /* 1 */ + asn_DEF_weatherReport_tags_39, /* Same as above */ + sizeof(asn_DEF_weatherReport_tags_39) + /sizeof(asn_DEF_weatherReport_tags_39[0]), /* 2 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_weatherReport_39, + 5, /* Elements count */ + &asn_SPC_weatherReport_specs_39 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_VehicleStatus_1[] = { + { ATF_POINTER, 22, offsetof(struct VehicleStatus, lights), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ExteriorLights, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lights" + }, + { ATF_POINTER, 21, offsetof(struct VehicleStatus, lightBar), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LightbarInUse, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "lightBar" + }, + { ATF_POINTER, 20, offsetof(struct VehicleStatus, wipers), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WiperSet, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "wipers" + }, + { ATF_POINTER, 19, offsetof(struct VehicleStatus, brakeStatus), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BrakeSystemStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "brakeStatus" + }, + { ATF_POINTER, 18, offsetof(struct VehicleStatus, brakePressure), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BrakeAppliedPressure, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "brakePressure" + }, + { ATF_POINTER, 17, offsetof(struct VehicleStatus, roadFriction), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CoefficientOfFriction, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadFriction" + }, + { ATF_POINTER, 16, offsetof(struct VehicleStatus, sunData), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SunSensor, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sunData" + }, + { ATF_POINTER, 15, offsetof(struct VehicleStatus, rainData), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_RainSensor, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rainData" + }, + { ATF_POINTER, 14, offsetof(struct VehicleStatus, airTemp), + (ASN_TAG_CLASS_CONTEXT | (8 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AmbientAirTemperature, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "airTemp" + }, + { ATF_POINTER, 13, offsetof(struct VehicleStatus, airPres), + (ASN_TAG_CLASS_CONTEXT | (9 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AmbientAirPressure, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "airPres" + }, + { ATF_POINTER, 12, offsetof(struct VehicleStatus, steering), + (ASN_TAG_CLASS_CONTEXT | (10 << 2)), + 0, + &asn_DEF_steering_12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "steering" + }, + { ATF_POINTER, 11, offsetof(struct VehicleStatus, accelSets), + (ASN_TAG_CLASS_CONTEXT | (11 << 2)), + 0, + &asn_DEF_accelSets_17, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "accelSets" + }, + { ATF_POINTER, 10, offsetof(struct VehicleStatus, object), + (ASN_TAG_CLASS_CONTEXT | (12 << 2)), + 0, + &asn_DEF_object_23, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "object" + }, + { ATF_POINTER, 9, offsetof(struct VehicleStatus, fullPos), + (ASN_TAG_CLASS_CONTEXT | (13 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_FullPositionVector, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "fullPos" + }, + { ATF_POINTER, 8, offsetof(struct VehicleStatus, throttlePos), + (ASN_TAG_CLASS_CONTEXT | (14 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ThrottlePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "throttlePos" + }, + { ATF_POINTER, 7, offsetof(struct VehicleStatus, speedHeadC), + (ASN_TAG_CLASS_CONTEXT | (15 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedandHeadingandThrottleConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedHeadC" + }, + { ATF_POINTER, 6, offsetof(struct VehicleStatus, speedC), + (ASN_TAG_CLASS_CONTEXT | (16 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_SpeedConfidence, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "speedC" + }, + { ATF_POINTER, 5, offsetof(struct VehicleStatus, vehicleData), + (ASN_TAG_CLASS_CONTEXT | (17 << 2)), + 0, + &asn_DEF_vehicleData_31, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleData" + }, + { ATF_POINTER, 4, offsetof(struct VehicleStatus, vehicleIdent), + (ASN_TAG_CLASS_CONTEXT | (18 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleIdent, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleIdent" + }, + { ATF_POINTER, 3, offsetof(struct VehicleStatus, j1939data), + (ASN_TAG_CLASS_CONTEXT | (19 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_J1939data, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "j1939data" + }, + { ATF_POINTER, 2, offsetof(struct VehicleStatus, weatherReport), + (ASN_TAG_CLASS_CONTEXT | (20 << 2)), + 0, + &asn_DEF_weatherReport_39, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "weatherReport" + }, + { ATF_POINTER, 1, offsetof(struct VehicleStatus, gnssStatus), + (ASN_TAG_CLASS_CONTEXT | (21 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_GNSSstatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "gnssStatus" + }, +}; +static const int asn_MAP_VehicleStatus_oms_1[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 }; +static const ber_tlv_tag_t asn_DEF_VehicleStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleStatus_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* lights */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* lightBar */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* wipers */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* brakeStatus */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* brakePressure */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* roadFriction */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* sunData */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 }, /* rainData */ + { (ASN_TAG_CLASS_CONTEXT | (8 << 2)), 8, 0, 0 }, /* airTemp */ + { (ASN_TAG_CLASS_CONTEXT | (9 << 2)), 9, 0, 0 }, /* airPres */ + { (ASN_TAG_CLASS_CONTEXT | (10 << 2)), 10, 0, 0 }, /* steering */ + { (ASN_TAG_CLASS_CONTEXT | (11 << 2)), 11, 0, 0 }, /* accelSets */ + { (ASN_TAG_CLASS_CONTEXT | (12 << 2)), 12, 0, 0 }, /* object */ + { (ASN_TAG_CLASS_CONTEXT | (13 << 2)), 13, 0, 0 }, /* fullPos */ + { (ASN_TAG_CLASS_CONTEXT | (14 << 2)), 14, 0, 0 }, /* throttlePos */ + { (ASN_TAG_CLASS_CONTEXT | (15 << 2)), 15, 0, 0 }, /* speedHeadC */ + { (ASN_TAG_CLASS_CONTEXT | (16 << 2)), 16, 0, 0 }, /* speedC */ + { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 17, 0, 0 }, /* vehicleData */ + { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 18, 0, 0 }, /* vehicleIdent */ + { (ASN_TAG_CLASS_CONTEXT | (19 << 2)), 19, 0, 0 }, /* j1939data */ + { (ASN_TAG_CLASS_CONTEXT | (20 << 2)), 20, 0, 0 }, /* weatherReport */ + { (ASN_TAG_CLASS_CONTEXT | (21 << 2)), 21, 0, 0 } /* gnssStatus */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleStatus_specs_1 = { + sizeof(struct VehicleStatus), + offsetof(struct VehicleStatus, _asn_ctx), + asn_MAP_VehicleStatus_tag2el_1, + 22, /* Count of tags in the map */ + asn_MAP_VehicleStatus_oms_1, /* Optional members */ + 22, 0, /* Root/Additions */ + 22, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleStatus = { + "VehicleStatus", + "VehicleStatus", + &asn_OP_SEQUENCE, + asn_DEF_VehicleStatus_tags_1, + sizeof(asn_DEF_VehicleStatus_tags_1) + /sizeof(asn_DEF_VehicleStatus_tags_1[0]), /* 1 */ + asn_DEF_VehicleStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleStatus_tags_1) + /sizeof(asn_DEF_VehicleStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleStatus_1, + 22, /* Elements count */ + &asn_SPC_VehicleStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleStatus.h b/src/tmx/Asn_J2735/src/r2024/VehicleStatus.h deleted file mode 100644 index 20c45b6ed..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleStatus.h +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleStatus_H_ -#define _VehicleStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ExteriorLights.h" -#include "LightbarInUse.h" -#include "BrakeAppliedPressure.h" -#include "CoefficientOfFriction.h" -#include "SunSensor.h" -#include "RainSensor.h" -#include "AmbientAirTemperature.h" -#include "AmbientAirPressure.h" -#include "ThrottlePosition.h" -#include "SpeedConfidence.h" -#include "GNSSstatus.h" -#include "SteeringWheelAngle.h" -#include "SteeringWheelAngleConfidence.h" -#include "SteeringWheelAngleRateOfChange.h" -#include "DrivingWheelAngle.h" -#include "constr_SEQUENCE.h" -#include "VerticalAccelerationThreshold.h" -#include "YawRateConfidence.h" -#include "AccelerationConfidence.h" -#include "ObstacleDistance.h" -#include "Common_Angle.h" -#include "DDateTime.h" -#include "VehicleHeight.h" -#include "BumperHeights.h" -#include "VehicleMass.h" -#include "TrailerWeight.h" -#include "VehicleType.h" -#include "EssPrecipYesNo.h" -#include "EssPrecipRate.h" -#include "EssPrecipSituation.h" -#include "EssSolarRadiation.h" -#include "EssMobileFriction.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct WiperSet; -struct BrakeSystemStatus; -struct FullPositionVector; -struct SpeedandHeadingandThrottleConfidence; -struct VehicleIdent; -struct J1939data; -struct AccelerationSet4Way; -struct ConfidenceSet; - -/* VehicleStatus */ -typedef struct VehicleStatus { - ExteriorLights_t *lights; /* OPTIONAL */ - LightbarInUse_t *lightBar; /* OPTIONAL */ - struct WiperSet *wipers; /* OPTIONAL */ - struct BrakeSystemStatus *brakeStatus; /* OPTIONAL */ - BrakeAppliedPressure_t *brakePressure; /* OPTIONAL */ - CoefficientOfFriction_t *roadFriction; /* OPTIONAL */ - SunSensor_t *sunData; /* OPTIONAL */ - RainSensor_t *rainData; /* OPTIONAL */ - AmbientAirTemperature_t *airTemp; /* OPTIONAL */ - AmbientAirPressure_t *airPres; /* OPTIONAL */ - struct VehicleStatus__steering { - SteeringWheelAngle_t angle; - SteeringWheelAngleConfidence_t *confidence; /* OPTIONAL */ - SteeringWheelAngleRateOfChange_t *rate; /* OPTIONAL */ - DrivingWheelAngle_t *wheels; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *steering; - struct VehicleStatus__accelSets { - struct AccelerationSet4Way *accel4way; /* OPTIONAL */ - VerticalAccelerationThreshold_t *vertAccelThres; /* OPTIONAL */ - YawRateConfidence_t *yawRateCon; /* OPTIONAL */ - AccelerationConfidence_t *hozAccelCon; /* OPTIONAL */ - struct ConfidenceSet *confidenceSet; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *accelSets; - struct VehicleStatus__object { - ObstacleDistance_t obDist; - Common_Angle_t obDirect; - DDateTime_t dateTime; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *object; - struct FullPositionVector *fullPos; /* OPTIONAL */ - ThrottlePosition_t *throttlePos; /* OPTIONAL */ - struct SpeedandHeadingandThrottleConfidence *speedHeadC; /* OPTIONAL */ - SpeedConfidence_t *speedC; /* OPTIONAL */ - struct VehicleStatus__vehicleData { - VehicleHeight_t height; - BumperHeights_t bumpers; - VehicleMass_t mass; - TrailerWeight_t trailerWeight; - VehicleType_t type; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *vehicleData; - struct VehicleIdent *vehicleIdent; /* OPTIONAL */ - struct J1939data *j1939data; /* OPTIONAL */ - struct VehicleStatus__weatherReport { - EssPrecipYesNo_t isRaining; - EssPrecipRate_t *rainRate; /* OPTIONAL */ - EssPrecipSituation_t *precipSituation; /* OPTIONAL */ - EssSolarRadiation_t *solarRadiation; /* OPTIONAL */ - EssMobileFriction_t *friction; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } *weatherReport; - GNSSstatus_t *gnssStatus; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleStatus_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleStatus; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleStatus_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleStatus_1[22]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "WiperSet.h" -#include "BrakeSystemStatus.h" -#include "FullPositionVector.h" -#include "SpeedandHeadingandThrottleConfidence.h" -#include "VehicleIdent.h" -#include "J1939data.h" -#include "AccelerationSet4Way.h" -#include "ConfidenceSet.h" - -#endif /* _VehicleStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleStatusDeviceTypeTag.c b/src/tmx/Asn_J2735/src/r2024/VehicleStatusDeviceTypeTag.c new file mode 100644 index 000000000..5f9ca4743 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleStatusDeviceTypeTag.c @@ -0,0 +1,124 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataManagement" + * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleStatusDeviceTypeTag.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleStatusDeviceTypeTag_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleStatusDeviceTypeTag_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 5, 5, 0, 28 } /* (0..28,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_VehicleStatusDeviceTypeTag_value2enum_1[] = { + { 0, 7, "unknown" }, + { 1, 6, "lights" }, + { 2, 6, "wipers" }, + { 3, 6, "brakes" }, + { 4, 4, "stab" }, + { 5, 4, "trac" }, + { 6, 3, "abs" }, + { 7, 4, "sunS" }, + { 8, 5, "rainS" }, + { 9, 7, "airTemp" }, + { 10, 8, "steering" }, + { 11, 14, "vertAccelThres" }, + { 12, 9, "vertAccel" }, + { 13, 12, "hozAccelLong" }, + { 14, 11, "hozAccelLat" }, + { 15, 11, "hozAccelCon" }, + { 16, 9, "accel4way" }, + { 17, 13, "confidenceSet" }, + { 18, 6, "obDist" }, + { 19, 8, "obDirect" }, + { 20, 3, "yaw" }, + { 21, 10, "yawRateCon" }, + { 22, 8, "dateTime" }, + { 23, 7, "fullPos" }, + { 24, 10, "position2D" }, + { 25, 10, "position3D" }, + { 26, 7, "vehicle" }, + { 27, 10, "speedHeadC" }, + { 28, 6, "speedC" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_VehicleStatusDeviceTypeTag_enum2value_1[] = { + 6, /* abs(6) */ + 16, /* accel4way(16) */ + 9, /* airTemp(9) */ + 3, /* brakes(3) */ + 17, /* confidenceSet(17) */ + 22, /* dateTime(22) */ + 23, /* fullPos(23) */ + 15, /* hozAccelCon(15) */ + 14, /* hozAccelLat(14) */ + 13, /* hozAccelLong(13) */ + 1, /* lights(1) */ + 19, /* obDirect(19) */ + 18, /* obDist(18) */ + 24, /* position2D(24) */ + 25, /* position3D(25) */ + 8, /* rainS(8) */ + 28, /* speedC(28) */ + 27, /* speedHeadC(27) */ + 4, /* stab(4) */ + 10, /* steering(10) */ + 7, /* sunS(7) */ + 5, /* trac(5) */ + 0, /* unknown(0) */ + 26, /* vehicle(26) */ + 12, /* vertAccel(12) */ + 11, /* vertAccelThres(11) */ + 2, /* wipers(2) */ + 20, /* yaw(20) */ + 21 /* yawRateCon(21) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_VehicleStatusDeviceTypeTag_specs_1 = { + asn_MAP_VehicleStatusDeviceTypeTag_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_VehicleStatusDeviceTypeTag_enum2value_1, /* N => "tag"; sorted by N */ + 29, /* Number of elements in the maps */ + 30, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_VehicleStatusDeviceTypeTag_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleStatusDeviceTypeTag = { + "VehicleStatusDeviceTypeTag", + "VehicleStatusDeviceTypeTag", + &asn_OP_NativeEnumerated, + asn_DEF_VehicleStatusDeviceTypeTag_tags_1, + sizeof(asn_DEF_VehicleStatusDeviceTypeTag_tags_1) + /sizeof(asn_DEF_VehicleStatusDeviceTypeTag_tags_1[0]), /* 1 */ + asn_DEF_VehicleStatusDeviceTypeTag_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleStatusDeviceTypeTag_tags_1) + /sizeof(asn_DEF_VehicleStatusDeviceTypeTag_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleStatusDeviceTypeTag_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleStatusDeviceTypeTag_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_VehicleStatusDeviceTypeTag_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleStatusDeviceTypeTag.h b/src/tmx/Asn_J2735/src/r2024/VehicleStatusDeviceTypeTag.h deleted file mode 100644 index dd8ef4bcf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleStatusDeviceTypeTag.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataManagement" - * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleStatusDeviceTypeTag_H_ -#define _VehicleStatusDeviceTypeTag_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum VehicleStatusDeviceTypeTag { - VehicleStatusDeviceTypeTag_unknown = 0, - VehicleStatusDeviceTypeTag_lights = 1, - VehicleStatusDeviceTypeTag_wipers = 2, - VehicleStatusDeviceTypeTag_brakes = 3, - VehicleStatusDeviceTypeTag_stab = 4, - VehicleStatusDeviceTypeTag_trac = 5, - VehicleStatusDeviceTypeTag_abs = 6, - VehicleStatusDeviceTypeTag_sunS = 7, - VehicleStatusDeviceTypeTag_rainS = 8, - VehicleStatusDeviceTypeTag_airTemp = 9, - VehicleStatusDeviceTypeTag_steering = 10, - VehicleStatusDeviceTypeTag_vertAccelThres = 11, - VehicleStatusDeviceTypeTag_vertAccel = 12, - VehicleStatusDeviceTypeTag_hozAccelLong = 13, - VehicleStatusDeviceTypeTag_hozAccelLat = 14, - VehicleStatusDeviceTypeTag_hozAccelCon = 15, - VehicleStatusDeviceTypeTag_accel4way = 16, - VehicleStatusDeviceTypeTag_confidenceSet = 17, - VehicleStatusDeviceTypeTag_obDist = 18, - VehicleStatusDeviceTypeTag_obDirect = 19, - VehicleStatusDeviceTypeTag_yaw = 20, - VehicleStatusDeviceTypeTag_yawRateCon = 21, - VehicleStatusDeviceTypeTag_dateTime = 22, - VehicleStatusDeviceTypeTag_fullPos = 23, - VehicleStatusDeviceTypeTag_position2D = 24, - VehicleStatusDeviceTypeTag_position3D = 25, - VehicleStatusDeviceTypeTag_vehicle = 26, - VehicleStatusDeviceTypeTag_speedHeadC = 27, - VehicleStatusDeviceTypeTag_speedC = 28 - /* - * Enumeration is extensible - */ -} e_VehicleStatusDeviceTypeTag; - -/* VehicleStatusDeviceTypeTag */ -typedef long VehicleStatusDeviceTypeTag_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VehicleStatusDeviceTypeTag_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VehicleStatusDeviceTypeTag; -extern const asn_INTEGER_specifics_t asn_SPC_VehicleStatusDeviceTypeTag_specs_1; -asn_struct_free_f VehicleStatusDeviceTypeTag_free; -asn_struct_print_f VehicleStatusDeviceTypeTag_print; -asn_constr_check_f VehicleStatusDeviceTypeTag_constraint; -ber_type_decoder_f VehicleStatusDeviceTypeTag_decode_ber; -der_type_encoder_f VehicleStatusDeviceTypeTag_encode_der; -xer_type_decoder_f VehicleStatusDeviceTypeTag_decode_xer; -xer_type_encoder_f VehicleStatusDeviceTypeTag_encode_xer; -oer_type_decoder_f VehicleStatusDeviceTypeTag_decode_oer; -oer_type_encoder_f VehicleStatusDeviceTypeTag_encode_oer; -per_type_decoder_f VehicleStatusDeviceTypeTag_decode_uper; -per_type_encoder_f VehicleStatusDeviceTypeTag_encode_uper; -per_type_decoder_f VehicleStatusDeviceTypeTag_decode_aper; -per_type_encoder_f VehicleStatusDeviceTypeTag_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleStatusDeviceTypeTag_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleStatusRequest.c b/src/tmx/Asn_J2735/src/r2024/VehicleStatusRequest.c new file mode 100644 index 000000000..e2cb3fac1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleStatusRequest.c @@ -0,0 +1,251 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataManagement" + * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleStatusRequest.h" + +static int +memb_subType_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_sendOnLessThenValue_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32767L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +static int +memb_sendOnMoreThenValue_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32767L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_subType_constr_3 CC_NOTUSED = { + { 1, 1 } /* (1..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_subType_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 1, 15 } /* (1..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_sendOnLessThenValue_constr_4 CC_NOTUSED = { + { 2, 0 } /* (-32767..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_sendOnLessThenValue_constr_4 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32767, 32767 } /* (-32767..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_sendOnMoreThenValue_constr_5 CC_NOTUSED = { + { 2, 0 } /* (-32767..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_sendOnMoreThenValue_constr_5 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32767, 32767 } /* (-32767..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_VehicleStatusRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleStatusRequest, dataType), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VehicleStatusDeviceTypeTag, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "dataType" + }, + { ATF_POINTER, 4, offsetof(struct VehicleStatusRequest, subType), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_subType_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_subType_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_subType_constraint_1 + }, + 0, 0, /* No default value */ + "subType" + }, + { ATF_POINTER, 3, offsetof(struct VehicleStatusRequest, sendOnLessThenValue), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_sendOnLessThenValue_constr_4, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_sendOnLessThenValue_constr_4, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_sendOnLessThenValue_constraint_1 + }, + 0, 0, /* No default value */ + "sendOnLessThenValue" + }, + { ATF_POINTER, 2, offsetof(struct VehicleStatusRequest, sendOnMoreThenValue), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_sendOnMoreThenValue_constr_5, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_sendOnMoreThenValue_constr_5, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_sendOnMoreThenValue_constraint_1 + }, + 0, 0, /* No default value */ + "sendOnMoreThenValue" + }, + { ATF_POINTER, 1, offsetof(struct VehicleStatusRequest, sendAll), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BOOLEAN, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "sendAll" + }, +}; +static const int asn_MAP_VehicleStatusRequest_oms_1[] = { 1, 2, 3, 4 }; +static const ber_tlv_tag_t asn_DEF_VehicleStatusRequest_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleStatusRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* dataType */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* subType */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* sendOnLessThenValue */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* sendOnMoreThenValue */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 } /* sendAll */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleStatusRequest_specs_1 = { + sizeof(struct VehicleStatusRequest), + offsetof(struct VehicleStatusRequest, _asn_ctx), + asn_MAP_VehicleStatusRequest_tag2el_1, + 5, /* Count of tags in the map */ + asn_MAP_VehicleStatusRequest_oms_1, /* Optional members */ + 4, 0, /* Root/Additions */ + 5, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleStatusRequest = { + "VehicleStatusRequest", + "VehicleStatusRequest", + &asn_OP_SEQUENCE, + asn_DEF_VehicleStatusRequest_tags_1, + sizeof(asn_DEF_VehicleStatusRequest_tags_1) + /sizeof(asn_DEF_VehicleStatusRequest_tags_1[0]), /* 1 */ + asn_DEF_VehicleStatusRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleStatusRequest_tags_1) + /sizeof(asn_DEF_VehicleStatusRequest_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleStatusRequest_1, + 5, /* Elements count */ + &asn_SPC_VehicleStatusRequest_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleStatusRequest.h b/src/tmx/Asn_J2735/src/r2024/VehicleStatusRequest.h deleted file mode 100644 index d4daf9251..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleStatusRequest.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataManagement" - * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleStatusRequest_H_ -#define _VehicleStatusRequest_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "VehicleStatusDeviceTypeTag.h" -#include "NativeInteger.h" -#include "BOOLEAN.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleStatusRequest */ -typedef struct VehicleStatusRequest { - VehicleStatusDeviceTypeTag_t dataType; - long *subType; /* OPTIONAL */ - long *sendOnLessThenValue; /* OPTIONAL */ - long *sendOnMoreThenValue; /* OPTIONAL */ - BOOLEAN_t *sendAll; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleStatusRequest_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleStatusRequest; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleStatusRequest_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleStatusRequest_1[5]; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleStatusRequest_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleStatusRequestList.c b/src/tmx/Asn_J2735/src/r2024/VehicleStatusRequestList.c new file mode 100644 index 000000000..bd2b637d8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleStatusRequestList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeDataManagement" + * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleStatusRequestList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleStatusRequestList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..32)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleStatusRequestList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 5, 5, 1, 32 } /* (SIZE(1..32)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_VehicleStatusRequestList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_VehicleStatusRequest, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_VehicleStatusRequestList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_VehicleStatusRequestList_specs_1 = { + sizeof(struct VehicleStatusRequestList), + offsetof(struct VehicleStatusRequestList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleStatusRequestList = { + "VehicleStatusRequestList", + "VehicleStatusRequestList", + &asn_OP_SEQUENCE_OF, + asn_DEF_VehicleStatusRequestList_tags_1, + sizeof(asn_DEF_VehicleStatusRequestList_tags_1) + /sizeof(asn_DEF_VehicleStatusRequestList_tags_1[0]), /* 1 */ + asn_DEF_VehicleStatusRequestList_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleStatusRequestList_tags_1) + /sizeof(asn_DEF_VehicleStatusRequestList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleStatusRequestList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleStatusRequestList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_VehicleStatusRequestList_1, + 1, /* Single element */ + &asn_SPC_VehicleStatusRequestList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleStatusRequestList.h b/src/tmx/Asn_J2735/src/r2024/VehicleStatusRequestList.h deleted file mode 100644 index 9aaca3dac..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleStatusRequestList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeDataManagement" - * found in "J2735-ProbeDataManagement-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleStatusRequestList_H_ -#define _VehicleStatusRequestList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct VehicleStatusRequest; - -/* VehicleStatusRequestList */ -typedef struct VehicleStatusRequestList { - A_SEQUENCE_OF(struct VehicleStatusRequest) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleStatusRequestList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleStatusRequestList; -extern asn_SET_OF_specifics_t asn_SPC_VehicleStatusRequestList_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleStatusRequestList_1[1]; -extern asn_per_constraints_t asn_PER_type_VehicleStatusRequestList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "VehicleStatusRequest.h" - -#endif /* _VehicleStatusRequestList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleToLanePosition.c b/src/tmx/Asn_J2735/src/r2024/VehicleToLanePosition.c new file mode 100644 index 000000000..8fa4a2a26 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleToLanePosition.c @@ -0,0 +1,84 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleToLanePosition.h" + +asn_TYPE_member_t asn_MBR_VehicleToLanePosition_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleToLanePosition, stationID), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_StationID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "stationID" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleToLanePosition, laneID), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_LaneID, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "laneID" + }, +}; +static const ber_tlv_tag_t asn_DEF_VehicleToLanePosition_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleToLanePosition_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* stationID */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* laneID */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleToLanePosition_specs_1 = { + sizeof(struct VehicleToLanePosition), + offsetof(struct VehicleToLanePosition, _asn_ctx), + asn_MAP_VehicleToLanePosition_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleToLanePosition = { + "VehicleToLanePosition", + "VehicleToLanePosition", + &asn_OP_SEQUENCE, + asn_DEF_VehicleToLanePosition_tags_1, + sizeof(asn_DEF_VehicleToLanePosition_tags_1) + /sizeof(asn_DEF_VehicleToLanePosition_tags_1[0]), /* 1 */ + asn_DEF_VehicleToLanePosition_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleToLanePosition_tags_1) + /sizeof(asn_DEF_VehicleToLanePosition_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleToLanePosition_1, + 2, /* Elements count */ + &asn_SPC_VehicleToLanePosition_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleToLanePosition.h b/src/tmx/Asn_J2735/src/r2024/VehicleToLanePosition.h deleted file mode 100644 index 302fc1d31..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleToLanePosition.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleToLanePosition_H_ -#define _VehicleToLanePosition_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "StationID.h" -#include "LaneID.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleToLanePosition */ -typedef struct VehicleToLanePosition { - StationID_t stationID; - LaneID_t laneID; - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleToLanePosition_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleToLanePosition; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleToLanePosition_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleToLanePosition_1[2]; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleToLanePosition_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleToLanePositionList.c b/src/tmx/Asn_J2735/src/r2024/VehicleToLanePositionList.c new file mode 100644 index 000000000..e92aef32d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleToLanePositionList.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpC" + * found in "J2735-AddGrpC-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleToLanePositionList.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleToLanePositionList_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..5)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleToLanePositionList_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 3, 3, 1, 5 } /* (SIZE(1..5)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_VehicleToLanePositionList_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_VehicleToLanePosition, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_VehicleToLanePositionList_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_VehicleToLanePositionList_specs_1 = { + sizeof(struct VehicleToLanePositionList), + offsetof(struct VehicleToLanePositionList, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleToLanePositionList = { + "VehicleToLanePositionList", + "VehicleToLanePositionList", + &asn_OP_SEQUENCE_OF, + asn_DEF_VehicleToLanePositionList_tags_1, + sizeof(asn_DEF_VehicleToLanePositionList_tags_1) + /sizeof(asn_DEF_VehicleToLanePositionList_tags_1[0]), /* 1 */ + asn_DEF_VehicleToLanePositionList_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleToLanePositionList_tags_1) + /sizeof(asn_DEF_VehicleToLanePositionList_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleToLanePositionList_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleToLanePositionList_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_VehicleToLanePositionList_1, + 1, /* Single element */ + &asn_SPC_VehicleToLanePositionList_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleToLanePositionList.h b/src/tmx/Asn_J2735/src/r2024/VehicleToLanePositionList.h deleted file mode 100644 index 1c12739b7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleToLanePositionList.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpC" - * found in "J2735-AddGrpC-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleToLanePositionList_H_ -#define _VehicleToLanePositionList_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct VehicleToLanePosition; - -/* VehicleToLanePositionList */ -typedef struct VehicleToLanePositionList { - A_SEQUENCE_OF(struct VehicleToLanePosition) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleToLanePositionList_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleToLanePositionList; -extern asn_SET_OF_specifics_t asn_SPC_VehicleToLanePositionList_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleToLanePositionList_1[1]; -extern asn_per_constraints_t asn_PER_type_VehicleToLanePositionList_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "VehicleToLanePosition.h" - -#endif /* _VehicleToLanePositionList_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleTotalDistance.c b/src/tmx/Asn_J2735/src/r2024/VehicleTotalDistance.c new file mode 100644 index 000000000..6f27971da --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleTotalDistance.c @@ -0,0 +1,67 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleTotalDistance.h" + +int +VehicleTotalDistance_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + + /* Constraint check succeeded */ + return 0; +} + +/* + * This type is implemented using Int4Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleTotalDistance_constr_1 CC_NOTUSED = { + { 4, 1 } /* (0..4294967295) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_VehicleTotalDistance_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 32, -1, 0, 4294967295 } /* (0..4294967295) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VehicleTotalDistance_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleTotalDistance = { + "VehicleTotalDistance", + "VehicleTotalDistance", + &asn_OP_NativeInteger, + asn_DEF_VehicleTotalDistance_tags_1, + sizeof(asn_DEF_VehicleTotalDistance_tags_1) + /sizeof(asn_DEF_VehicleTotalDistance_tags_1[0]), /* 1 */ + asn_DEF_VehicleTotalDistance_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleTotalDistance_tags_1) + /sizeof(asn_DEF_VehicleTotalDistance_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleTotalDistance_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleTotalDistance_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VehicleTotalDistance_constraint + }, + 0, 0, /* No members */ + &asn_SPC_Int4Unsigned_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleTotalDistance.h b/src/tmx/Asn_J2735/src/r2024/VehicleTotalDistance.h deleted file mode 100644 index 053cb2f0b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleTotalDistance.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleTotalDistance_H_ -#define _VehicleTotalDistance_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int4Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleTotalDistance */ -typedef Int4Unsigned_t VehicleTotalDistance_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleTotalDistance; -asn_struct_free_f VehicleTotalDistance_free; -asn_struct_print_f VehicleTotalDistance_print; -asn_constr_check_f VehicleTotalDistance_constraint; -ber_type_decoder_f VehicleTotalDistance_decode_ber; -der_type_encoder_f VehicleTotalDistance_encode_der; -xer_type_decoder_f VehicleTotalDistance_decode_xer; -xer_type_encoder_f VehicleTotalDistance_encode_xer; -oer_type_decoder_f VehicleTotalDistance_decode_oer; -oer_type_encoder_f VehicleTotalDistance_encode_oer; -per_type_decoder_f VehicleTotalDistance_decode_uper; -per_type_encoder_f VehicleTotalDistance_encode_uper; -per_type_decoder_f VehicleTotalDistance_decode_aper; -per_type_encoder_f VehicleTotalDistance_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleTotalDistance_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleType.c b/src/tmx/Asn_J2735/src/r2024/VehicleType.c new file mode 100644 index 000000000..fac62ab2d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleType.c @@ -0,0 +1,98 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleType.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleType_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleType_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 15 } /* (0..15,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_VehicleType_value2enum_1[] = { + { 0, 4, "none" }, + { 1, 7, "unknown" }, + { 2, 7, "special" }, + { 3, 4, "moto" }, + { 4, 3, "car" }, + { 5, 8, "carOther" }, + { 6, 3, "bus" }, + { 7, 8, "axleCnt2" }, + { 8, 8, "axleCnt3" }, + { 9, 8, "axleCnt4" }, + { 10, 15, "axleCnt4Trailer" }, + { 11, 15, "axleCnt5Trailer" }, + { 12, 15, "axleCnt6Trailer" }, + { 13, 20, "axleCnt5MultiTrailer" }, + { 14, 20, "axleCnt6MultiTrailer" }, + { 15, 20, "axleCnt7MultiTrailer" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_VehicleType_enum2value_1[] = { + 7, /* axleCnt2(7) */ + 8, /* axleCnt3(8) */ + 9, /* axleCnt4(9) */ + 10, /* axleCnt4Trailer(10) */ + 13, /* axleCnt5MultiTrailer(13) */ + 11, /* axleCnt5Trailer(11) */ + 14, /* axleCnt6MultiTrailer(14) */ + 12, /* axleCnt6Trailer(12) */ + 15, /* axleCnt7MultiTrailer(15) */ + 6, /* bus(6) */ + 4, /* car(4) */ + 5, /* carOther(5) */ + 3, /* moto(3) */ + 0, /* none(0) */ + 2, /* special(2) */ + 1 /* unknown(1) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_VehicleType_specs_1 = { + asn_MAP_VehicleType_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_VehicleType_enum2value_1, /* N => "tag"; sorted by N */ + 16, /* Number of elements in the maps */ + 17, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_VehicleType_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleType = { + "VehicleType", + "VehicleType", + &asn_OP_NativeEnumerated, + asn_DEF_VehicleType_tags_1, + sizeof(asn_DEF_VehicleType_tags_1) + /sizeof(asn_DEF_VehicleType_tags_1[0]), /* 1 */ + asn_DEF_VehicleType_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleType_tags_1) + /sizeof(asn_DEF_VehicleType_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleType_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleType_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_VehicleType_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleType.h b/src/tmx/Asn_J2735/src/r2024/VehicleType.h deleted file mode 100644 index aeffeefe4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleType.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleType_H_ -#define _VehicleType_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum VehicleType { - VehicleType_none = 0, - VehicleType_unknown = 1, - VehicleType_special = 2, - VehicleType_moto = 3, - VehicleType_car = 4, - VehicleType_carOther = 5, - VehicleType_bus = 6, - VehicleType_axleCnt2 = 7, - VehicleType_axleCnt3 = 8, - VehicleType_axleCnt4 = 9, - VehicleType_axleCnt4Trailer = 10, - VehicleType_axleCnt5Trailer = 11, - VehicleType_axleCnt6Trailer = 12, - VehicleType_axleCnt5MultiTrailer = 13, - VehicleType_axleCnt6MultiTrailer = 14, - VehicleType_axleCnt7MultiTrailer = 15 - /* - * Enumeration is extensible - */ -} e_VehicleType; - -/* VehicleType */ -typedef long VehicleType_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VehicleType_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VehicleType; -extern const asn_INTEGER_specifics_t asn_SPC_VehicleType_specs_1; -asn_struct_free_f VehicleType_free; -asn_struct_print_f VehicleType_print; -asn_constr_check_f VehicleType_constraint; -ber_type_decoder_f VehicleType_decode_ber; -der_type_encoder_f VehicleType_encode_der; -xer_type_decoder_f VehicleType_decode_xer; -xer_type_encoder_f VehicleType_encode_xer; -oer_type_decoder_f VehicleType_decode_oer; -oer_type_encoder_f VehicleType_encode_oer; -per_type_decoder_f VehicleType_decode_uper; -per_type_encoder_f VehicleType_encode_uper; -per_type_decoder_f VehicleType_decode_aper; -per_type_encoder_f VehicleType_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleType_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleTypes.c b/src/tmx/Asn_J2735/src/r2024/VehicleTypes.c new file mode 100644 index 000000000..391f018cb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleTypes.c @@ -0,0 +1,92 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleTypes.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleTypes_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleTypes_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 0, 12 } /* (0..12,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_VehicleTypes_value2enum_1[] = { + { 1, 11, "motorcycles" }, + { 2, 13, "passengerCars" }, + { 3, 18, "fourTireSingleUnit" }, + { 4, 5, "buses" }, + { 5, 24, "twoAxleSixTireSingleUnit" }, + { 6, 19, "threeAxleSingleUnit" }, + { 7, 24, "fourOrMoreAxleSingleUnit" }, + { 8, 27, "fourOrLessAxleSingleTrailer" }, + { 9, 26, "fiveAxleTractorSemitrailer" }, + { 10, 26, "sixOrMoreAxleSingleTrailer" }, + { 11, 26, "fiveOrLessAxleMultiTrailer" }, + { 12, 19, "sixAxleMultiTrailer" }, + { 13, 27, "sevenOrMoreAxleMultiTrailer" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_VehicleTypes_enum2value_1[] = { + 3, /* buses(4) */ + 8, /* fiveAxleTractorSemitrailer(9) */ + 10, /* fiveOrLessAxleMultiTrailer(11) */ + 7, /* fourOrLessAxleSingleTrailer(8) */ + 6, /* fourOrMoreAxleSingleUnit(7) */ + 2, /* fourTireSingleUnit(3) */ + 0, /* motorcycles(1) */ + 1, /* passengerCars(2) */ + 12, /* sevenOrMoreAxleMultiTrailer(13) */ + 11, /* sixAxleMultiTrailer(12) */ + 9, /* sixOrMoreAxleSingleTrailer(10) */ + 5, /* threeAxleSingleUnit(6) */ + 4 /* twoAxleSixTireSingleUnit(5) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_VehicleTypes_specs_1 = { + asn_MAP_VehicleTypes_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_VehicleTypes_enum2value_1, /* N => "tag"; sorted by N */ + 13, /* Number of elements in the maps */ + 14, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_VehicleTypes_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleTypes = { + "VehicleTypes", + "VehicleTypes", + &asn_OP_NativeEnumerated, + asn_DEF_VehicleTypes_tags_1, + sizeof(asn_DEF_VehicleTypes_tags_1) + /sizeof(asn_DEF_VehicleTypes_tags_1[0]), /* 1 */ + asn_DEF_VehicleTypes_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleTypes_tags_1) + /sizeof(asn_DEF_VehicleTypes_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleTypes_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleTypes_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_VehicleTypes_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleTypes.h b/src/tmx/Asn_J2735/src/r2024/VehicleTypes.h deleted file mode 100644 index 32d086534..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleTypes.h +++ /dev/null @@ -1,67 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleTypes_H_ -#define _VehicleTypes_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum VehicleTypes { - VehicleTypes_motorcycles = 1, - VehicleTypes_passengerCars = 2, - VehicleTypes_fourTireSingleUnit = 3, - VehicleTypes_buses = 4, - VehicleTypes_twoAxleSixTireSingleUnit = 5, - VehicleTypes_threeAxleSingleUnit = 6, - VehicleTypes_fourOrMoreAxleSingleUnit = 7, - VehicleTypes_fourOrLessAxleSingleTrailer = 8, - VehicleTypes_fiveAxleTractorSemitrailer = 9, - VehicleTypes_sixOrMoreAxleSingleTrailer = 10, - VehicleTypes_fiveOrLessAxleMultiTrailer = 11, - VehicleTypes_sixAxleMultiTrailer = 12, - VehicleTypes_sevenOrMoreAxleMultiTrailer = 13 - /* - * Enumeration is extensible - */ -} e_VehicleTypes; - -/* VehicleTypes */ -typedef long VehicleTypes_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VehicleTypes_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VehicleTypes; -extern const asn_INTEGER_specifics_t asn_SPC_VehicleTypes_specs_1; -asn_struct_free_f VehicleTypes_free; -asn_struct_print_f VehicleTypes_print; -asn_constr_check_f VehicleTypes_constraint; -ber_type_decoder_f VehicleTypes_decode_ber; -der_type_encoder_f VehicleTypes_encode_der; -xer_type_decoder_f VehicleTypes_decode_xer; -xer_type_encoder_f VehicleTypes_encode_xer; -oer_type_decoder_f VehicleTypes_decode_oer; -oer_type_encoder_f VehicleTypes_encode_oer; -per_type_decoder_f VehicleTypes_decode_uper; -per_type_encoder_f VehicleTypes_encode_uper; -per_type_decoder_f VehicleTypes_decode_aper; -per_type_encoder_f VehicleTypes_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleTypes_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleWeightLaden.c b/src/tmx/Asn_J2735/src/r2024/VehicleWeightLaden.c new file mode 100644 index 000000000..f14e1a7d2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleWeightLaden.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleWeightLaden.h" + +int +VehicleWeightLaden_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using Int2Unsigned, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleWeightLaden_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleWeightLaden_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VehicleWeightLaden_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleWeightLaden = { + "VehicleWeightLaden", + "VehicleWeightLaden", + &asn_OP_NativeInteger, + asn_DEF_VehicleWeightLaden_tags_1, + sizeof(asn_DEF_VehicleWeightLaden_tags_1) + /sizeof(asn_DEF_VehicleWeightLaden_tags_1[0]), /* 1 */ + asn_DEF_VehicleWeightLaden_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleWeightLaden_tags_1) + /sizeof(asn_DEF_VehicleWeightLaden_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleWeightLaden_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleWeightLaden_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VehicleWeightLaden_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleWeightLaden.h b/src/tmx/Asn_J2735/src/r2024/VehicleWeightLaden.h deleted file mode 100644 index c97fd3fc8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleWeightLaden.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleWeightLaden_H_ -#define _VehicleWeightLaden_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int2Unsigned.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleWeightLaden */ -typedef Int2Unsigned_t VehicleWeightLaden_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VehicleWeightLaden_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VehicleWeightLaden; -asn_struct_free_f VehicleWeightLaden_free; -asn_struct_print_f VehicleWeightLaden_print; -asn_constr_check_f VehicleWeightLaden_constraint; -ber_type_decoder_f VehicleWeightLaden_decode_ber; -der_type_encoder_f VehicleWeightLaden_encode_der; -xer_type_decoder_f VehicleWeightLaden_decode_xer; -xer_type_encoder_f VehicleWeightLaden_encode_xer; -oer_type_decoder_f VehicleWeightLaden_decode_oer; -oer_type_encoder_f VehicleWeightLaden_encode_oer; -per_type_decoder_f VehicleWeightLaden_decode_uper; -per_type_encoder_f VehicleWeightLaden_encode_uper; -per_type_decoder_f VehicleWeightLaden_decode_aper; -per_type_encoder_f VehicleWeightLaden_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleWeightLaden_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleWeightLimits.c b/src/tmx/Asn_J2735/src/r2024/VehicleWeightLimits.c new file mode 100644 index 000000000..5b16134b6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleWeightLimits.c @@ -0,0 +1,102 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleWeightLimits.h" + +asn_TYPE_member_t asn_MBR_VehicleWeightLimits_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct VehicleWeightLimits, vehicleMaxLadenWeight), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleMaxLadenWeight" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleWeightLimits, vehicleTrainMaximumWeight), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleTrainMaximumWeight" + }, + { ATF_NOFLAGS, 0, offsetof(struct VehicleWeightLimits, vehicleWeightUnladen), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Int2Unsigned, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "vehicleWeightUnladen" + }, +}; +static const ber_tlv_tag_t asn_DEF_VehicleWeightLimits_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VehicleWeightLimits_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* vehicleMaxLadenWeight */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* vehicleTrainMaximumWeight */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* vehicleWeightUnladen */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VehicleWeightLimits_specs_1 = { + sizeof(struct VehicleWeightLimits), + offsetof(struct VehicleWeightLimits, _asn_ctx), + asn_MAP_VehicleWeightLimits_tag2el_1, + 3, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VehicleWeightLimits = { + "VehicleWeightLimits", + "VehicleWeightLimits", + &asn_OP_SEQUENCE, + asn_DEF_VehicleWeightLimits_tags_1, + sizeof(asn_DEF_VehicleWeightLimits_tags_1) + /sizeof(asn_DEF_VehicleWeightLimits_tags_1[0]), /* 1 */ + asn_DEF_VehicleWeightLimits_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleWeightLimits_tags_1) + /sizeof(asn_DEF_VehicleWeightLimits_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VehicleWeightLimits_1, + 3, /* Elements count */ + &asn_SPC_VehicleWeightLimits_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleWeightLimits.h b/src/tmx/Asn_J2735/src/r2024/VehicleWeightLimits.h deleted file mode 100644 index 6acf7908a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleWeightLimits.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleWeightLimits_H_ -#define _VehicleWeightLimits_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "Int2Unsigned.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleWeightLimits */ -typedef struct VehicleWeightLimits { - Int2Unsigned_t vehicleMaxLadenWeight; - Int2Unsigned_t vehicleTrainMaximumWeight; - Int2Unsigned_t vehicleWeightUnladen; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VehicleWeightLimits_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VehicleWeightLimits; -extern asn_SEQUENCE_specifics_t asn_SPC_VehicleWeightLimits_specs_1; -extern asn_TYPE_member_t asn_MBR_VehicleWeightLimits_1[3]; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleWeightLimits_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleWidth.c b/src/tmx/Asn_J2735/src/r2024/VehicleWidth.c new file mode 100644 index 000000000..62eb97bf6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VehicleWidth.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VehicleWidth.h" + +int +VehicleWidth_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 1023L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VehicleWidth_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..1023) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VehicleWidth_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, 0, 1023 } /* (0..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VehicleWidth_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VehicleWidth = { + "VehicleWidth", + "VehicleWidth", + &asn_OP_NativeInteger, + asn_DEF_VehicleWidth_tags_1, + sizeof(asn_DEF_VehicleWidth_tags_1) + /sizeof(asn_DEF_VehicleWidth_tags_1[0]), /* 1 */ + asn_DEF_VehicleWidth_tags_1, /* Same as above */ + sizeof(asn_DEF_VehicleWidth_tags_1) + /sizeof(asn_DEF_VehicleWidth_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VehicleWidth_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VehicleWidth_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VehicleWidth_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VehicleWidth.h b/src/tmx/Asn_J2735/src/r2024/VehicleWidth.h deleted file mode 100644 index 0c725accf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VehicleWidth.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VehicleWidth_H_ -#define _VehicleWidth_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VehicleWidth */ -typedef long VehicleWidth_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VehicleWidth_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VehicleWidth; -asn_struct_free_f VehicleWidth_free; -asn_struct_print_f VehicleWidth_print; -asn_constr_check_f VehicleWidth_constraint; -ber_type_decoder_f VehicleWidth_decode_ber; -der_type_encoder_f VehicleWidth_encode_der; -xer_type_decoder_f VehicleWidth_decode_xer; -xer_type_encoder_f VehicleWidth_encode_xer; -oer_type_decoder_f VehicleWidth_decode_oer; -oer_type_encoder_f VehicleWidth_encode_oer; -per_type_decoder_f VehicleWidth_decode_uper; -per_type_encoder_f VehicleWidth_encode_uper; -per_type_decoder_f VehicleWidth_decode_aper; -per_type_encoder_f VehicleWidth_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VehicleWidth_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Velocity.c b/src/tmx/Asn_J2735/src/r2024/Velocity.c new file mode 100644 index 000000000..7e1396728 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Velocity.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Velocity.h" + +int +Velocity_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 8191L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Velocity_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..8191) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Velocity_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 13, 13, 0, 8191 } /* (0..8191) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Velocity_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Velocity = { + "Velocity", + "Velocity", + &asn_OP_NativeInteger, + asn_DEF_Velocity_tags_1, + sizeof(asn_DEF_Velocity_tags_1) + /sizeof(asn_DEF_Velocity_tags_1[0]), /* 1 */ + asn_DEF_Velocity_tags_1, /* Same as above */ + sizeof(asn_DEF_Velocity_tags_1) + /sizeof(asn_DEF_Velocity_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Velocity_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Velocity_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Velocity_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Velocity.h b/src/tmx/Asn_J2735/src/r2024/Velocity.h deleted file mode 100644 index 185a23c0c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Velocity.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Velocity_H_ -#define _Velocity_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Velocity */ -typedef long Velocity_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Velocity_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Velocity; -asn_struct_free_f Velocity_free; -asn_struct_print_f Velocity_print; -asn_constr_check_f Velocity_constraint; -ber_type_decoder_f Velocity_decode_ber; -der_type_encoder_f Velocity_encode_der; -xer_type_decoder_f Velocity_decode_xer; -xer_type_encoder_f Velocity_encode_xer; -oer_type_decoder_f Velocity_decode_oer; -oer_type_encoder_f Velocity_encode_oer; -per_type_decoder_f Velocity_decode_uper; -per_type_encoder_f Velocity_encode_uper; -per_type_decoder_f Velocity_decode_aper; -per_type_encoder_f Velocity_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Velocity_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VertOffset-B07.c b/src/tmx/Asn_J2735/src/r2024/VertOffset-B07.c new file mode 100644 index 000000000..e401e045d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VertOffset-B07.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VertOffset-B07.h" + +int +VertOffset_B07_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -64L && value <= 63L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VertOffset_B07_constr_1 CC_NOTUSED = { + { 1, 0 } /* (-64..63) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VertOffset_B07_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, -64, 63 } /* (-64..63) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VertOffset_B07_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VertOffset_B07 = { + "VertOffset-B07", + "VertOffset-B07", + &asn_OP_NativeInteger, + asn_DEF_VertOffset_B07_tags_1, + sizeof(asn_DEF_VertOffset_B07_tags_1) + /sizeof(asn_DEF_VertOffset_B07_tags_1[0]), /* 1 */ + asn_DEF_VertOffset_B07_tags_1, /* Same as above */ + sizeof(asn_DEF_VertOffset_B07_tags_1) + /sizeof(asn_DEF_VertOffset_B07_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VertOffset_B07_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VertOffset_B07_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VertOffset_B07_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VertOffset-B07.h b/src/tmx/Asn_J2735/src/r2024/VertOffset-B07.h deleted file mode 100644 index e34287e6e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VertOffset-B07.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VertOffset_B07_H_ -#define _VertOffset_B07_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VertOffset-B07 */ -typedef long VertOffset_B07_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VertOffset_B07_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VertOffset_B07; -asn_struct_free_f VertOffset_B07_free; -asn_struct_print_f VertOffset_B07_print; -asn_constr_check_f VertOffset_B07_constraint; -ber_type_decoder_f VertOffset_B07_decode_ber; -der_type_encoder_f VertOffset_B07_encode_der; -xer_type_decoder_f VertOffset_B07_decode_xer; -xer_type_encoder_f VertOffset_B07_encode_xer; -oer_type_decoder_f VertOffset_B07_decode_oer; -oer_type_encoder_f VertOffset_B07_encode_oer; -per_type_decoder_f VertOffset_B07_decode_uper; -per_type_encoder_f VertOffset_B07_encode_uper; -per_type_decoder_f VertOffset_B07_decode_aper; -per_type_encoder_f VertOffset_B07_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VertOffset_B07_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VertOffset-B08.c b/src/tmx/Asn_J2735/src/r2024/VertOffset-B08.c new file mode 100644 index 000000000..451ac222b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VertOffset-B08.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VertOffset-B08.h" + +int +VertOffset_B08_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -128L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VertOffset_B08_constr_1 CC_NOTUSED = { + { 1, 0 } /* (-128..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VertOffset_B08_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -128, 127 } /* (-128..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VertOffset_B08_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VertOffset_B08 = { + "VertOffset-B08", + "VertOffset-B08", + &asn_OP_NativeInteger, + asn_DEF_VertOffset_B08_tags_1, + sizeof(asn_DEF_VertOffset_B08_tags_1) + /sizeof(asn_DEF_VertOffset_B08_tags_1[0]), /* 1 */ + asn_DEF_VertOffset_B08_tags_1, /* Same as above */ + sizeof(asn_DEF_VertOffset_B08_tags_1) + /sizeof(asn_DEF_VertOffset_B08_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VertOffset_B08_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VertOffset_B08_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VertOffset_B08_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VertOffset-B08.h b/src/tmx/Asn_J2735/src/r2024/VertOffset-B08.h deleted file mode 100644 index fd4bdfac7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VertOffset-B08.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VertOffset_B08_H_ -#define _VertOffset_B08_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VertOffset-B08 */ -typedef long VertOffset_B08_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VertOffset_B08_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VertOffset_B08; -asn_struct_free_f VertOffset_B08_free; -asn_struct_print_f VertOffset_B08_print; -asn_constr_check_f VertOffset_B08_constraint; -ber_type_decoder_f VertOffset_B08_decode_ber; -der_type_encoder_f VertOffset_B08_encode_der; -xer_type_decoder_f VertOffset_B08_decode_xer; -xer_type_encoder_f VertOffset_B08_encode_xer; -oer_type_decoder_f VertOffset_B08_decode_oer; -oer_type_encoder_f VertOffset_B08_encode_oer; -per_type_decoder_f VertOffset_B08_decode_uper; -per_type_encoder_f VertOffset_B08_encode_uper; -per_type_decoder_f VertOffset_B08_decode_aper; -per_type_encoder_f VertOffset_B08_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VertOffset_B08_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VertOffset-B09.c b/src/tmx/Asn_J2735/src/r2024/VertOffset-B09.c new file mode 100644 index 000000000..bf30d2eb6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VertOffset-B09.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VertOffset-B09.h" + +int +VertOffset_B09_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -256L && value <= 255L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VertOffset_B09_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-256..255) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VertOffset_B09_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 9, 9, -256, 255 } /* (-256..255) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VertOffset_B09_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VertOffset_B09 = { + "VertOffset-B09", + "VertOffset-B09", + &asn_OP_NativeInteger, + asn_DEF_VertOffset_B09_tags_1, + sizeof(asn_DEF_VertOffset_B09_tags_1) + /sizeof(asn_DEF_VertOffset_B09_tags_1[0]), /* 1 */ + asn_DEF_VertOffset_B09_tags_1, /* Same as above */ + sizeof(asn_DEF_VertOffset_B09_tags_1) + /sizeof(asn_DEF_VertOffset_B09_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VertOffset_B09_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VertOffset_B09_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VertOffset_B09_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VertOffset-B09.h b/src/tmx/Asn_J2735/src/r2024/VertOffset-B09.h deleted file mode 100644 index f6f41cbbc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VertOffset-B09.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VertOffset_B09_H_ -#define _VertOffset_B09_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VertOffset-B09 */ -typedef long VertOffset_B09_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VertOffset_B09_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VertOffset_B09; -asn_struct_free_f VertOffset_B09_free; -asn_struct_print_f VertOffset_B09_print; -asn_constr_check_f VertOffset_B09_constraint; -ber_type_decoder_f VertOffset_B09_decode_ber; -der_type_encoder_f VertOffset_B09_encode_der; -xer_type_decoder_f VertOffset_B09_decode_xer; -xer_type_encoder_f VertOffset_B09_encode_xer; -oer_type_decoder_f VertOffset_B09_decode_oer; -oer_type_encoder_f VertOffset_B09_encode_oer; -per_type_decoder_f VertOffset_B09_decode_uper; -per_type_encoder_f VertOffset_B09_encode_uper; -per_type_decoder_f VertOffset_B09_decode_aper; -per_type_encoder_f VertOffset_B09_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VertOffset_B09_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VertOffset-B10.c b/src/tmx/Asn_J2735/src/r2024/VertOffset-B10.c new file mode 100644 index 000000000..096381780 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VertOffset-B10.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VertOffset-B10.h" + +int +VertOffset_B10_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -512L && value <= 511L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VertOffset_B10_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-512..511) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VertOffset_B10_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 10, 10, -512, 511 } /* (-512..511) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VertOffset_B10_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VertOffset_B10 = { + "VertOffset-B10", + "VertOffset-B10", + &asn_OP_NativeInteger, + asn_DEF_VertOffset_B10_tags_1, + sizeof(asn_DEF_VertOffset_B10_tags_1) + /sizeof(asn_DEF_VertOffset_B10_tags_1[0]), /* 1 */ + asn_DEF_VertOffset_B10_tags_1, /* Same as above */ + sizeof(asn_DEF_VertOffset_B10_tags_1) + /sizeof(asn_DEF_VertOffset_B10_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VertOffset_B10_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VertOffset_B10_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VertOffset_B10_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VertOffset-B10.h b/src/tmx/Asn_J2735/src/r2024/VertOffset-B10.h deleted file mode 100644 index 945d05241..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VertOffset-B10.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VertOffset_B10_H_ -#define _VertOffset_B10_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VertOffset-B10 */ -typedef long VertOffset_B10_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VertOffset_B10_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VertOffset_B10; -asn_struct_free_f VertOffset_B10_free; -asn_struct_print_f VertOffset_B10_print; -asn_constr_check_f VertOffset_B10_constraint; -ber_type_decoder_f VertOffset_B10_decode_ber; -der_type_encoder_f VertOffset_B10_encode_der; -xer_type_decoder_f VertOffset_B10_decode_xer; -xer_type_encoder_f VertOffset_B10_encode_xer; -oer_type_decoder_f VertOffset_B10_decode_oer; -oer_type_encoder_f VertOffset_B10_encode_oer; -per_type_decoder_f VertOffset_B10_decode_uper; -per_type_encoder_f VertOffset_B10_encode_uper; -per_type_decoder_f VertOffset_B10_decode_aper; -per_type_encoder_f VertOffset_B10_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VertOffset_B10_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VertOffset-B11.c b/src/tmx/Asn_J2735/src/r2024/VertOffset-B11.c new file mode 100644 index 000000000..d537a8b89 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VertOffset-B11.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VertOffset-B11.h" + +int +VertOffset_B11_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -1024L && value <= 1023L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VertOffset_B11_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-1024..1023) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VertOffset_B11_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 11, 11, -1024, 1023 } /* (-1024..1023) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VertOffset_B11_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VertOffset_B11 = { + "VertOffset-B11", + "VertOffset-B11", + &asn_OP_NativeInteger, + asn_DEF_VertOffset_B11_tags_1, + sizeof(asn_DEF_VertOffset_B11_tags_1) + /sizeof(asn_DEF_VertOffset_B11_tags_1[0]), /* 1 */ + asn_DEF_VertOffset_B11_tags_1, /* Same as above */ + sizeof(asn_DEF_VertOffset_B11_tags_1) + /sizeof(asn_DEF_VertOffset_B11_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VertOffset_B11_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VertOffset_B11_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VertOffset_B11_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VertOffset-B11.h b/src/tmx/Asn_J2735/src/r2024/VertOffset-B11.h deleted file mode 100644 index e248cbeef..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VertOffset-B11.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VertOffset_B11_H_ -#define _VertOffset_B11_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VertOffset-B11 */ -typedef long VertOffset_B11_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VertOffset_B11_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VertOffset_B11; -asn_struct_free_f VertOffset_B11_free; -asn_struct_print_f VertOffset_B11_print; -asn_constr_check_f VertOffset_B11_constraint; -ber_type_decoder_f VertOffset_B11_decode_ber; -der_type_encoder_f VertOffset_B11_encode_der; -xer_type_decoder_f VertOffset_B11_decode_xer; -xer_type_encoder_f VertOffset_B11_encode_xer; -oer_type_decoder_f VertOffset_B11_decode_oer; -oer_type_encoder_f VertOffset_B11_encode_oer; -per_type_decoder_f VertOffset_B11_decode_uper; -per_type_encoder_f VertOffset_B11_encode_uper; -per_type_decoder_f VertOffset_B11_decode_aper; -per_type_encoder_f VertOffset_B11_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VertOffset_B11_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VertOffset-B12.c b/src/tmx/Asn_J2735/src/r2024/VertOffset-B12.c new file mode 100644 index 000000000..3b8508f6e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VertOffset-B12.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VertOffset-B12.h" + +int +VertOffset_B12_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -2048L && value <= 2047L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VertOffset_B12_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-2048..2047) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VertOffset_B12_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 12, 12, -2048, 2047 } /* (-2048..2047) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VertOffset_B12_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VertOffset_B12 = { + "VertOffset-B12", + "VertOffset-B12", + &asn_OP_NativeInteger, + asn_DEF_VertOffset_B12_tags_1, + sizeof(asn_DEF_VertOffset_B12_tags_1) + /sizeof(asn_DEF_VertOffset_B12_tags_1[0]), /* 1 */ + asn_DEF_VertOffset_B12_tags_1, /* Same as above */ + sizeof(asn_DEF_VertOffset_B12_tags_1) + /sizeof(asn_DEF_VertOffset_B12_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VertOffset_B12_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VertOffset_B12_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VertOffset_B12_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VertOffset-B12.h b/src/tmx/Asn_J2735/src/r2024/VertOffset-B12.h deleted file mode 100644 index 05ce3b957..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VertOffset-B12.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VertOffset_B12_H_ -#define _VertOffset_B12_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VertOffset-B12 */ -typedef long VertOffset_B12_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VertOffset_B12_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VertOffset_B12; -asn_struct_free_f VertOffset_B12_free; -asn_struct_print_f VertOffset_B12_print; -asn_constr_check_f VertOffset_B12_constraint; -ber_type_decoder_f VertOffset_B12_decode_ber; -der_type_encoder_f VertOffset_B12_encode_der; -xer_type_decoder_f VertOffset_B12_decode_xer; -xer_type_encoder_f VertOffset_B12_encode_xer; -oer_type_decoder_f VertOffset_B12_decode_oer; -oer_type_encoder_f VertOffset_B12_encode_oer; -per_type_decoder_f VertOffset_B12_decode_uper; -per_type_encoder_f VertOffset_B12_encode_uper; -per_type_decoder_f VertOffset_B12_decode_aper; -per_type_encoder_f VertOffset_B12_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VertOffset_B12_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VerticalAcceleration.c b/src/tmx/Asn_J2735/src/r2024/VerticalAcceleration.c new file mode 100644 index 000000000..ae75f38b0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VerticalAcceleration.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VerticalAcceleration.h" + +int +VerticalAcceleration_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -127L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VerticalAcceleration_constr_1 CC_NOTUSED = { + { 1, 0 } /* (-127..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VerticalAcceleration_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 8, 8, -127, 127 } /* (-127..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VerticalAcceleration_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VerticalAcceleration = { + "VerticalAcceleration", + "VerticalAcceleration", + &asn_OP_NativeInteger, + asn_DEF_VerticalAcceleration_tags_1, + sizeof(asn_DEF_VerticalAcceleration_tags_1) + /sizeof(asn_DEF_VerticalAcceleration_tags_1[0]), /* 1 */ + asn_DEF_VerticalAcceleration_tags_1, /* Same as above */ + sizeof(asn_DEF_VerticalAcceleration_tags_1) + /sizeof(asn_DEF_VerticalAcceleration_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VerticalAcceleration_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VerticalAcceleration_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VerticalAcceleration_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VerticalAcceleration.h b/src/tmx/Asn_J2735/src/r2024/VerticalAcceleration.h deleted file mode 100644 index 309d30a6f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VerticalAcceleration.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VerticalAcceleration_H_ -#define _VerticalAcceleration_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VerticalAcceleration */ -typedef long VerticalAcceleration_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VerticalAcceleration_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VerticalAcceleration; -asn_struct_free_f VerticalAcceleration_free; -asn_struct_print_f VerticalAcceleration_print; -asn_constr_check_f VerticalAcceleration_constraint; -ber_type_decoder_f VerticalAcceleration_decode_ber; -der_type_encoder_f VerticalAcceleration_encode_der; -xer_type_decoder_f VerticalAcceleration_decode_xer; -xer_type_encoder_f VerticalAcceleration_encode_xer; -oer_type_decoder_f VerticalAcceleration_decode_oer; -oer_type_encoder_f VerticalAcceleration_encode_oer; -per_type_decoder_f VerticalAcceleration_decode_uper; -per_type_encoder_f VerticalAcceleration_encode_uper; -per_type_decoder_f VerticalAcceleration_decode_aper; -per_type_encoder_f VerticalAcceleration_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VerticalAcceleration_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VerticalAccelerationThreshold.c b/src/tmx/Asn_J2735/src/r2024/VerticalAccelerationThreshold.c new file mode 100644 index 000000000..9dcd02961 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VerticalAccelerationThreshold.c @@ -0,0 +1,82 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VerticalAccelerationThreshold.h" + +int +VerticalAccelerationThreshold_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const BIT_STRING_t *st = (const BIT_STRING_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + if(st->size > 0) { + /* Size in bits */ + size = 8 * st->size - (st->bits_unused & 0x07); + } else { + size = 0; + } + + if((size == 5UL)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using BIT_STRING, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VerticalAccelerationThreshold_constr_1 CC_NOTUSED = { + { 0, 0 }, + 5 /* (SIZE(5..5)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VerticalAccelerationThreshold_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 0, 0, 5, 5 } /* (SIZE(5..5)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VerticalAccelerationThreshold_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (3 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VerticalAccelerationThreshold = { + "VerticalAccelerationThreshold", + "VerticalAccelerationThreshold", + &asn_OP_BIT_STRING, + asn_DEF_VerticalAccelerationThreshold_tags_1, + sizeof(asn_DEF_VerticalAccelerationThreshold_tags_1) + /sizeof(asn_DEF_VerticalAccelerationThreshold_tags_1[0]), /* 1 */ + asn_DEF_VerticalAccelerationThreshold_tags_1, /* Same as above */ + sizeof(asn_DEF_VerticalAccelerationThreshold_tags_1) + /sizeof(asn_DEF_VerticalAccelerationThreshold_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VerticalAccelerationThreshold_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VerticalAccelerationThreshold_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VerticalAccelerationThreshold_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_BIT_STRING_specs /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VerticalAccelerationThreshold.h b/src/tmx/Asn_J2735/src/r2024/VerticalAccelerationThreshold.h deleted file mode 100644 index 6177e2b57..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VerticalAccelerationThreshold.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VerticalAccelerationThreshold_H_ -#define _VerticalAccelerationThreshold_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BIT_STRING.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum VerticalAccelerationThreshold { - VerticalAccelerationThreshold_notEquipped = 0, - VerticalAccelerationThreshold_leftFront = 1, - VerticalAccelerationThreshold_leftRear = 2, - VerticalAccelerationThreshold_rightFront = 3, - VerticalAccelerationThreshold_rightRear = 4 -} e_VerticalAccelerationThreshold; - -/* VerticalAccelerationThreshold */ -typedef BIT_STRING_t VerticalAccelerationThreshold_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VerticalAccelerationThreshold_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VerticalAccelerationThreshold; -asn_struct_free_f VerticalAccelerationThreshold_free; -asn_struct_print_f VerticalAccelerationThreshold_print; -asn_constr_check_f VerticalAccelerationThreshold_constraint; -ber_type_decoder_f VerticalAccelerationThreshold_decode_ber; -der_type_encoder_f VerticalAccelerationThreshold_encode_der; -xer_type_decoder_f VerticalAccelerationThreshold_decode_xer; -xer_type_encoder_f VerticalAccelerationThreshold_encode_xer; -oer_type_decoder_f VerticalAccelerationThreshold_decode_oer; -oer_type_encoder_f VerticalAccelerationThreshold_encode_oer; -per_type_decoder_f VerticalAccelerationThreshold_decode_uper; -per_type_encoder_f VerticalAccelerationThreshold_encode_uper; -per_type_decoder_f VerticalAccelerationThreshold_decode_aper; -per_type_encoder_f VerticalAccelerationThreshold_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VerticalAccelerationThreshold_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VerticalOffset.c b/src/tmx/Asn_J2735/src/r2024/VerticalOffset.c new file mode 100644 index 000000000..91db77c8f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VerticalOffset.c @@ -0,0 +1,201 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VerticalOffset.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VerticalOffset_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_VerticalOffset_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_VerticalOffset_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct VerticalOffset, choice.offset1), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VertOffset_B07, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offset1" + }, + { ATF_NOFLAGS, 0, offsetof(struct VerticalOffset, choice.offset2), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VertOffset_B08, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offset2" + }, + { ATF_NOFLAGS, 0, offsetof(struct VerticalOffset, choice.offset3), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VertOffset_B09, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offset3" + }, + { ATF_NOFLAGS, 0, offsetof(struct VerticalOffset, choice.offset4), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VertOffset_B10, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offset4" + }, + { ATF_NOFLAGS, 0, offsetof(struct VerticalOffset, choice.offset5), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VertOffset_B11, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offset5" + }, + { ATF_NOFLAGS, 0, offsetof(struct VerticalOffset, choice.offset6), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_VertOffset_B12, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "offset6" + }, + { ATF_NOFLAGS, 0, offsetof(struct VerticalOffset, choice.elevation), + (ASN_TAG_CLASS_CONTEXT | (6 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Common_Elevation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "elevation" + }, + { ATF_NOFLAGS, 0, offsetof(struct VerticalOffset, choice.regional), + (ASN_TAG_CLASS_CONTEXT | (7 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_Reg_VerticalOffset, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "regional" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_VerticalOffset_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* offset1 */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* offset2 */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* offset3 */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* offset4 */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* offset5 */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 }, /* offset6 */ + { (ASN_TAG_CLASS_CONTEXT | (6 << 2)), 6, 0, 0 }, /* elevation */ + { (ASN_TAG_CLASS_CONTEXT | (7 << 2)), 7, 0, 0 } /* regional */ +}; +static asn_CHOICE_specifics_t asn_SPC_VerticalOffset_specs_1 = { + sizeof(struct VerticalOffset), + offsetof(struct VerticalOffset, _asn_ctx), + offsetof(struct VerticalOffset, present), + sizeof(((struct VerticalOffset *)0)->present), + asn_MAP_VerticalOffset_tag2el_1, + 8, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_VerticalOffset = { + "VerticalOffset", + "VerticalOffset", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VerticalOffset_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VerticalOffset_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_VerticalOffset_1, + 8, /* Elements count */ + &asn_SPC_VerticalOffset_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VerticalOffset.h b/src/tmx/Asn_J2735/src/r2024/VerticalOffset.h deleted file mode 100644 index 8cf4c110e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VerticalOffset.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VerticalOffset_H_ -#define _VerticalOffset_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "VertOffset-B07.h" -#include "VertOffset-B08.h" -#include "VertOffset-B09.h" -#include "VertOffset-B10.h" -#include "VertOffset-B11.h" -#include "VertOffset-B12.h" -#include "Common_Elevation.h" -#include "RegionalExtension.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum VerticalOffset_PR { - VerticalOffset_PR_NOTHING, /* No components present */ - VerticalOffset_PR_offset1, - VerticalOffset_PR_offset2, - VerticalOffset_PR_offset3, - VerticalOffset_PR_offset4, - VerticalOffset_PR_offset5, - VerticalOffset_PR_offset6, - VerticalOffset_PR_elevation, - VerticalOffset_PR_regional -} VerticalOffset_PR; - -/* VerticalOffset */ -typedef struct VerticalOffset { - VerticalOffset_PR present; - union VerticalOffset_u { - VertOffset_B07_t offset1; - VertOffset_B08_t offset2; - VertOffset_B09_t offset3; - VertOffset_B10_t offset4; - VertOffset_B11_t offset5; - VertOffset_B12_t offset6; - Common_Elevation_t elevation; - Reg_VerticalOffset_t regional; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VerticalOffset_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VerticalOffset; - -#ifdef __cplusplus -} -#endif - -#endif /* _VerticalOffset_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VisibilityAndAirQuality.c b/src/tmx/Asn_J2735/src/r2024/VisibilityAndAirQuality.c new file mode 100644 index 000000000..7963a72ae --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VisibilityAndAirQuality.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VisibilityAndAirQuality.h" + +int +VisibilityAndAirQuality_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_VisibilityAndAirQuality_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_VisibilityAndAirQuality_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_VisibilityAndAirQuality_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_VisibilityAndAirQuality = { + "VisibilityAndAirQuality", + "VisibilityAndAirQuality", + &asn_OP_NativeInteger, + asn_DEF_VisibilityAndAirQuality_tags_1, + sizeof(asn_DEF_VisibilityAndAirQuality_tags_1) + /sizeof(asn_DEF_VisibilityAndAirQuality_tags_1[0]), /* 1 */ + asn_DEF_VisibilityAndAirQuality_tags_1, /* Same as above */ + sizeof(asn_DEF_VisibilityAndAirQuality_tags_1) + /sizeof(asn_DEF_VisibilityAndAirQuality_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_VisibilityAndAirQuality_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_VisibilityAndAirQuality_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + VisibilityAndAirQuality_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VisibilityAndAirQuality.h b/src/tmx/Asn_J2735/src/r2024/VisibilityAndAirQuality.h deleted file mode 100644 index b5f95ed9e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VisibilityAndAirQuality.h +++ /dev/null @@ -1,84 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VisibilityAndAirQuality_H_ -#define _VisibilityAndAirQuality_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum VisibilityAndAirQuality { - VisibilityAndAirQuality_dense_fog = 5377, - VisibilityAndAirQuality_fog = 5378, - VisibilityAndAirQuality_patchy_fog = 5379, - VisibilityAndAirQuality_freezing_fog = 5380, - VisibilityAndAirQuality_ice_fog = 5405, - VisibilityAndAirQuality_mist = 5381, - VisibilityAndAirQuality_haze = 5382, - VisibilityAndAirQuality_visibility_reduced = 5383, - VisibilityAndAirQuality_visibility_blocked = 5404, - VisibilityAndAirQuality_white_out = 5384, - VisibilityAndAirQuality_blowing_snow = 5385, - VisibilityAndAirQuality_smoke_hazard = 5386, - VisibilityAndAirQuality_spray_hazard = 5387, - VisibilityAndAirQuality_low_sun_glare = 5388, - VisibilityAndAirQuality_snow_glare = 5389, - VisibilityAndAirQuality_blowing_dust = 5390, - VisibilityAndAirQuality_blowing_sand = 5391, - VisibilityAndAirQuality_dust_storms = 5392, - VisibilityAndAirQuality_sandstorms = 5393, - VisibilityAndAirQuality_air_quality_good = 5394, - VisibilityAndAirQuality_air_quality_fair = 5395, - VisibilityAndAirQuality_air_quality_poor = 5396, - VisibilityAndAirQuality_air_quality_very_poor = 5397, - VisibilityAndAirQuality_severe_exhaust_pollution = 5398, - VisibilityAndAirQuality_smog_alert = 5399, - VisibilityAndAirQuality_pollen_count_high = 5400, - VisibilityAndAirQuality_pollen_count_medium = 5401, - VisibilityAndAirQuality_pollen_count_low = 5402, - VisibilityAndAirQuality_swarms_of_insects = 5403, - VisibilityAndAirQuality_fog_clearing = 5499, - VisibilityAndAirQuality_visibility_improved = 5500, - VisibilityAndAirQuality_fog_forecast_withdrawn = 5501, - VisibilityAndAirQuality_pollution_alert_ended = 5502, - VisibilityAndAirQuality_air_quality_improved = 5503 -} e_VisibilityAndAirQuality; - -/* VisibilityAndAirQuality */ -typedef long VisibilityAndAirQuality_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_VisibilityAndAirQuality_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_VisibilityAndAirQuality; -asn_struct_free_f VisibilityAndAirQuality_free; -asn_struct_print_f VisibilityAndAirQuality_print; -asn_constr_check_f VisibilityAndAirQuality_constraint; -ber_type_decoder_f VisibilityAndAirQuality_decode_ber; -der_type_encoder_f VisibilityAndAirQuality_encode_der; -xer_type_decoder_f VisibilityAndAirQuality_decode_xer; -xer_type_encoder_f VisibilityAndAirQuality_encode_xer; -oer_type_decoder_f VisibilityAndAirQuality_decode_oer; -oer_type_encoder_f VisibilityAndAirQuality_encode_oer; -per_type_decoder_f VisibilityAndAirQuality_decode_uper; -per_type_encoder_f VisibilityAndAirQuality_encode_uper; -per_type_decoder_f VisibilityAndAirQuality_decode_aper; -per_type_encoder_f VisibilityAndAirQuality_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _VisibilityAndAirQuality_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/VisualLink.c b/src/tmx/Asn_J2735/src/r2024/VisualLink.c new file mode 100644 index 000000000..2fd66a7af --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/VisualLink.c @@ -0,0 +1,120 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadSafetyMessage" + * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "VisualLink.h" + +static int check_permitted_alphabet_2(const void *sptr) { + /* The underlying type is IA5String */ + const IA5String_t *st = (const IA5String_t *)sptr; + const uint8_t *ch = st->buf; + const uint8_t *end = ch + st->size; + + for(; ch < end; ch++) { + uint8_t cv = *ch; + if(!(cv <= 127UL)) return -1; + } + return 0; +} + +static int +memb_urlLink_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const IA5String_t *st = (const IA5String_t *)sptr; + size_t size; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + size = st->size; + + if((size >= 1UL && size <= 500UL) + && !check_permitted_alphabet_2(st)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_memb_urlLink_constr_2 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..500)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_memb_urlLink_constr_2 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_CONSTRAINED, 9, 9, 1, 500 } /* (SIZE(1..500)) */, + 0, 0 /* No PER character map necessary */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_VisualLink_1[] = { + { ATF_POINTER, 1, offsetof(struct VisualLink, urlLink), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_IA5String, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_memb_urlLink_constr_2, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_memb_urlLink_constr_2, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + memb_urlLink_constraint_1 + }, + 0, 0, /* No default value */ + "urlLink" + }, +}; +static const int asn_MAP_VisualLink_oms_1[] = { 0 }; +static const ber_tlv_tag_t asn_DEF_VisualLink_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_VisualLink_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* urlLink */ +}; +asn_SEQUENCE_specifics_t asn_SPC_VisualLink_specs_1 = { + sizeof(struct VisualLink), + offsetof(struct VisualLink, _asn_ctx), + asn_MAP_VisualLink_tag2el_1, + 1, /* Count of tags in the map */ + asn_MAP_VisualLink_oms_1, /* Optional members */ + 1, 0, /* Root/Additions */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_VisualLink = { + "VisualLink", + "VisualLink", + &asn_OP_SEQUENCE, + asn_DEF_VisualLink_tags_1, + sizeof(asn_DEF_VisualLink_tags_1) + /sizeof(asn_DEF_VisualLink_tags_1[0]), /* 1 */ + asn_DEF_VisualLink_tags_1, /* Same as above */ + sizeof(asn_DEF_VisualLink_tags_1) + /sizeof(asn_DEF_VisualLink_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_VisualLink_1, + 1, /* Elements count */ + &asn_SPC_VisualLink_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/VisualLink.h b/src/tmx/Asn_J2735/src/r2024/VisualLink.h deleted file mode 100644 index a3353e96c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/VisualLink.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadSafetyMessage" - * found in "J2945-4-RoadSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _VisualLink_H_ -#define _VisualLink_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "IA5String.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* VisualLink */ -typedef struct VisualLink { - IA5String_t *urlLink; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} VisualLink_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_VisualLink; -extern asn_SEQUENCE_specifics_t asn_SPC_VisualLink_specs_1; -extern asn_TYPE_member_t asn_MBR_VisualLink_1[1]; - -#ifdef __cplusplus -} -#endif - -#endif /* _VisualLink_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WDMSFleetData.c b/src/tmx/Asn_J2735/src/r2024/WDMSFleetData.c new file mode 100644 index 000000000..e1c8deebb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WDMSFleetData.c @@ -0,0 +1,86 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "RoadWeatherMessage" + * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WDMSFleetData.h" + +asn_TYPE_member_t asn_MBR_WDMSFleetData_1[] = { + { ATF_POINTER, 2, offsetof(struct WDMSFleetData, pavementTreat), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NtcipPavementTreatment, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "pavementTreat" + }, + { ATF_POINTER, 1, offsetof(struct WDMSFleetData, routingAdvice), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ITIStext, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "routingAdvice" + }, +}; +static const int asn_MAP_WDMSFleetData_oms_1[] = { 0, 1 }; +static const ber_tlv_tag_t asn_DEF_WDMSFleetData_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_WDMSFleetData_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* pavementTreat */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* routingAdvice */ +}; +asn_SEQUENCE_specifics_t asn_SPC_WDMSFleetData_specs_1 = { + sizeof(struct WDMSFleetData), + offsetof(struct WDMSFleetData, _asn_ctx), + asn_MAP_WDMSFleetData_tag2el_1, + 2, /* Count of tags in the map */ + asn_MAP_WDMSFleetData_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 2, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_WDMSFleetData = { + "WDMSFleetData", + "WDMSFleetData", + &asn_OP_SEQUENCE, + asn_DEF_WDMSFleetData_tags_1, + sizeof(asn_DEF_WDMSFleetData_tags_1) + /sizeof(asn_DEF_WDMSFleetData_tags_1[0]), /* 1 */ + asn_DEF_WDMSFleetData_tags_1, /* Same as above */ + sizeof(asn_DEF_WDMSFleetData_tags_1) + /sizeof(asn_DEF_WDMSFleetData_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_WDMSFleetData_1, + 2, /* Elements count */ + &asn_SPC_WDMSFleetData_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WDMSFleetData.h b/src/tmx/Asn_J2735/src/r2024/WDMSFleetData.h deleted file mode 100644 index a282dfd03..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WDMSFleetData.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "RoadWeatherMessage" - * found in "J2945-3-RoadWeatherMessage-2024-rel-v2.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WDMSFleetData_H_ -#define _WDMSFleetData_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "ITIS_ITIStext.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct NtcipPavementTreatment; - -/* WDMSFleetData */ -typedef struct WDMSFleetData { - struct NtcipPavementTreatment *pavementTreat; /* OPTIONAL */ - ITIS_ITIStext_t *routingAdvice; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} WDMSFleetData_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_WDMSFleetData; -extern asn_SEQUENCE_specifics_t asn_SPC_WDMSFleetData_specs_1; -extern asn_TYPE_member_t asn_MBR_WDMSFleetData_1[2]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "NtcipPavementTreatment.h" - -#endif /* _WDMSFleetData_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WaitOnStopline.c b/src/tmx/Asn_J2735/src/r2024/WaitOnStopline.c new file mode 100644 index 000000000..843f69e60 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WaitOnStopline.c @@ -0,0 +1,39 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WaitOnStopline.h" + +/* + * This type is implemented using BOOLEAN, + * so here we adjust the DEF accordingly. + */ +static const ber_tlv_tag_t asn_DEF_WaitOnStopline_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_WaitOnStopline = { + "WaitOnStopline", + "WaitOnStopline", + &asn_OP_BOOLEAN, + asn_DEF_WaitOnStopline_tags_1, + sizeof(asn_DEF_WaitOnStopline_tags_1) + /sizeof(asn_DEF_WaitOnStopline_tags_1[0]), /* 1 */ + asn_DEF_WaitOnStopline_tags_1, /* Same as above */ + sizeof(asn_DEF_WaitOnStopline_tags_1) + /sizeof(asn_DEF_WaitOnStopline_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + BOOLEAN_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WaitOnStopline.h b/src/tmx/Asn_J2735/src/r2024/WaitOnStopline.h deleted file mode 100644 index 48d401139..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WaitOnStopline.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WaitOnStopline_H_ -#define _WaitOnStopline_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "BOOLEAN.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* WaitOnStopline */ -typedef BOOLEAN_t WaitOnStopline_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_WaitOnStopline; -asn_struct_free_f WaitOnStopline_free; -asn_struct_print_f WaitOnStopline_print; -asn_constr_check_f WaitOnStopline_constraint; -ber_type_decoder_f WaitOnStopline_decode_ber; -der_type_encoder_f WaitOnStopline_encode_der; -xer_type_decoder_f WaitOnStopline_decode_xer; -xer_type_encoder_f WaitOnStopline_encode_xer; -oer_type_decoder_f WaitOnStopline_decode_oer; -oer_type_encoder_f WaitOnStopline_encode_oer; -per_type_decoder_f WaitOnStopline_decode_uper; -per_type_encoder_f WaitOnStopline_encode_uper; -per_type_decoder_f WaitOnStopline_decode_aper; -per_type_encoder_f WaitOnStopline_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _WaitOnStopline_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WarningAdvice.c b/src/tmx/Asn_J2735/src/r2024/WarningAdvice.c new file mode 100644 index 000000000..f682622af --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WarningAdvice.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WarningAdvice.h" + +int +WarningAdvice_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_WarningAdvice_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_WarningAdvice_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_WarningAdvice_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_WarningAdvice = { + "WarningAdvice", + "WarningAdvice", + &asn_OP_NativeInteger, + asn_DEF_WarningAdvice_tags_1, + sizeof(asn_DEF_WarningAdvice_tags_1) + /sizeof(asn_DEF_WarningAdvice_tags_1[0]), /* 1 */ + asn_DEF_WarningAdvice_tags_1, /* Same as above */ + sizeof(asn_DEF_WarningAdvice_tags_1) + /sizeof(asn_DEF_WarningAdvice_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_WarningAdvice_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_WarningAdvice_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + WarningAdvice_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WarningAdvice.h b/src/tmx/Asn_J2735/src/r2024/WarningAdvice.h deleted file mode 100644 index 9326f34d1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WarningAdvice.h +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WarningAdvice_H_ -#define _WarningAdvice_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum WarningAdvice { - WarningAdvice_risk = 6913, - WarningAdvice_watch = 6914, - WarningAdvice_warning = 6915, - WarningAdvice_alert = 6916, - WarningAdvice_danger = 6917, - WarningAdvice_danger_of_explosion = 6918, - WarningAdvice_danger_of_fire = 6919, - WarningAdvice_extra_police_patrols_in_operation = 6920, - WarningAdvice_look_out_for_vehicles_stopped_under_bridges = 6921, - WarningAdvice_increased_risk_of_accident = 6922, - WarningAdvice_rescue_and_recovery_work_in_progress_at_sceneREMOVED = 6923, - WarningAdvice_police_at_scene = 6924, - WarningAdvice_emergency_vehicles_at_scene = 6925, - WarningAdvice_traffic_being_directed_around_accident_area = 6926, - WarningAdvice_police_directing_traffic = 6927, - WarningAdvice_rescue_workers_directing_traffic = 6928, - WarningAdvice_repairs_in_progress = 6929, - WarningAdvice_pilot_car_in_operation = 6930, - WarningAdvice_look_out_for_flagger = 6931, - WarningAdvice_look_out_for_workers = 6952, - WarningAdvice_police_checks_in_operation = 6932, - WarningAdvice_truck_check_point = 6937, - WarningAdvice_lockdown = 6935, - WarningAdvice_security_check_point = 6936, - WarningAdvice_single_occupancy_vehicle_check_point = 6938, - WarningAdvice_mandatory_speed_limit_in_force = 6933, - WarningAdvice_speed_limit_in_force_for_heavy_vehicles = 6934, - WarningAdvice_behind_you = 6950, - WarningAdvice_ride_with_traffic = 6953, - WarningAdvice_prepare_to_evacuate_area = 6954, - WarningAdvice_avoid = 6955, - WarningAdvice_look = 6939, - WarningAdvice_photo_enforced = 6940, - WarningAdvice_traffic_signs = 6951, - WarningAdvice_traffic_laws = 6941, - WarningAdvice_use_low_gear = 6942, - WarningAdvice_bridge_ices_before_road = 6943, - WarningAdvice_speed_checked_by_radar = 6944, - WarningAdvice_speed_checked_by_aircraft = 6945, - WarningAdvice_fines = 6946, - WarningAdvice_fines_higher = 6947, - WarningAdvice_fines_doubled = 6948, - WarningAdvice_fines_tripled = 6949, - WarningAdvice_evacuation_canceled = 7033, - WarningAdvice_warning_canceled = 7034, - WarningAdvice_watch_canceled = 7035, - WarningAdvice_alert_canceled = 7036, - WarningAdvice_ended = 7037, - WarningAdvice_cleared = 7038, - WarningAdvice_canceled = 7039 -} e_WarningAdvice; - -/* WarningAdvice */ -typedef long WarningAdvice_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_WarningAdvice_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_WarningAdvice; -asn_struct_free_f WarningAdvice_free; -asn_struct_print_f WarningAdvice_print; -asn_constr_check_f WarningAdvice_constraint; -ber_type_decoder_f WarningAdvice_decode_ber; -der_type_encoder_f WarningAdvice_encode_der; -xer_type_decoder_f WarningAdvice_decode_xer; -xer_type_encoder_f WarningAdvice_encode_xer; -oer_type_decoder_f WarningAdvice_decode_oer; -oer_type_encoder_f WarningAdvice_encode_oer; -per_type_decoder_f WarningAdvice_decode_uper; -per_type_encoder_f WarningAdvice_encode_uper; -per_type_decoder_f WarningAdvice_decode_aper; -per_type_encoder_f WarningAdvice_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _WarningAdvice_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WeatherConditions.c b/src/tmx/Asn_J2735/src/r2024/WeatherConditions.c new file mode 100644 index 000000000..cf2a24502 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WeatherConditions.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WeatherConditions.h" + +int +WeatherConditions_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_WeatherConditions_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_WeatherConditions_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_WeatherConditions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_WeatherConditions = { + "WeatherConditions", + "WeatherConditions", + &asn_OP_NativeInteger, + asn_DEF_WeatherConditions_tags_1, + sizeof(asn_DEF_WeatherConditions_tags_1) + /sizeof(asn_DEF_WeatherConditions_tags_1[0]), /* 1 */ + asn_DEF_WeatherConditions_tags_1, /* Same as above */ + sizeof(asn_DEF_WeatherConditions_tags_1) + /sizeof(asn_DEF_WeatherConditions_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_WeatherConditions_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_WeatherConditions_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + WeatherConditions_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WeatherConditions.h b/src/tmx/Asn_J2735/src/r2024/WeatherConditions.h deleted file mode 100644 index c31d88c65..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WeatherConditions.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WeatherConditions_H_ -#define _WeatherConditions_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum WeatherConditions { - WeatherConditions_overcast = 4609, - WeatherConditions_cloudy = 4610, - WeatherConditions_mostly_cloudy = 4611, - WeatherConditions_partly_cloudy = 4612, - WeatherConditions_partly_sunny = 4613, - WeatherConditions_mostly_sunny = 4614, - WeatherConditions_sunny = 4615, - WeatherConditions_fair_skies = 4616, - WeatherConditions_clear_skies = 4617, - WeatherConditions_mostly_clear = 4618, - WeatherConditions_mostly_dry = 4619, - WeatherConditions_dry = 4620, - WeatherConditions_uV_index_very_high = 4621, - WeatherConditions_uV_index_high = 4622, - WeatherConditions_uV_index_moderate = 4623, - WeatherConditions_uV_index_low = 4624, - WeatherConditions_uV_index_very_low = 4625, - WeatherConditions_barometric_pressure = 4626, - WeatherConditions_ozone_alert = 4627, - WeatherConditions_lighting_unknown = 4628, - WeatherConditions_artificial_exterior_light = 4629, - WeatherConditions_artificial_interior_light = 4630, - WeatherConditions_darkness = 4631, - WeatherConditions_dusk = 4632, - WeatherConditions_dawn = 4633, - WeatherConditions_moonlight = 4634, - WeatherConditions_daylight = 4635, - WeatherConditions_weather_forecast_withdrawn = 4735 -} e_WeatherConditions; - -/* WeatherConditions */ -typedef long WeatherConditions_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_WeatherConditions_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_WeatherConditions; -asn_struct_free_f WeatherConditions_free; -asn_struct_print_f WeatherConditions_print; -asn_constr_check_f WeatherConditions_constraint; -ber_type_decoder_f WeatherConditions_decode_ber; -der_type_encoder_f WeatherConditions_encode_der; -xer_type_decoder_f WeatherConditions_decode_xer; -xer_type_encoder_f WeatherConditions_encode_xer; -oer_type_decoder_f WeatherConditions_decode_oer; -oer_type_encoder_f WeatherConditions_encode_oer; -per_type_decoder_f WeatherConditions_decode_uper; -per_type_encoder_f WeatherConditions_encode_uper; -per_type_decoder_f WeatherConditions_decode_aper; -per_type_encoder_f WeatherConditions_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _WeatherConditions_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WeatherProbe.c b/src/tmx/Asn_J2735/src/r2024/WeatherProbe.c new file mode 100644 index 000000000..de8580034 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WeatherProbe.c @@ -0,0 +1,104 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WeatherProbe.h" + +asn_TYPE_member_t asn_MBR_WeatherProbe_1[] = { + { ATF_POINTER, 3, offsetof(struct WeatherProbe, airTemp), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AmbientAirTemperature, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "airTemp" + }, + { ATF_POINTER, 2, offsetof(struct WeatherProbe, airPressure), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_AmbientAirPressure, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "airPressure" + }, + { ATF_POINTER, 1, offsetof(struct WeatherProbe, rainRates), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WiperSet, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rainRates" + }, +}; +static const int asn_MAP_WeatherProbe_oms_1[] = { 0, 1, 2 }; +static const ber_tlv_tag_t asn_DEF_WeatherProbe_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_WeatherProbe_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* airTemp */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* airPressure */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* rainRates */ +}; +asn_SEQUENCE_specifics_t asn_SPC_WeatherProbe_specs_1 = { + sizeof(struct WeatherProbe), + offsetof(struct WeatherProbe, _asn_ctx), + asn_MAP_WeatherProbe_tag2el_1, + 3, /* Count of tags in the map */ + asn_MAP_WeatherProbe_oms_1, /* Optional members */ + 3, 0, /* Root/Additions */ + 3, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_WeatherProbe = { + "WeatherProbe", + "WeatherProbe", + &asn_OP_SEQUENCE, + asn_DEF_WeatherProbe_tags_1, + sizeof(asn_DEF_WeatherProbe_tags_1) + /sizeof(asn_DEF_WeatherProbe_tags_1[0]), /* 1 */ + asn_DEF_WeatherProbe_tags_1, /* Same as above */ + sizeof(asn_DEF_WeatherProbe_tags_1) + /sizeof(asn_DEF_WeatherProbe_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_WeatherProbe_1, + 3, /* Elements count */ + &asn_SPC_WeatherProbe_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WeatherProbe.h b/src/tmx/Asn_J2735/src/r2024/WeatherProbe.h deleted file mode 100644 index 7b1ed0612..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WeatherProbe.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WeatherProbe_H_ -#define _WeatherProbe_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "AmbientAirTemperature.h" -#include "AmbientAirPressure.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct WiperSet; - -/* WeatherProbe */ -typedef struct WeatherProbe { - AmbientAirTemperature_t *airTemp; /* OPTIONAL */ - AmbientAirPressure_t *airPressure; /* OPTIONAL */ - struct WiperSet *rainRates; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} WeatherProbe_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_WeatherProbe; -extern asn_SEQUENCE_specifics_t asn_SPC_WeatherProbe_specs_1; -extern asn_TYPE_member_t asn_MBR_WeatherProbe_1[3]; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "WiperSet.h" - -#endif /* _WeatherProbe_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WeatherReport.c b/src/tmx/Asn_J2735/src/r2024/WeatherReport.c new file mode 100644 index 000000000..8c96feb60 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WeatherReport.c @@ -0,0 +1,158 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "BasicSafetyMessage" + * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WeatherReport.h" + +asn_TYPE_member_t asn_MBR_WeatherReport_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct WeatherReport, isRaining), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EssPrecipYesNo, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "isRaining" + }, + { ATF_POINTER, 5, offsetof(struct WeatherReport, rainRate), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EssPrecipRate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rainRate" + }, + { ATF_POINTER, 4, offsetof(struct WeatherReport, precipSituation), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EssPrecipSituation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "precipSituation" + }, + { ATF_POINTER, 3, offsetof(struct WeatherReport, solarRadiation), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EssSolarRadiation, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "solarRadiation" + }, + { ATF_POINTER, 2, offsetof(struct WeatherReport, friction), + (ASN_TAG_CLASS_CONTEXT | (4 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_EssMobileFriction, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "friction" + }, + { ATF_POINTER, 1, offsetof(struct WeatherReport, roadFriction), + (ASN_TAG_CLASS_CONTEXT | (5 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_CoefficientOfFriction, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "roadFriction" + }, +}; +static const int asn_MAP_WeatherReport_oms_1[] = { 1, 2, 3, 4, 5 }; +static const ber_tlv_tag_t asn_DEF_WeatherReport_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_WeatherReport_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* isRaining */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rainRate */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* precipSituation */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 }, /* solarRadiation */ + { (ASN_TAG_CLASS_CONTEXT | (4 << 2)), 4, 0, 0 }, /* friction */ + { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 5, 0, 0 } /* roadFriction */ +}; +asn_SEQUENCE_specifics_t asn_SPC_WeatherReport_specs_1 = { + sizeof(struct WeatherReport), + offsetof(struct WeatherReport, _asn_ctx), + asn_MAP_WeatherReport_tag2el_1, + 6, /* Count of tags in the map */ + asn_MAP_WeatherReport_oms_1, /* Optional members */ + 5, 0, /* Root/Additions */ + 6, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_WeatherReport = { + "WeatherReport", + "WeatherReport", + &asn_OP_SEQUENCE, + asn_DEF_WeatherReport_tags_1, + sizeof(asn_DEF_WeatherReport_tags_1) + /sizeof(asn_DEF_WeatherReport_tags_1[0]), /* 1 */ + asn_DEF_WeatherReport_tags_1, /* Same as above */ + sizeof(asn_DEF_WeatherReport_tags_1) + /sizeof(asn_DEF_WeatherReport_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_WeatherReport_1, + 6, /* Elements count */ + &asn_SPC_WeatherReport_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WeatherReport.h b/src/tmx/Asn_J2735/src/r2024/WeatherReport.h deleted file mode 100644 index 33cefdb5c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WeatherReport.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "BasicSafetyMessage" - * found in "J2735-BasicSafetyMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WeatherReport_H_ -#define _WeatherReport_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "EssPrecipYesNo.h" -#include "EssPrecipRate.h" -#include "EssPrecipSituation.h" -#include "EssSolarRadiation.h" -#include "EssMobileFriction.h" -#include "CoefficientOfFriction.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* WeatherReport */ -typedef struct WeatherReport { - EssPrecipYesNo_t isRaining; - EssPrecipRate_t *rainRate; /* OPTIONAL */ - EssPrecipSituation_t *precipSituation; /* OPTIONAL */ - EssSolarRadiation_t *solarRadiation; /* OPTIONAL */ - EssMobileFriction_t *friction; /* OPTIONAL */ - CoefficientOfFriction_t *roadFriction; /* OPTIONAL */ - /* - * This type is extensible, - * possible extensions are below. - */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} WeatherReport_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_WeatherReport; -extern asn_SEQUENCE_specifics_t asn_SPC_WeatherReport_specs_1; -extern asn_TYPE_member_t asn_MBR_WeatherReport_1[6]; - -#ifdef __cplusplus -} -#endif - -#endif /* _WeatherReport_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Weekday.c b/src/tmx/Asn_J2735/src/r2024/Weekday.c new file mode 100644 index 000000000..ad0089bfd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Weekday.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "EfcDataDictionary" + * found in "ISO17573-EfcDataDictionary.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Weekday.h" + +int +Weekday_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 7L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Weekday_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..7) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_Weekday_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Weekday_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Weekday = { + "Weekday", + "Weekday", + &asn_OP_NativeInteger, + asn_DEF_Weekday_tags_1, + sizeof(asn_DEF_Weekday_tags_1) + /sizeof(asn_DEF_Weekday_tags_1[0]), /* 1 */ + asn_DEF_Weekday_tags_1, /* Same as above */ + sizeof(asn_DEF_Weekday_tags_1) + /sizeof(asn_DEF_Weekday_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Weekday_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Weekday_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Weekday_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Weekday.h b/src/tmx/Asn_J2735/src/r2024/Weekday.h deleted file mode 100644 index b5fec18bd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Weekday.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "EfcDataDictionary" - * found in "ISO17573-EfcDataDictionary.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Weekday_H_ -#define _Weekday_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Weekday { - Weekday_reserved = 0, - Weekday_monday = 1, - Weekday_tuesday = 2, - Weekday_wednesday = 3, - Weekday_thursday = 4, - Weekday_friday = 5, - Weekday_saturday = 6, - Weekday_sunday = 7 -} e_Weekday; - -/* Weekday */ -typedef long Weekday_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_Weekday; -asn_struct_free_f Weekday_free; -asn_struct_print_f Weekday_print; -asn_constr_check_f Weekday_constraint; -ber_type_decoder_f Weekday_decode_ber; -der_type_encoder_f Weekday_encode_der; -xer_type_decoder_f Weekday_decode_xer; -xer_type_encoder_f Weekday_encode_xer; -oer_type_decoder_f Weekday_decode_oer; -oer_type_encoder_f Weekday_encode_oer; -per_type_decoder_f Weekday_decode_uper; -per_type_encoder_f Weekday_encode_uper; -per_type_decoder_f Weekday_decode_aper; -per_type_encoder_f Weekday_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Weekday_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WeightCharges.c b/src/tmx/Asn_J2735/src/r2024/WeightCharges.c new file mode 100644 index 000000000..e2ac2ef7d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WeightCharges.c @@ -0,0 +1,93 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WeightCharges.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_WeightCharges_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_WeightCharges_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 1, 1, 0, 1 } /* (0..1,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_WeightCharges_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct WeightCharges, choice.totalWeightCharges), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_TotalWeightCharges, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "totalWeightCharges" + }, + { ATF_NOFLAGS, 0, offsetof(struct WeightCharges, choice.perAxleWeightCharges), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_PerAxleWeightCharges, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "perAxleWeightCharges" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_WeightCharges_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* totalWeightCharges */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* perAxleWeightCharges */ +}; +asn_CHOICE_specifics_t asn_SPC_WeightCharges_specs_1 = { + sizeof(struct WeightCharges), + offsetof(struct WeightCharges, _asn_ctx), + offsetof(struct WeightCharges, present), + sizeof(((struct WeightCharges *)0)->present), + asn_MAP_WeightCharges_tag2el_1, + 2, /* Count of tags in the map */ + 0, 0, + 2 /* Extensions start */ +}; +asn_TYPE_descriptor_t asn_DEF_WeightCharges = { + "WeightCharges", + "WeightCharges", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_WeightCharges_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_WeightCharges_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_WeightCharges_1, + 2, /* Elements count */ + &asn_SPC_WeightCharges_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WeightCharges.h b/src/tmx/Asn_J2735/src/r2024/WeightCharges.h deleted file mode 100644 index dcdef7a8f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WeightCharges.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WeightCharges_H_ -#define _WeightCharges_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "TotalWeightCharges.h" -#include "PerAxleWeightCharges.h" -#include "constr_CHOICE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum WeightCharges_PR { - WeightCharges_PR_NOTHING, /* No components present */ - WeightCharges_PR_totalWeightCharges, - WeightCharges_PR_perAxleWeightCharges - /* Extensions may appear below */ - -} WeightCharges_PR; - -/* WeightCharges */ -typedef struct WeightCharges { - WeightCharges_PR present; - union WeightCharges_u { - TotalWeightCharges_t totalWeightCharges; - PerAxleWeightCharges_t perAxleWeightCharges; - /* - * This type is extensible, - * possible extensions are below. - */ - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} WeightCharges_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_WeightCharges; -extern asn_CHOICE_specifics_t asn_SPC_WeightCharges_specs_1; -extern asn_TYPE_member_t asn_MBR_WeightCharges_1[2]; -extern asn_per_constraints_t asn_PER_type_WeightCharges_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _WeightCharges_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WeightChargesTable.c b/src/tmx/Asn_J2735/src/r2024/WeightChargesTable.c new file mode 100644 index 000000000..452f6617c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WeightChargesTable.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TollAdvertisementMessage" + * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WeightChargesTable.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_WeightChargesTable_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(0..MAX)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_WeightChargesTable_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED | APC_EXTENSIBLE, 4, 4, 1, 10 } /* (SIZE(1..10,...)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +asn_TYPE_member_t asn_MBR_WeightChargesTable_1[] = { + { ATF_POINTER, 0, 0, + -1 /* Ambiguous tag (CHOICE?) */, + 0, + &asn_DEF_WeightCharges, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_WeightChargesTable_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_WeightChargesTable_specs_1 = { + sizeof(struct WeightChargesTable), + offsetof(struct WeightChargesTable, _asn_ctx), + 2, /* XER encoding is XMLValueList */ +}; +asn_TYPE_descriptor_t asn_DEF_WeightChargesTable = { + "WeightChargesTable", + "WeightChargesTable", + &asn_OP_SEQUENCE_OF, + asn_DEF_WeightChargesTable_tags_1, + sizeof(asn_DEF_WeightChargesTable_tags_1) + /sizeof(asn_DEF_WeightChargesTable_tags_1[0]), /* 1 */ + asn_DEF_WeightChargesTable_tags_1, /* Same as above */ + sizeof(asn_DEF_WeightChargesTable_tags_1) + /sizeof(asn_DEF_WeightChargesTable_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_WeightChargesTable_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_WeightChargesTable_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_WeightChargesTable_1, + 1, /* Single element */ + &asn_SPC_WeightChargesTable_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WeightChargesTable.h b/src/tmx/Asn_J2735/src/r2024/WeightChargesTable.h deleted file mode 100644 index 8f9c04b80..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WeightChargesTable.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TollAdvertisementMessage" - * found in "J3217-TollAdvertisementMsg-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WeightChargesTable_H_ -#define _WeightChargesTable_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward declarations */ -struct WeightCharges; - -/* WeightChargesTable */ -typedef struct WeightChargesTable { - A_SEQUENCE_OF(struct WeightCharges) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} WeightChargesTable_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_WeightChargesTable; -extern asn_SET_OF_specifics_t asn_SPC_WeightChargesTable_specs_1; -extern asn_TYPE_member_t asn_MBR_WeightChargesTable_1[1]; -extern asn_per_constraints_t asn_PER_type_WeightChargesTable_constr_1; - -#ifdef __cplusplus -} -#endif - -/* Referred external types */ -#include "WeightCharges.h" - -#endif /* _WeightChargesTable_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WheelEndElectFault.c b/src/tmx/Asn_J2735/src/r2024/WheelEndElectFault.c new file mode 100644 index 000000000..3af209c97 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WheelEndElectFault.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WheelEndElectFault.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_WheelEndElectFault_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_WheelEndElectFault_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_WheelEndElectFault_value2enum_1[] = { + { 0, 4, "isOk" }, + { 1, 12, "isNotDefined" }, + { 2, 7, "isError" }, + { 3, 14, "isNotSupported" } +}; +static const unsigned int asn_MAP_WheelEndElectFault_enum2value_1[] = { + 2, /* isError(2) */ + 1, /* isNotDefined(1) */ + 3, /* isNotSupported(3) */ + 0 /* isOk(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_WheelEndElectFault_specs_1 = { + asn_MAP_WheelEndElectFault_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_WheelEndElectFault_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_WheelEndElectFault_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_WheelEndElectFault = { + "WheelEndElectFault", + "WheelEndElectFault", + &asn_OP_NativeEnumerated, + asn_DEF_WheelEndElectFault_tags_1, + sizeof(asn_DEF_WheelEndElectFault_tags_1) + /sizeof(asn_DEF_WheelEndElectFault_tags_1[0]), /* 1 */ + asn_DEF_WheelEndElectFault_tags_1, /* Same as above */ + sizeof(asn_DEF_WheelEndElectFault_tags_1) + /sizeof(asn_DEF_WheelEndElectFault_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_WheelEndElectFault_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_WheelEndElectFault_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_WheelEndElectFault_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WheelEndElectFault.h b/src/tmx/Asn_J2735/src/r2024/WheelEndElectFault.h deleted file mode 100644 index 24175acfd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WheelEndElectFault.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WheelEndElectFault_H_ -#define _WheelEndElectFault_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum WheelEndElectFault { - WheelEndElectFault_isOk = 0, - WheelEndElectFault_isNotDefined = 1, - WheelEndElectFault_isError = 2, - WheelEndElectFault_isNotSupported = 3 -} e_WheelEndElectFault; - -/* WheelEndElectFault */ -typedef long WheelEndElectFault_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_WheelEndElectFault_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_WheelEndElectFault; -extern const asn_INTEGER_specifics_t asn_SPC_WheelEndElectFault_specs_1; -asn_struct_free_f WheelEndElectFault_free; -asn_struct_print_f WheelEndElectFault_print; -asn_constr_check_f WheelEndElectFault_constraint; -ber_type_decoder_f WheelEndElectFault_decode_ber; -der_type_encoder_f WheelEndElectFault_encode_der; -xer_type_decoder_f WheelEndElectFault_decode_xer; -xer_type_encoder_f WheelEndElectFault_encode_xer; -oer_type_decoder_f WheelEndElectFault_decode_oer; -oer_type_encoder_f WheelEndElectFault_encode_oer; -per_type_decoder_f WheelEndElectFault_decode_uper; -per_type_encoder_f WheelEndElectFault_encode_uper; -per_type_decoder_f WheelEndElectFault_decode_aper; -per_type_encoder_f WheelEndElectFault_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _WheelEndElectFault_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WheelSensorStatus.c b/src/tmx/Asn_J2735/src/r2024/WheelSensorStatus.c new file mode 100644 index 000000000..4f6eadad1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WheelSensorStatus.c @@ -0,0 +1,72 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WheelSensorStatus.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_WheelSensorStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_WheelSensorStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 2, 2, 0, 3 } /* (0..3) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_WheelSensorStatus_value2enum_1[] = { + { 0, 3, "off" }, + { 1, 2, "on" }, + { 2, 10, "notDefined" }, + { 3, 12, "notSupported" } +}; +static const unsigned int asn_MAP_WheelSensorStatus_enum2value_1[] = { + 2, /* notDefined(2) */ + 3, /* notSupported(3) */ + 0, /* off(0) */ + 1 /* on(1) */ +}; +const asn_INTEGER_specifics_t asn_SPC_WheelSensorStatus_specs_1 = { + asn_MAP_WheelSensorStatus_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_WheelSensorStatus_enum2value_1, /* N => "tag"; sorted by N */ + 4, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_WheelSensorStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_WheelSensorStatus = { + "WheelSensorStatus", + "WheelSensorStatus", + &asn_OP_NativeEnumerated, + asn_DEF_WheelSensorStatus_tags_1, + sizeof(asn_DEF_WheelSensorStatus_tags_1) + /sizeof(asn_DEF_WheelSensorStatus_tags_1[0]), /* 1 */ + asn_DEF_WheelSensorStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_WheelSensorStatus_tags_1) + /sizeof(asn_DEF_WheelSensorStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_WheelSensorStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_WheelSensorStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_WheelSensorStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WheelSensorStatus.h b/src/tmx/Asn_J2735/src/r2024/WheelSensorStatus.h deleted file mode 100644 index 2e2a15ca5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WheelSensorStatus.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WheelSensorStatus_H_ -#define _WheelSensorStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum WheelSensorStatus { - WheelSensorStatus_off = 0, - WheelSensorStatus_on = 1, - WheelSensorStatus_notDefined = 2, - WheelSensorStatus_notSupported = 3 -} e_WheelSensorStatus; - -/* WheelSensorStatus */ -typedef long WheelSensorStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_WheelSensorStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_WheelSensorStatus; -extern const asn_INTEGER_specifics_t asn_SPC_WheelSensorStatus_specs_1; -asn_struct_free_f WheelSensorStatus_free; -asn_struct_print_f WheelSensorStatus_print; -asn_constr_check_f WheelSensorStatus_constraint; -ber_type_decoder_f WheelSensorStatus_decode_ber; -der_type_encoder_f WheelSensorStatus_encode_der; -xer_type_decoder_f WheelSensorStatus_decode_xer; -xer_type_encoder_f WheelSensorStatus_encode_xer; -oer_type_decoder_f WheelSensorStatus_decode_oer; -oer_type_encoder_f WheelSensorStatus_encode_oer; -per_type_decoder_f WheelSensorStatus_decode_uper; -per_type_encoder_f WheelSensorStatus_encode_uper; -per_type_decoder_f WheelSensorStatus_decode_aper; -per_type_encoder_f WheelSensorStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _WheelSensorStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Winds.c b/src/tmx/Asn_J2735/src/r2024/Winds.c new file mode 100644 index 000000000..741f92692 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Winds.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Winds.h" + +int +Winds_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Winds_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Winds_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Winds_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Winds = { + "Winds", + "Winds", + &asn_OP_NativeInteger, + asn_DEF_Winds_tags_1, + sizeof(asn_DEF_Winds_tags_1) + /sizeof(asn_DEF_Winds_tags_1[0]), /* 1 */ + asn_DEF_Winds_tags_1, /* Same as above */ + sizeof(asn_DEF_Winds_tags_1) + /sizeof(asn_DEF_Winds_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Winds_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Winds_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Winds_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Winds.h b/src/tmx/Asn_J2735/src/r2024/Winds.h deleted file mode 100644 index 5ad08f5d0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Winds.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Winds_H_ -#define _Winds_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum Winds { - Winds_tornado = 5121, - Winds_hurricane = 5122, - Winds_hurricane_force_winds = 5123, - Winds_tropical_storm = 5124, - Winds_gale_force_winds = 5125, - Winds_storm_force_winds = 5126, - Winds_strong_winds = 5127, - Winds_moderate_winds = 5128, - Winds_light_winds = 5129, - Winds_calm = 5130, - Winds_gusty_winds = 5131, - Winds_crosswinds = 5132, - Winds_windy = 5133, - Winds_strong_winds_have_eased = 5246, - Winds_strong_wind_forecast_withdrawn = 5247 -} e_Winds; - -/* Winds */ -typedef long Winds_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Winds_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Winds; -asn_struct_free_f Winds_free; -asn_struct_print_f Winds_print; -asn_constr_check_f Winds_constraint; -ber_type_decoder_f Winds_decode_ber; -der_type_encoder_f Winds_encode_der; -xer_type_decoder_f Winds_decode_xer; -xer_type_encoder_f Winds_encode_xer; -oer_type_decoder_f Winds_decode_oer; -oer_type_encoder_f Winds_encode_oer; -per_type_decoder_f Winds_decode_uper; -per_type_encoder_f Winds_encode_uper; -per_type_decoder_f Winds_decode_aper; -per_type_encoder_f Winds_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Winds_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WinterDrivingIndex.c b/src/tmx/Asn_J2735/src/r2024/WinterDrivingIndex.c new file mode 100644 index 000000000..a25603e03 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WinterDrivingIndex.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WinterDrivingIndex.h" + +int +WinterDrivingIndex_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_WinterDrivingIndex_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_WinterDrivingIndex_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_WinterDrivingIndex_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_WinterDrivingIndex = { + "WinterDrivingIndex", + "WinterDrivingIndex", + &asn_OP_NativeInteger, + asn_DEF_WinterDrivingIndex_tags_1, + sizeof(asn_DEF_WinterDrivingIndex_tags_1) + /sizeof(asn_DEF_WinterDrivingIndex_tags_1[0]), /* 1 */ + asn_DEF_WinterDrivingIndex_tags_1, /* Same as above */ + sizeof(asn_DEF_WinterDrivingIndex_tags_1) + /sizeof(asn_DEF_WinterDrivingIndex_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_WinterDrivingIndex_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_WinterDrivingIndex_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + WinterDrivingIndex_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WinterDrivingIndex.h b/src/tmx/Asn_J2735/src/r2024/WinterDrivingIndex.h deleted file mode 100644 index fb00e06ce..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WinterDrivingIndex.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WinterDrivingIndex_H_ -#define _WinterDrivingIndex_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum WinterDrivingIndex { - WinterDrivingIndex_driving_conditions_good = 6401, - WinterDrivingIndex_driving_conditions_fair = 6402, - WinterDrivingIndex_difficult_driving_conditions = 6403, - WinterDrivingIndex_very_difficult_driving_conditions = 6404, - WinterDrivingIndex_hazardous_driving_conditions = 6405, - WinterDrivingIndex_extremely_hazardous_driving_conditions = 6406 -} e_WinterDrivingIndex; - -/* WinterDrivingIndex */ -typedef long WinterDrivingIndex_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_WinterDrivingIndex_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_WinterDrivingIndex; -asn_struct_free_f WinterDrivingIndex_free; -asn_struct_print_f WinterDrivingIndex_print; -asn_constr_check_f WinterDrivingIndex_constraint; -ber_type_decoder_f WinterDrivingIndex_decode_ber; -der_type_encoder_f WinterDrivingIndex_encode_der; -xer_type_decoder_f WinterDrivingIndex_decode_xer; -xer_type_encoder_f WinterDrivingIndex_encode_xer; -oer_type_decoder_f WinterDrivingIndex_decode_oer; -oer_type_encoder_f WinterDrivingIndex_encode_oer; -per_type_decoder_f WinterDrivingIndex_decode_uper; -per_type_encoder_f WinterDrivingIndex_encode_uper; -per_type_decoder_f WinterDrivingIndex_decode_aper; -per_type_encoder_f WinterDrivingIndex_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _WinterDrivingIndex_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WinterDrivingRestrictions.c b/src/tmx/Asn_J2735/src/r2024/WinterDrivingRestrictions.c new file mode 100644 index 000000000..cf96f0f3e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WinterDrivingRestrictions.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "J2540ITIS" + * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WinterDrivingRestrictions.h" + +int +WinterDrivingRestrictions_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_WinterDrivingRestrictions_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_WinterDrivingRestrictions_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 0, 65535 } /* (0..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_WinterDrivingRestrictions_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_WinterDrivingRestrictions = { + "WinterDrivingRestrictions", + "WinterDrivingRestrictions", + &asn_OP_NativeInteger, + asn_DEF_WinterDrivingRestrictions_tags_1, + sizeof(asn_DEF_WinterDrivingRestrictions_tags_1) + /sizeof(asn_DEF_WinterDrivingRestrictions_tags_1[0]), /* 1 */ + asn_DEF_WinterDrivingRestrictions_tags_1, /* Same as above */ + sizeof(asn_DEF_WinterDrivingRestrictions_tags_1) + /sizeof(asn_DEF_WinterDrivingRestrictions_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_WinterDrivingRestrictions_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_WinterDrivingRestrictions_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + WinterDrivingRestrictions_constraint + }, + 0, 0, /* Defined elsewhere */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WinterDrivingRestrictions.h b/src/tmx/Asn_J2735/src/r2024/WinterDrivingRestrictions.h deleted file mode 100644 index 7f3fe7092..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WinterDrivingRestrictions.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "J2540ITIS" - * found in "J2540-2-J2540ITIS-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WinterDrivingRestrictions_H_ -#define _WinterDrivingRestrictions_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum WinterDrivingRestrictions { - WinterDrivingRestrictions_winter_equipment_recommended = 6145, - WinterDrivingRestrictions_winter_equipment_required = 6146, - WinterDrivingRestrictions_snow_chains_recommended = 6147, - WinterDrivingRestrictions_snow_chains_required = 6148, - WinterDrivingRestrictions_snow_chains_prohibited = 6149, - WinterDrivingRestrictions_studded_tires_prohibited = 6150, - WinterDrivingRestrictions_snow_tires_recommended = 6151, - WinterDrivingRestrictions_snow_tires_required = 6152, - WinterDrivingRestrictions_four_wheel_drive_recommended = 6153, - WinterDrivingRestrictions_four_wheel_drive_required = 6154, - WinterDrivingRestrictions_snow_tires_or_chains_recommended = 6155, - WinterDrivingRestrictions_snow_tires_or_chains_required = 6156, - WinterDrivingRestrictions_winter_driving_requirements_lifted = 6271 -} e_WinterDrivingRestrictions; - -/* WinterDrivingRestrictions */ -typedef long WinterDrivingRestrictions_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_WinterDrivingRestrictions_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_WinterDrivingRestrictions; -asn_struct_free_f WinterDrivingRestrictions_free; -asn_struct_print_f WinterDrivingRestrictions_print; -asn_constr_check_f WinterDrivingRestrictions_constraint; -ber_type_decoder_f WinterDrivingRestrictions_decode_ber; -der_type_encoder_f WinterDrivingRestrictions_encode_der; -xer_type_decoder_f WinterDrivingRestrictions_decode_xer; -xer_type_encoder_f WinterDrivingRestrictions_encode_xer; -oer_type_decoder_f WinterDrivingRestrictions_decode_oer; -oer_type_encoder_f WinterDrivingRestrictions_encode_oer; -per_type_decoder_f WinterDrivingRestrictions_decode_uper; -per_type_encoder_f WinterDrivingRestrictions_encode_uper; -per_type_decoder_f WinterDrivingRestrictions_decode_aper; -per_type_encoder_f WinterDrivingRestrictions_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _WinterDrivingRestrictions_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WiperRate.c b/src/tmx/Asn_J2735/src/r2024/WiperRate.c new file mode 100644 index 000000000..4c6523c5a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WiperRate.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WiperRate.h" + +int +WiperRate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 127L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_WiperRate_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..127) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_WiperRate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 7, 7, 0, 127 } /* (0..127) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_WiperRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_WiperRate = { + "WiperRate", + "WiperRate", + &asn_OP_NativeInteger, + asn_DEF_WiperRate_tags_1, + sizeof(asn_DEF_WiperRate_tags_1) + /sizeof(asn_DEF_WiperRate_tags_1[0]), /* 1 */ + asn_DEF_WiperRate_tags_1, /* Same as above */ + sizeof(asn_DEF_WiperRate_tags_1) + /sizeof(asn_DEF_WiperRate_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_WiperRate_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_WiperRate_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + WiperRate_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WiperRate.h b/src/tmx/Asn_J2735/src/r2024/WiperRate.h deleted file mode 100644 index ff9661ad6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WiperRate.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WiperRate_H_ -#define _WiperRate_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* WiperRate */ -typedef long WiperRate_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_WiperRate_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_WiperRate; -asn_struct_free_f WiperRate_free; -asn_struct_print_f WiperRate_print; -asn_constr_check_f WiperRate_constraint; -ber_type_decoder_f WiperRate_decode_ber; -der_type_encoder_f WiperRate_encode_der; -xer_type_decoder_f WiperRate_decode_xer; -xer_type_encoder_f WiperRate_encode_xer; -oer_type_decoder_f WiperRate_decode_oer; -oer_type_encoder_f WiperRate_encode_oer; -per_type_decoder_f WiperRate_decode_uper; -per_type_encoder_f WiperRate_encode_uper; -per_type_decoder_f WiperRate_decode_aper; -per_type_encoder_f WiperRate_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _WiperRate_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WiperSet.c b/src/tmx/Asn_J2735/src/r2024/WiperSet.c new file mode 100644 index 000000000..f050e74ce --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WiperSet.c @@ -0,0 +1,122 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WiperSet.h" + +asn_TYPE_member_t asn_MBR_WiperSet_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct WiperSet, statusFront), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WiperStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "statusFront" + }, + { ATF_NOFLAGS, 0, offsetof(struct WiperSet, rateFront), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WiperRate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rateFront" + }, + { ATF_POINTER, 2, offsetof(struct WiperSet, statusRear), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WiperStatus, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "statusRear" + }, + { ATF_POINTER, 1, offsetof(struct WiperSet, rateRear), + (ASN_TAG_CLASS_CONTEXT | (3 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_WiperRate, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "rateRear" + }, +}; +static const int asn_MAP_WiperSet_oms_1[] = { 2, 3 }; +static const ber_tlv_tag_t asn_DEF_WiperSet_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_WiperSet_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* statusFront */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* rateFront */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* statusRear */ + { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* rateRear */ +}; +asn_SEQUENCE_specifics_t asn_SPC_WiperSet_specs_1 = { + sizeof(struct WiperSet), + offsetof(struct WiperSet, _asn_ctx), + asn_MAP_WiperSet_tag2el_1, + 4, /* Count of tags in the map */ + asn_MAP_WiperSet_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + -1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_WiperSet = { + "WiperSet", + "WiperSet", + &asn_OP_SEQUENCE, + asn_DEF_WiperSet_tags_1, + sizeof(asn_DEF_WiperSet_tags_1) + /sizeof(asn_DEF_WiperSet_tags_1[0]), /* 1 */ + asn_DEF_WiperSet_tags_1, /* Same as above */ + sizeof(asn_DEF_WiperSet_tags_1) + /sizeof(asn_DEF_WiperSet_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_WiperSet_1, + 4, /* Elements count */ + &asn_SPC_WiperSet_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WiperSet.h b/src/tmx/Asn_J2735/src/r2024/WiperSet.h deleted file mode 100644 index 9ec66ee47..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WiperSet.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WiperSet_H_ -#define _WiperSet_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "WiperStatus.h" -#include "WiperRate.h" -#include "constr_SEQUENCE.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* WiperSet */ -typedef struct WiperSet { - WiperStatus_t statusFront; - WiperRate_t rateFront; - WiperStatus_t *statusRear; /* OPTIONAL */ - WiperRate_t *rateRear; /* OPTIONAL */ - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} WiperSet_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_WiperSet; -extern asn_SEQUENCE_specifics_t asn_SPC_WiperSet_specs_1; -extern asn_TYPE_member_t asn_MBR_WiperSet_1[4]; - -#ifdef __cplusplus -} -#endif - -#endif /* _WiperSet_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WiperStatus.c b/src/tmx/Asn_J2735/src/r2024/WiperStatus.c new file mode 100644 index 000000000..b7c230aee --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WiperStatus.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WiperStatus.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_WiperStatus_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_WiperStatus_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED | APC_EXTENSIBLE, 3, 3, 0, 6 } /* (0..6,...) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_WiperStatus_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 3, "off" }, + { 2, 12, "intermittent" }, + { 3, 3, "low" }, + { 4, 4, "high" }, + { 5, 11, "washerInUse" }, + { 6, 16, "automaticPresent" } + /* This list is extensible */ +}; +static const unsigned int asn_MAP_WiperStatus_enum2value_1[] = { + 6, /* automaticPresent(6) */ + 4, /* high(4) */ + 2, /* intermittent(2) */ + 3, /* low(3) */ + 1, /* off(1) */ + 0, /* unavailable(0) */ + 5 /* washerInUse(5) */ + /* This list is extensible */ +}; +const asn_INTEGER_specifics_t asn_SPC_WiperStatus_specs_1 = { + asn_MAP_WiperStatus_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_WiperStatus_enum2value_1, /* N => "tag"; sorted by N */ + 7, /* Number of elements in the maps */ + 8, /* Extensions before this member */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_WiperStatus_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_WiperStatus = { + "WiperStatus", + "WiperStatus", + &asn_OP_NativeEnumerated, + asn_DEF_WiperStatus_tags_1, + sizeof(asn_DEF_WiperStatus_tags_1) + /sizeof(asn_DEF_WiperStatus_tags_1[0]), /* 1 */ + asn_DEF_WiperStatus_tags_1, /* Same as above */ + sizeof(asn_DEF_WiperStatus_tags_1) + /sizeof(asn_DEF_WiperStatus_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_WiperStatus_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_WiperStatus_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_WiperStatus_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WiperStatus.h b/src/tmx/Asn_J2735/src/r2024/WiperStatus.h deleted file mode 100644 index aed690ab5..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WiperStatus.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WiperStatus_H_ -#define _WiperStatus_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum WiperStatus { - WiperStatus_unavailable = 0, - WiperStatus_off = 1, - WiperStatus_intermittent = 2, - WiperStatus_low = 3, - WiperStatus_high = 4, - WiperStatus_washerInUse = 5, - WiperStatus_automaticPresent = 6 - /* - * Enumeration is extensible - */ -} e_WiperStatus; - -/* WiperStatus */ -typedef long WiperStatus_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_WiperStatus_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_WiperStatus; -extern const asn_INTEGER_specifics_t asn_SPC_WiperStatus_specs_1; -asn_struct_free_f WiperStatus_free; -asn_struct_print_f WiperStatus_print; -asn_constr_check_f WiperStatus_constraint; -ber_type_decoder_f WiperStatus_decode_ber; -der_type_encoder_f WiperStatus_encode_der; -xer_type_decoder_f WiperStatus_decode_xer; -xer_type_encoder_f WiperStatus_encode_xer; -oer_type_decoder_f WiperStatus_decode_oer; -oer_type_encoder_f WiperStatus_encode_oer; -per_type_decoder_f WiperStatus_decode_uper; -per_type_encoder_f WiperStatus_encode_uper; -per_type_decoder_f WiperStatus_decode_aper; -per_type_encoder_f WiperStatus_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _WiperStatus_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/WorkZone.c b/src/tmx/Asn_J2735/src/r2024/WorkZone.c new file mode 100644 index 000000000..128f653d0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/WorkZone.c @@ -0,0 +1,215 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "WorkZone.h" + +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_item_constr_3 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +static asn_per_constraints_t asn_PER_type_item_constr_3 CC_NOTUSED = { + { APC_CONSTRAINED, 1, 1, 0, 1 } /* (0..1) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_WorkZone_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1 /* (SIZE(1..16)) */}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_WorkZone_constr_1 CC_NOTUSED = { + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + { APC_CONSTRAINED, 4, 4, 1, 16 } /* (SIZE(1..16)) */, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static asn_TYPE_member_t asn_MBR_item_3[] = { + { ATF_NOFLAGS, 0, offsetof(struct WorkZone__Member__item, choice.itis), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIS_ITIScodes, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "itis" + }, + { ATF_NOFLAGS, 0, offsetof(struct WorkZone__Member__item, choice.text), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_ITIStextPhrase, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "text" + }, +}; +static const asn_TYPE_tag2member_t asn_MAP_item_tag2el_3[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* itis */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* text */ +}; +static asn_CHOICE_specifics_t asn_SPC_item_specs_3 = { + sizeof(struct WorkZone__Member__item), + offsetof(struct WorkZone__Member__item, _asn_ctx), + offsetof(struct WorkZone__Member__item, present), + sizeof(((struct WorkZone__Member__item *)0)->present), + asn_MAP_item_tag2el_3, + 2, /* Count of tags in the map */ + 0, 0, + -1 /* Extensions start */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_item_3 = { + "item", + "item", + &asn_OP_CHOICE, + 0, /* No effective tags (pointer) */ + 0, /* No effective tags (count) */ + 0, /* No tags (pointer) */ + 0, /* No tags (count) */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_item_constr_3, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_item_constr_3, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + CHOICE_constraint + }, + asn_MBR_item_3, + 2, /* Elements count */ + &asn_SPC_item_specs_3 /* Additional specs */ +}; + +static asn_TYPE_member_t asn_MBR_Member_2[] = { + { ATF_NOFLAGS, 0, offsetof(struct WorkZone__Member, item), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + +1, /* EXPLICIT tag at current level */ + &asn_DEF_item_3, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "item" + }, +}; +static const ber_tlv_tag_t asn_DEF_Member_tags_2[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_Member_tag2el_2[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* item */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_Member_specs_2 = { + sizeof(struct WorkZone__Member), + offsetof(struct WorkZone__Member, _asn_ctx), + asn_MAP_Member_tag2el_2, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + -1, /* First extension addition */ +}; +static /* Use -fall-defs-global to expose */ +asn_TYPE_descriptor_t asn_DEF_Member_2 = { + "SEQUENCE", + "SEQUENCE", + &asn_OP_SEQUENCE, + asn_DEF_Member_tags_2, + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + asn_DEF_Member_tags_2, /* Same as above */ + sizeof(asn_DEF_Member_tags_2) + /sizeof(asn_DEF_Member_tags_2[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_constraint + }, + asn_MBR_Member_2, + 1, /* Elements count */ + &asn_SPC_Member_specs_2 /* Additional specs */ +}; + +asn_TYPE_member_t asn_MBR_WorkZone_1[] = { + { ATF_POINTER, 0, 0, + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), + 0, + &asn_DEF_Member_2, + 0, + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + 0 + }, + 0, 0, /* No default value */ + "" + }, +}; +static const ber_tlv_tag_t asn_DEF_WorkZone_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +asn_SET_OF_specifics_t asn_SPC_WorkZone_specs_1 = { + sizeof(struct WorkZone), + offsetof(struct WorkZone, _asn_ctx), + 0, /* XER encoding is XMLDelimitedItemList */ +}; +asn_TYPE_descriptor_t asn_DEF_WorkZone = { + "WorkZone", + "WorkZone", + &asn_OP_SEQUENCE_OF, + asn_DEF_WorkZone_tags_1, + sizeof(asn_DEF_WorkZone_tags_1) + /sizeof(asn_DEF_WorkZone_tags_1[0]), /* 1 */ + asn_DEF_WorkZone_tags_1, /* Same as above */ + sizeof(asn_DEF_WorkZone_tags_1) + /sizeof(asn_DEF_WorkZone_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_WorkZone_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_WorkZone_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + SEQUENCE_OF_constraint + }, + asn_MBR_WorkZone_1, + 1, /* Single element */ + &asn_SPC_WorkZone_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/WorkZone.h b/src/tmx/Asn_J2735/src/r2024/WorkZone.h deleted file mode 100644 index e4a8ec86e..000000000 --- a/src/tmx/Asn_J2735/src/r2024/WorkZone.h +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _WorkZone_H_ -#define _WorkZone_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "asn_SEQUENCE_OF.h" -#include "ITIS_ITIScodes.h" -#include "ITIStextPhrase.h" -#include "constr_CHOICE.h" -#include "constr_SEQUENCE.h" -#include "constr_SEQUENCE_OF.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum WorkZone__Member__item_PR { - WorkZone__Member__item_PR_NOTHING, /* No components present */ - WorkZone__Member__item_PR_itis, - WorkZone__Member__item_PR_text -} WorkZone__Member__item_PR; - -/* Forward definitions */ -typedef struct WorkZone__Member { - struct WorkZone__Member__item { - WorkZone__Member__item_PR present; - union WorkZone__Member__item_u { - ITIS_ITIScodes_t itis; - ITIStextPhrase_t text; - } choice; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; - } item; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} WorkZone__Member; - -/* WorkZone */ -typedef struct WorkZone { - A_SEQUENCE_OF(WorkZone__Member) list; - - /* Context for parsing across buffer boundaries */ - asn_struct_ctx_t _asn_ctx; -} WorkZone_t; - -/* Implementation */ -extern asn_TYPE_descriptor_t asn_DEF_WorkZone; -extern asn_SET_OF_specifics_t asn_SPC_WorkZone_specs_1; -extern asn_TYPE_member_t asn_MBR_WorkZone_1[1]; -extern asn_per_constraints_t asn_PER_type_WorkZone_constr_1; - -#ifdef __cplusplus -} -#endif - -#endif /* _WorkZone_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Yaw.c b/src/tmx/Asn_J2735/src/r2024/Yaw.c new file mode 100644 index 000000000..55968a2a6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Yaw.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "CooperativeControlMessage" + * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Yaw.h" + +int +Yaw_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 28800L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Yaw_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..28800) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Yaw_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, 0, 28800 } /* (0..28800) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Yaw_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Yaw = { + "Yaw", + "Yaw", + &asn_OP_NativeInteger, + asn_DEF_Yaw_tags_1, + sizeof(asn_DEF_Yaw_tags_1) + /sizeof(asn_DEF_Yaw_tags_1[0]), /* 1 */ + asn_DEF_Yaw_tags_1, /* Same as above */ + sizeof(asn_DEF_Yaw_tags_1) + /sizeof(asn_DEF_Yaw_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Yaw_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Yaw_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Yaw_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Yaw.h b/src/tmx/Asn_J2735/src/r2024/Yaw.h deleted file mode 100644 index 68b4aa5a4..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Yaw.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "CooperativeControlMessage" - * found in "J2945-6-CooperativeControlMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Yaw_H_ -#define _Yaw_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Yaw */ -typedef long Yaw_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Yaw_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Yaw; -asn_struct_free_f Yaw_free; -asn_struct_print_f Yaw_print; -asn_constr_check_f Yaw_constraint; -ber_type_decoder_f Yaw_decode_ber; -der_type_encoder_f Yaw_encode_der; -xer_type_decoder_f Yaw_decode_xer; -xer_type_encoder_f Yaw_encode_xer; -oer_type_decoder_f Yaw_decode_oer; -oer_type_encoder_f Yaw_encode_oer; -per_type_decoder_f Yaw_decode_uper; -per_type_encoder_f Yaw_encode_uper; -per_type_decoder_f Yaw_decode_aper; -per_type_encoder_f Yaw_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Yaw_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/YawDetected.c b/src/tmx/Asn_J2735/src/r2024/YawDetected.c new file mode 100644 index 000000000..92ef03a62 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/YawDetected.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SensorDataSharingMessage" + * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "YawDetected.h" + +int +YawDetected_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -14400L && value <= 14400L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_YawDetected_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-14400..14400) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_YawDetected_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 15, 15, -14400, 14400 } /* (-14400..14400) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_YawDetected_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_YawDetected = { + "YawDetected", + "YawDetected", + &asn_OP_NativeInteger, + asn_DEF_YawDetected_tags_1, + sizeof(asn_DEF_YawDetected_tags_1) + /sizeof(asn_DEF_YawDetected_tags_1[0]), /* 1 */ + asn_DEF_YawDetected_tags_1, /* Same as above */ + sizeof(asn_DEF_YawDetected_tags_1) + /sizeof(asn_DEF_YawDetected_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_YawDetected_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_YawDetected_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + YawDetected_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/YawDetected.h b/src/tmx/Asn_J2735/src/r2024/YawDetected.h deleted file mode 100644 index 4af7c2c24..000000000 --- a/src/tmx/Asn_J2735/src/r2024/YawDetected.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SensorDataSharingMessage" - * found in "J3224-SensorDataSharingMessage-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _YawDetected_H_ -#define _YawDetected_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* YawDetected */ -typedef long YawDetected_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_YawDetected_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_YawDetected; -asn_struct_free_f YawDetected_free; -asn_struct_print_f YawDetected_print; -asn_constr_check_f YawDetected_constraint; -ber_type_decoder_f YawDetected_decode_ber; -der_type_encoder_f YawDetected_encode_der; -xer_type_decoder_f YawDetected_decode_xer; -xer_type_encoder_f YawDetected_encode_xer; -oer_type_decoder_f YawDetected_decode_oer; -oer_type_encoder_f YawDetected_encode_oer; -per_type_decoder_f YawDetected_decode_uper; -per_type_encoder_f YawDetected_encode_uper; -per_type_decoder_f YawDetected_decode_aper; -per_type_encoder_f YawDetected_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _YawDetected_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/YawRate.c b/src/tmx/Asn_J2735/src/r2024/YawRate.c new file mode 100644 index 000000000..f497e8e22 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/YawRate.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "Common" + * found in "J2735-Common-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "YawRate.h" + +int +YawRate_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= -32767L && value <= 32767L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_YawRate_constr_1 CC_NOTUSED = { + { 2, 0 } /* (-32767..32767) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_YawRate_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, -32767, 32767 } /* (-32767..32767) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_YawRate_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_YawRate = { + "YawRate", + "YawRate", + &asn_OP_NativeInteger, + asn_DEF_YawRate_tags_1, + sizeof(asn_DEF_YawRate_tags_1) + /sizeof(asn_DEF_YawRate_tags_1[0]), /* 1 */ + asn_DEF_YawRate_tags_1, /* Same as above */ + sizeof(asn_DEF_YawRate_tags_1) + /sizeof(asn_DEF_YawRate_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_YawRate_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_YawRate_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + YawRate_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/YawRate.h b/src/tmx/Asn_J2735/src/r2024/YawRate.h deleted file mode 100644 index d0fad0073..000000000 --- a/src/tmx/Asn_J2735/src/r2024/YawRate.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "Common" - * found in "J2735-Common-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _YawRate_H_ -#define _YawRate_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* YawRate */ -typedef long YawRate_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_YawRate_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_YawRate; -asn_struct_free_f YawRate_free; -asn_struct_print_f YawRate_print; -asn_constr_check_f YawRate_constraint; -ber_type_decoder_f YawRate_decode_ber; -der_type_encoder_f YawRate_encode_der; -xer_type_decoder_f YawRate_decode_xer; -xer_type_encoder_f YawRate_encode_xer; -oer_type_decoder_f YawRate_decode_oer; -oer_type_encoder_f YawRate_encode_oer; -per_type_decoder_f YawRate_decode_uper; -per_type_encoder_f YawRate_encode_uper; -per_type_decoder_f YawRate_decode_aper; -per_type_encoder_f YawRate_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _YawRate_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/YawRateConfidence.c b/src/tmx/Asn_J2735/src/r2024/YawRateConfidence.c new file mode 100644 index 000000000..af89eb431 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/YawRateConfidence.c @@ -0,0 +1,80 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "ProbeVehicleData" + * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "YawRateConfidence.h" + +/* + * This type is implemented using NativeEnumerated, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_YawRateConfidence_constr_1 CC_NOTUSED = { + { 0, 0 }, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_YawRateConfidence_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 3, 3, 0, 7 } /* (0..7) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const asn_INTEGER_enum_map_t asn_MAP_YawRateConfidence_value2enum_1[] = { + { 0, 11, "unavailable" }, + { 1, 13, "degSec-100-00" }, + { 2, 13, "degSec-010-00" }, + { 3, 13, "degSec-005-00" }, + { 4, 13, "degSec-001-00" }, + { 5, 13, "degSec-000-10" }, + { 6, 13, "degSec-000-05" }, + { 7, 13, "degSec-000-01" } +}; +static const unsigned int asn_MAP_YawRateConfidence_enum2value_1[] = { + 7, /* degSec-000-01(7) */ + 6, /* degSec-000-05(6) */ + 5, /* degSec-000-10(5) */ + 4, /* degSec-001-00(4) */ + 3, /* degSec-005-00(3) */ + 2, /* degSec-010-00(2) */ + 1, /* degSec-100-00(1) */ + 0 /* unavailable(0) */ +}; +const asn_INTEGER_specifics_t asn_SPC_YawRateConfidence_specs_1 = { + asn_MAP_YawRateConfidence_value2enum_1, /* "tag" => N; sorted by tag */ + asn_MAP_YawRateConfidence_enum2value_1, /* N => "tag"; sorted by N */ + 8, /* Number of elements in the maps */ + 0, /* Enumeration is not extensible */ + 1, /* Strict enumeration */ + 0, /* Native long size */ + 0 +}; +static const ber_tlv_tag_t asn_DEF_YawRateConfidence_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_YawRateConfidence = { + "YawRateConfidence", + "YawRateConfidence", + &asn_OP_NativeEnumerated, + asn_DEF_YawRateConfidence_tags_1, + sizeof(asn_DEF_YawRateConfidence_tags_1) + /sizeof(asn_DEF_YawRateConfidence_tags_1[0]), /* 1 */ + asn_DEF_YawRateConfidence_tags_1, /* Same as above */ + sizeof(asn_DEF_YawRateConfidence_tags_1) + /sizeof(asn_DEF_YawRateConfidence_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_YawRateConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_YawRateConfidence_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + NativeEnumerated_constraint + }, + 0, 0, /* Defined elsewhere */ + &asn_SPC_YawRateConfidence_specs_1 /* Additional specs */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/YawRateConfidence.h b/src/tmx/Asn_J2735/src/r2024/YawRateConfidence.h deleted file mode 100644 index 9aff79ed3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/YawRateConfidence.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "ProbeVehicleData" - * found in "J2735-ProbeVehicleData-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _YawRateConfidence_H_ -#define _YawRateConfidence_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeEnumerated.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Dependencies */ -typedef enum YawRateConfidence { - YawRateConfidence_unavailable = 0, - YawRateConfidence_degSec_100_00 = 1, - YawRateConfidence_degSec_010_00 = 2, - YawRateConfidence_degSec_005_00 = 3, - YawRateConfidence_degSec_001_00 = 4, - YawRateConfidence_degSec_000_10 = 5, - YawRateConfidence_degSec_000_05 = 6, - YawRateConfidence_degSec_000_01 = 7 -} e_YawRateConfidence; - -/* YawRateConfidence */ -typedef long YawRateConfidence_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_YawRateConfidence_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_YawRateConfidence; -extern const asn_INTEGER_specifics_t asn_SPC_YawRateConfidence_specs_1; -asn_struct_free_f YawRateConfidence_free; -asn_struct_print_f YawRateConfidence_print; -asn_constr_check_f YawRateConfidence_constraint; -ber_type_decoder_f YawRateConfidence_decode_ber; -der_type_encoder_f YawRateConfidence_encode_der; -xer_type_decoder_f YawRateConfidence_decode_xer; -xer_type_encoder_f YawRateConfidence_encode_xer; -oer_type_decoder_f YawRateConfidence_decode_oer; -oer_type_encoder_f YawRateConfidence_encode_oer; -per_type_decoder_f YawRateConfidence_decode_uper; -per_type_encoder_f YawRateConfidence_encode_uper; -per_type_decoder_f YawRateConfidence_decode_aper; -per_type_encoder_f YawRateConfidence_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _YawRateConfidence_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Year.c b/src/tmx/Asn_J2735/src/r2024/Year.c new file mode 100644 index 000000000..7643a7c0b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Year.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "AddGrpB" + * found in "J2735-AddGrpB-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Year.h" + +int +Year_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 1L && value <= 65535L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Year_constr_1 CC_NOTUSED = { + { 2, 1 } /* (1..65535) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Year_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 16, 16, 1, 65535 } /* (1..65535) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Year_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Year = { + "Year", + "Year", + &asn_OP_NativeInteger, + asn_DEF_Year_tags_1, + sizeof(asn_DEF_Year_tags_1) + /sizeof(asn_DEF_Year_tags_1[0]), /* 1 */ + asn_DEF_Year_tags_1, /* Same as above */ + sizeof(asn_DEF_Year_tags_1) + /sizeof(asn_DEF_Year_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Year_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Year_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Year_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Year.h b/src/tmx/Asn_J2735/src/r2024/Year.h deleted file mode 100644 index 0bdf6b055..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Year.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "AddGrpB" - * found in "J2735-AddGrpB-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Year_H_ -#define _Year_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Year */ -typedef long Year_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Year_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Year; -asn_struct_free_f Year_free; -asn_struct_print_f Year_print; -asn_constr_check_f Year_constraint; -ber_type_decoder_f Year_decode_ber; -der_type_encoder_f Year_encode_der; -xer_type_decoder_f Year_decode_xer; -xer_type_encoder_f Year_encode_xer; -oer_type_decoder_f Year_decode_oer; -oer_type_encoder_f Year_encode_oer; -per_type_decoder_f Year_decode_uper; -per_type_encoder_f Year_encode_uper; -per_type_decoder_f Year_decode_aper; -per_type_encoder_f Year_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Year_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/ZoneLength.c b/src/tmx/Asn_J2735/src/r2024/ZoneLength.c new file mode 100644 index 000000000..60859d2eb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ZoneLength.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "SPAT" + * found in "J2735-SPAT-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "ZoneLength.h" + +int +ZoneLength_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 10000L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_ZoneLength_constr_1 CC_NOTUSED = { + { 2, 1 } /* (0..10000) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_ZoneLength_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 14, 14, 0, 10000 } /* (0..10000) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_ZoneLength_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_ZoneLength = { + "ZoneLength", + "ZoneLength", + &asn_OP_NativeInteger, + asn_DEF_ZoneLength_tags_1, + sizeof(asn_DEF_ZoneLength_tags_1) + /sizeof(asn_DEF_ZoneLength_tags_1[0]), /* 1 */ + asn_DEF_ZoneLength_tags_1, /* Same as above */ + sizeof(asn_DEF_ZoneLength_tags_1) + /sizeof(asn_DEF_ZoneLength_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_ZoneLength_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_ZoneLength_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + ZoneLength_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/ZoneLength.h b/src/tmx/Asn_J2735/src/r2024/ZoneLength.h deleted file mode 100644 index d80f48341..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ZoneLength.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "SPAT" - * found in "J2735-SPAT-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _ZoneLength_H_ -#define _ZoneLength_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* ZoneLength */ -typedef long ZoneLength_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_ZoneLength_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_ZoneLength; -asn_struct_free_f ZoneLength_free; -asn_struct_print_f ZoneLength_print; -asn_constr_check_f ZoneLength_constraint; -ber_type_decoder_f ZoneLength_decode_ber; -der_type_encoder_f ZoneLength_encode_der; -xer_type_decoder_f ZoneLength_decode_xer; -xer_type_encoder_f ZoneLength_encode_xer; -oer_type_decoder_f ZoneLength_decode_oer; -oer_type_encoder_f ZoneLength_encode_oer; -per_type_decoder_f ZoneLength_decode_uper; -per_type_encoder_f ZoneLength_encode_uper; -per_type_decoder_f ZoneLength_decode_aper; -per_type_encoder_f ZoneLength_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _ZoneLength_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/Zoom.c b/src/tmx/Asn_J2735/src/r2024/Zoom.c new file mode 100644 index 000000000..f70f91316 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/Zoom.c @@ -0,0 +1,76 @@ +/* + * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) + * From ASN.1 module "TravelerInformation" + * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" + * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` + */ + +#include "Zoom.h" + +int +Zoom_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + long value; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + value = *(const long *)sptr; + + if((value >= 0L && value <= 15L)) { + /* Constraint check succeeded */ + return 0; + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: constraint failed (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +/* + * This type is implemented using NativeInteger, + * so here we adjust the DEF accordingly. + */ +#if !defined(ASN_DISABLE_OER_SUPPORT) +static asn_oer_constraints_t asn_OER_type_Zoom_constr_1 CC_NOTUSED = { + { 1, 1 } /* (0..15) */, + -1}; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) +asn_per_constraints_t asn_PER_type_Zoom_constr_1 CC_NOTUSED = { + { APC_CONSTRAINED, 4, 4, 0, 15 } /* (0..15) */, + { APC_UNCONSTRAINED, -1, -1, 0, 0 }, + 0, 0 /* No PER value map */ +}; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ +static const ber_tlv_tag_t asn_DEF_Zoom_tags_1[] = { + (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)) +}; +asn_TYPE_descriptor_t asn_DEF_Zoom = { + "Zoom", + "Zoom", + &asn_OP_NativeInteger, + asn_DEF_Zoom_tags_1, + sizeof(asn_DEF_Zoom_tags_1) + /sizeof(asn_DEF_Zoom_tags_1[0]), /* 1 */ + asn_DEF_Zoom_tags_1, /* Same as above */ + sizeof(asn_DEF_Zoom_tags_1) + /sizeof(asn_DEF_Zoom_tags_1[0]), /* 1 */ + { +#if !defined(ASN_DISABLE_OER_SUPPORT) + &asn_OER_type_Zoom_constr_1, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + &asn_PER_type_Zoom_constr_1, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + Zoom_constraint + }, + 0, 0, /* No members */ + 0 /* No specifics */ +}; + diff --git a/src/tmx/Asn_J2735/src/r2024/Zoom.h b/src/tmx/Asn_J2735/src/r2024/Zoom.h deleted file mode 100644 index 54a8cacd0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/Zoom.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - * From ASN.1 module "TravelerInformation" - * found in "J2735-TravelerInformation-2024-rel-v1.1.asn" - * `asn1c -pdu=MessageFrame -fcompound-names -fincludes-quoted -no-gen-JER` - */ - -#ifndef _Zoom_H_ -#define _Zoom_H_ - - -#include "asn_application.h" - -/* Including external dependencies */ -#include "NativeInteger.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* Zoom */ -typedef long Zoom_t; - -/* Implementation */ -extern asn_per_constraints_t asn_PER_type_Zoom_constr_1; -extern asn_TYPE_descriptor_t asn_DEF_Zoom; -asn_struct_free_f Zoom_free; -asn_struct_print_f Zoom_print; -asn_constr_check_f Zoom_constraint; -ber_type_decoder_f Zoom_decode_ber; -der_type_encoder_f Zoom_encode_der; -xer_type_decoder_f Zoom_decode_xer; -xer_type_encoder_f Zoom_encode_xer; -oer_type_decoder_f Zoom_decode_oer; -oer_type_encoder_f Zoom_encode_oer; -per_type_decoder_f Zoom_decode_uper; -per_type_encoder_f Zoom_encode_uper; -per_type_decoder_f Zoom_decode_aper; -per_type_encoder_f Zoom_encode_aper; - -#ifdef __cplusplus -} -#endif - -#endif /* _Zoom_H_ */ -#include "asn_internal.h" diff --git a/src/tmx/Asn_J2735/src/r2024/aper_decoder.c b/src/tmx/Asn_J2735/src/r2024/aper_decoder.c new file mode 100644 index 000000000..0637b6a5a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/aper_decoder.c @@ -0,0 +1,91 @@ +#include +#include +#include + +asn_dec_rval_t +aper_decode_complete(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const void *buffer, size_t size) { + asn_dec_rval_t rval; + + rval = aper_decode(opt_codec_ctx, td, sptr, buffer, size, 0, 0); + if(rval.consumed) { + /* + * We've always given 8-aligned data, + * so convert bits to integral bytes. + */ + rval.consumed += 7; + rval.consumed >>= 3; + } else if(rval.code == RC_OK) { + if(size) { + if(((const uint8_t *)buffer)[0] == 0) { + rval.consumed = 1; /* 1 byte */ + } else { + ASN_DEBUG("Expecting single zeroed byte"); + rval.code = RC_FAIL; + } + } else { + /* Must contain at least 8 bits. */ + rval.code = RC_WMORE; + } + } + + return rval; +} + +asn_dec_rval_t +aper_decode(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, const void *buffer, + size_t size, int skip_bits, int unused_bits) { + asn_codec_ctx_t s_codec_ctx; + asn_dec_rval_t rval; + asn_per_data_t pd; + + if(skip_bits < 0 || skip_bits > 7 + || unused_bits < 0 || unused_bits > 7 + || (unused_bits > 0 && !size)) + ASN__DECODE_FAILED; + + /* + * Stack checker requires that the codec context + * must be allocated on the stack. + */ + if(opt_codec_ctx) { + if(opt_codec_ctx->max_stack_size) { + s_codec_ctx = *opt_codec_ctx; + opt_codec_ctx = &s_codec_ctx; + } + } else { + /* If context is not given, be security-conscious anyway */ + memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); + s_codec_ctx.max_stack_size = ASN__DEFAULT_STACK_MAX; + opt_codec_ctx = &s_codec_ctx; + } + + /* Fill in the position indicator */ + memset(&pd, 0, sizeof(pd)); + pd.buffer = (const uint8_t *)buffer; + pd.nboff = skip_bits; + pd.nbits = 8 * size - unused_bits; /* 8 is CHAR_BIT from */ + if(pd.nboff > pd.nbits) + ASN__DECODE_FAILED; + + /* + * Invoke type-specific decoder. + */ + if(!td->op->aper_decoder) + ASN__DECODE_FAILED; /* PER is not compiled in */ + rval = td->op->aper_decoder(opt_codec_ctx, td, 0, sptr, &pd); + if(rval.code == RC_OK) { + /* Return the number of consumed bits */ + rval.consumed = ((pd.buffer - (const uint8_t *)buffer) << 3) + + pd.nboff - skip_bits; + ASN_DEBUG("PER decoding consumed %zu, counted %zu", + rval.consumed, pd.moved); + assert(rval.consumed == pd.moved); + } else { + /* PER codec is not a restartable */ + rval.consumed = 0; + } + return rval; +} diff --git a/src/tmx/Asn_J2735/src/r2024/aper_decoder.h b/src/tmx/Asn_J2735/src/r2024/aper_decoder.h deleted file mode 100644 index 10352c710..000000000 --- a/src/tmx/Asn_J2735/src/r2024/aper_decoder.h +++ /dev/null @@ -1,47 +0,0 @@ -/*- - * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _APER_DECODER_H_ -#define _APER_DECODER_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * Aligned PER decoder of a "complete encoding" as per X.691#10.1. - * On success, this call always returns (.consumed >= 1), in BITS, as per X.691#10.1.3. - */ -asn_dec_rval_t aper_decode_complete( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */ - void **struct_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of data buffer */ - ); - -/* - * Aligned PER decoder of any ASN.1 type. May be invoked by the application. - * WARNING: This call returns the number of BITS read from the stream. Beware. - */ -asn_dec_rval_t aper_decode( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */ - void **struct_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size, /* Size of data buffer */ - int skip_bits, /* Number of unused leading bits, 0..7 */ - int unused_bits /* Number of unused tailing bits, 0..7 */ - ); - -#ifdef __cplusplus -} -#endif - -#endif /* _APER_DECODER_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/aper_encoder.c b/src/tmx/Asn_J2735/src/r2024/aper_encoder.c new file mode 100644 index 000000000..d9b1c1df1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/aper_encoder.c @@ -0,0 +1,129 @@ +#include +#include +#include + +/* + * Argument type and callback necessary for aper_encode_to_buffer(). + */ +typedef struct enc_to_buf_arg { + void *buffer; + size_t left; +} enc_to_buf_arg; +static int encode_to_buffer_cb(const void *buffer, size_t size, void *key) { + enc_to_buf_arg *arg = (enc_to_buf_arg *)key; + + if(arg->left < size) + return -1; /* Data exceeds the available buffer size */ + + memcpy(arg->buffer, buffer, size); + arg->buffer = ((char *)arg->buffer) + size; + arg->left -= size; + + return 0; +} + +asn_enc_rval_t +aper_encode_to_buffer(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, void *buffer, size_t buffer_size) { + enc_to_buf_arg key; + + key.buffer = buffer; + key.left = buffer_size; + + if(td) ASN_DEBUG("Encoding \"%s\" using ALIGNED PER", td->name); + + return aper_encode(td, constraints, sptr, encode_to_buffer_cb, &key); +} + +ssize_t +aper_encode_to_new_buffer(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, void **buffer_r) { + asn_enc_rval_t er = {0,0,0}; + enc_dyn_arg key; + + memset(&key, 0, sizeof(key)); + + er = aper_encode(td, constraints, sptr, encode_dyn_cb, &key); + switch(er.encoded) { + case -1: + FREEMEM(key.buffer); + return -1; + case 0: + FREEMEM(key.buffer); + key.buffer = MALLOC(1); + if(key.buffer) { + *(char *)key.buffer = '\0'; + *buffer_r = key.buffer; + return 1; + } else { + return -1; + } + default: + *buffer_r = key.buffer; + ASN_DEBUG("Complete encoded in %ld bits", (long)er.encoded); + return ((er.encoded + 7) >> 3); + } +} + +/* + * Internally useful functions. + */ + +/* Flush partially filled buffer */ +static int +_aper_encode_flush_outp(asn_per_outp_t *po) { + uint8_t *buf; + + if(po->nboff == 0 && po->buffer == po->tmpspace) + return 0; + + buf = po->buffer + (po->nboff >> 3); + /* Make sure we account for the last, partially filled */ + if(po->nboff & 0x07) { + buf[0] &= 0xff << (8 - (po->nboff & 0x07)); + buf++; + } + + if (po->output) { + return po->output(po->tmpspace, buf - po->tmpspace, po->op_key); + } + return 0; +} + +asn_enc_rval_t +aper_encode(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_app_consume_bytes_f *cb, void *app_key) { + asn_per_outp_t po; + asn_enc_rval_t er = {0,0,0}; + + /* + * Invoke type-specific encoder. + */ + if(!td || !td->op->aper_encoder) + ASN__ENCODE_FAILED; /* PER is not compiled in */ + + po.buffer = po.tmpspace; + po.nboff = 0; + po.nbits = 8 * sizeof(po.tmpspace); + po.output = cb ? cb : ignore_output; + po.op_key = app_key; + po.flushed_bytes = 0; + + er = td->op->aper_encoder(td, constraints, sptr, &po); + if(er.encoded != -1) { + size_t bits_to_flush; + + bits_to_flush = ((po.buffer - po.tmpspace) << 3) + po.nboff; + + /* Set number of bits encoded to a firm value */ + er.encoded = (po.flushed_bytes << 3) + bits_to_flush; + + if(_aper_encode_flush_outp(&po)) + ASN__ENCODE_FAILED; + } + + return er; +} diff --git a/src/tmx/Asn_J2735/src/r2024/aper_encoder.h b/src/tmx/Asn_J2735/src/r2024/aper_encoder.h deleted file mode 100644 index 957b0bdbe..000000000 --- a/src/tmx/Asn_J2735/src/r2024/aper_encoder.h +++ /dev/null @@ -1,63 +0,0 @@ -/*- - * Copyright (c) 2006-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _APER_ENCODER_H_ -#define _APER_ENCODER_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * Aligned PER encoder of any ASN.1 type. May be invoked by the application. - * WARNING: This function returns the number of encoded bits in the .encoded - * field of the return value. Use the following formula to convert to bytes: - * bytes = ((.encoded + 7) / 8) - */ -asn_enc_rval_t aper_encode( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_per_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - asn_app_consume_bytes_f *consume_bytes_cb, /* Data collector */ - void *app_key /* Arbitrary callback argument */ -); - -/* - * A variant of aper_encode() which encodes data into the existing buffer - * WARNING: This function returns the number of encoded bits in the .encoded - * field of the return value. - */ -asn_enc_rval_t aper_encode_to_buffer( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_per_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - void *buffer, /* Pre-allocated buffer */ - size_t buffer_size /* Initial buffer size (max) */ -); - -/* - * A variant of aper_encode_to_buffer() which allocates buffer itself. - * Returns the number of bytes in the buffer or -1 in case of failure. - * WARNING: This function produces a "Production of the complete encoding", - * with length of at least one octet. Contrast this to precise bit-packing - * encoding of aper_encode() and aper_encode_to_buffer(). - */ -ssize_t -aper_encode_to_new_buffer( - const struct asn_TYPE_descriptor_s *td, - const asn_per_constraints_t *constraints, - const void *sptr, - void **buffer_r -); - -#ifdef __cplusplus -} -#endif - -#endif /* _APER_ENCODER_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/aper_opentype.c b/src/tmx/Asn_J2735/src/r2024/aper_opentype.c new file mode 100644 index 000000000..cdd5999b2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/aper_opentype.c @@ -0,0 +1,149 @@ +/* + * Copyright (c) 2007 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include + +static asn_dec_rval_t +aper_open_type_get_simple(const asn_codec_ctx_t *ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + asn_dec_rval_t rv; + ssize_t chunk_bytes; + int repeat; + uint8_t *buf = 0; + size_t bufLen = 0; + size_t bufSize = 0; + asn_per_data_t spd; + size_t padding; + + ASN__STACK_OVERFLOW_CHECK(ctx); + + ASN_DEBUG("Getting open type %s...", td->name); + + do { + chunk_bytes = aper_get_length(pd, -1, -1, -1, &repeat); + if(chunk_bytes < 0) { + FREEMEM(buf); + ASN__DECODE_STARVED; + } + if(bufLen + chunk_bytes > bufSize) { + void *ptr; + bufSize = chunk_bytes + (bufSize << 2); + ptr = REALLOC(buf, bufSize); + if(!ptr) { + FREEMEM(buf); + ASN__DECODE_FAILED; + } + buf = ptr; + } + if(per_get_many_bits(pd, buf + bufLen, 0, chunk_bytes << 3)) { + FREEMEM(buf); + ASN__DECODE_STARVED; + } + bufLen += chunk_bytes; + } while(repeat); + + ASN_DEBUG("Getting open type %s encoded in %ld bytes", td->name, + (long)bufLen); + + memset(&spd, 0, sizeof(spd)); + spd.buffer = buf; + spd.nbits = bufLen << 3; + + ASN_DEBUG_INDENT_ADD(+4); + rv = td->op->aper_decoder(ctx, td, constraints, sptr, &spd); + ASN_DEBUG_INDENT_ADD(-4); + + if(rv.code == RC_OK) { + /* Check padding validity */ + padding = spd.nbits - spd.nboff; + if (((padding > 0 && padding < 8) || + /* X.691#10.1.3 */ + (spd.nboff == 0 && spd.nbits == 8 && spd.buffer == buf)) && + per_get_few_bits(&spd, padding) == 0) { + /* Everything is cool */ + FREEMEM(buf); + return rv; + } + FREEMEM(buf); + if(padding >= 8) { + ASN_DEBUG("Too large padding %d in open type", (int)padding); + ASN__DECODE_FAILED; + } else { + ASN_DEBUG("No padding"); + } + } else { + FREEMEM(buf); + /* rv.code could be RC_WMORE, nonsense in this context */ + rv.code = RC_FAIL; /* Noone would give us more */ + } + + return rv; +} + +int +aper_open_type_put(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + void *buf; + void *bptr; + ssize_t size; + size_t toGo; + + ASN_DEBUG("Open type put %s ...", td->name); + + size = aper_encode_to_new_buffer(td, constraints, sptr, &buf); + if(size <= 0) return -1; + + for(bptr = buf, toGo = size; toGo;) { + int need_eom = 0; + ssize_t maySave = aper_put_length(po, -1, -1, toGo, &need_eom); + if(maySave < 0) break; + if(per_put_many_bits(po, bptr, maySave * 8)) break; + bptr = (char *)bptr + maySave; + toGo -= maySave; + if(need_eom && (aper_put_length(po, -1, -1, 0, NULL) < 0)) { + FREEMEM(buf); + return -1; + } + } + + FREEMEM(buf); + if(toGo) return -1; + + ASN_DEBUG("Open type put %s of length %zd + overhead (1byte?)", + td->name, size); + + return 0; +} + +asn_dec_rval_t +aper_open_type_get(const asn_codec_ctx_t *ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + void **sptr, asn_per_data_t *pd) { + + return aper_open_type_get_simple(ctx, td, constraints, sptr, pd); +} + +int +aper_open_type_skip(const asn_codec_ctx_t *ctx, asn_per_data_t *pd) { + asn_TYPE_descriptor_t s_td; + asn_dec_rval_t rv; + asn_TYPE_operation_t op_t; + + memset(&op_t, 0, sizeof(op_t)); + s_td.name = ""; + s_td.op = &op_t; + s_td.op->aper_decoder = uper_sot_suck; + + rv = aper_open_type_get(ctx, &s_td, 0, 0, pd); + if(rv.code != RC_OK) + return -1; + else + return 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/aper_opentype.h b/src/tmx/Asn_J2735/src/r2024/aper_opentype.h deleted file mode 100644 index 451b01c3b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/aper_opentype.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2007-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _APER_OPENTYPE_H_ -#define _APER_OPENTYPE_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -asn_dec_rval_t aper_open_type_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - void **sptr, asn_per_data_t *pd); - - -int aper_open_type_skip(const asn_codec_ctx_t *opt_codec_ctx, asn_per_data_t *pd); - -int aper_open_type_put(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po); - -#ifdef __cplusplus -} -#endif - -#endif /* _APER_OPENTYPE_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/aper_support.c b/src/tmx/Asn_J2735/src/r2024/aper_support.c new file mode 100644 index 000000000..1f34c60d6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/aper_support.c @@ -0,0 +1,239 @@ +/* + * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +int32_t +aper_get_align(asn_per_data_t *pd) { + + if(pd->nboff & 0x7) { + ASN_DEBUG("Aligning %ld bits", 8 - ((unsigned long)pd->nboff & 0x7)); + return per_get_few_bits(pd, 8 - (pd->nboff & 0x7)); + } + return 0; +} + +ssize_t +aper_get_length(asn_per_data_t *pd, ssize_t lb, ssize_t ub, + int ebits, int *repeat) { + int constrained = (lb >= 0) && (ub >= 0); + ssize_t value; + + *repeat = 0; + + if (constrained && ub < 65536) { + int range = ub - lb + 1; + return aper_get_nsnnwn(pd, range); + } + + if (aper_get_align(pd) < 0) + return -1; + + if(ebits >= 0) return per_get_few_bits(pd, ebits); + + value = per_get_few_bits(pd, 8); + if(value < 0) return -1; + if((value & 128) == 0) /* #11.9.3.6 */ + return (value & 0x7F); + if((value & 64) == 0) { /* #11.9.3.7 */ + value = ((value & 63) << 8) | per_get_few_bits(pd, 8); + if(value < 0) return -1; + return value; + } + value &= 63; /* this is "m" from X.691, #11.9.3.8 */ + if(value < 1 || value > 4) + return -1; + *repeat = 1; + return (16384 * value); +} + +ssize_t +aper_get_nslength(asn_per_data_t *pd) { + ssize_t length; + + ASN_DEBUG("Getting normally small length"); + + if(per_get_few_bits(pd, 1) == 0) { + length = per_get_few_bits(pd, 6) + 1; + if(length <= 0) return -1; + ASN_DEBUG("l=%zd", length); + return length; + } else { + int repeat; + length = aper_get_length(pd, -1, -1, -1, &repeat); + if(length >= 0 && !repeat) return length; + return -1; /* Error, or do not support >16K extensions */ + } +} + +ssize_t +aper_get_nsnnwn(asn_per_data_t *pd, int range) { + ssize_t value; + int bytes = 0; + + ASN_DEBUG("getting nsnnwn with range %d", range); + + if(range <= 255) { + int i; + + if (range < 0) return -1; + /* 1 -> 8 bits */ + for (i = 1; i <= 8; i++) { + int upper = 1 << i; + if (upper >= range) + break; + } + value = per_get_few_bits(pd, i); + return value; + } else if (range == 256){ + /* 1 byte */ + bytes = 1; + } else if (range <= 65536) { + /* 2 bytes */ + bytes = 2; + } else { + //return -1; + int length; + + /* handle indefinite range */ + length = per_get_few_bits(pd, 1); + if (length == 0) + return per_get_few_bits(pd, 6); + + if (aper_get_align(pd) < 0) + return -1; + + length = per_get_few_bits(pd, 8); + /* the length is not likely to be that big */ + if (length > 4) + return -1; + value = 0; + if (per_get_many_bits(pd, (uint8_t *)&value, 0, length * 8) < 0) + return -1; + return value; + } + if (aper_get_align(pd) < 0) + return -1; + value = per_get_few_bits(pd, 8 * bytes); + return value; +} + +int aper_put_align(asn_per_outp_t *po) { + + if(po->nboff & 0x7) { + ASN_DEBUG("Aligning %ld bits", 8 - ((unsigned long)po->nboff & 0x7)); + if(per_put_few_bits(po, 0x00, (8 - (po->nboff & 0x7)))) + return -1; + } + return 0; +} + +ssize_t +aper_put_length(asn_per_outp_t *po, ssize_t lb, ssize_t ub, size_t n, int *need_eom) { + int constrained = (lb >= 0) && (ub >= 0); + int dummy = 0; + if(!need_eom) need_eom = &dummy; + + *need_eom = 0; + + + ASN_DEBUG("APER put length %zu with range (%zd..%zd)", n, lb, ub); + + /* 11.9 X.691 Note 2 */ + if (constrained && ub < 65536) { + int range = ub - lb + 1; + return aper_put_nsnnwn(po, range, n) ? -1 : (ssize_t)n; + } + + if (aper_put_align(po) < 0) + return -1; + + if(n <= 127) { /* #11.9.3.6 */ + return per_put_few_bits(po, n, 8) + ? -1 : (ssize_t)n; + } + else if(n < 16384) /* #11.9.3.7 */ + return per_put_few_bits(po, n|0x8000, 16) + ? -1 : (ssize_t)n; + + *need_eom = 0 == (n & 16383); + n >>= 14; + if(n > 4) { + *need_eom = 0; + n = 4; + } + + return per_put_few_bits(po, 0xC0 | n, 8) + ? -1 : (ssize_t)(n << 14); +} + + +int +aper_put_nslength(asn_per_outp_t *po, size_t length) { + + if(length <= 64) { + /* #11.9.3.4 */ + if(length == 0) return -1; + return per_put_few_bits(po, length-1, 7) ? -1 : 0; + } else { + if(aper_put_length(po, -1, -1, length, NULL) != (ssize_t)length) { + /* This might happen in case of >16K extensions */ + return -1; + } + } + + return 0; +} + +int +aper_put_nsnnwn(asn_per_outp_t *po, int range, int number) { + int bytes; + + ASN_DEBUG("aper put nsnnwn %d with range %d", number, range); + /* 10.5.7.1 X.691 */ + if(range < 0) { + int i; + for (i = 1; ; i++) { + int bits = 1 << (8 * i); + if (number <= bits) + break; + } + bytes = i; + assert(i <= 4); + } + if(range <= 255) { + int i; + for (i = 1; i <= 8; i++) { + int bits = 1 << i; + if (range <= bits) + break; + } + return per_put_few_bits(po, number, i); + } else if(range == 256) { + if (number >= range) + return -1; + bytes = 1; + } else if(range <= 65536) { + if (number >= range) + return -1; + bytes = 2; + } else { /* Ranges > 64K */ + int i; + for (i = 1; ; i++) { + int bits = 1 << (8 * i); + if (range <= bits) + break; + } + assert(i <= 4); + bytes = i; + } + if(aper_put_align(po) < 0) /* Aligning on octet */ + return -1; +/* if(per_put_few_bits(po, bytes, 8)) + return -1; +*/ + return per_put_few_bits(po, number, 8 * bytes); +} diff --git a/src/tmx/Asn_J2735/src/r2024/aper_support.h b/src/tmx/Asn_J2735/src/r2024/aper_support.h deleted file mode 100644 index a3724455c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/aper_support.h +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _APER_SUPPORT_H_ -#define _APER_SUPPORT_H_ - -#include /* Platform-specific types */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * X.691 (08/2015) #11.9 "General rules for encoding a length determinant" - * Get the length "n" from the Aligned PER stream. - */ -ssize_t aper_get_length(asn_per_data_t *pd, ssize_t lb, ssize_t ub, - int effective_bound_bits, int *repeat); - -/* - * Get the normally small length "n". - */ -ssize_t aper_get_nslength(asn_per_data_t *pd); - -/* - * Get the normally small non-negative whole number. - */ -ssize_t aper_get_nsnnwn(asn_per_data_t *pd, int range); - -/* - * X.691 (08/2015) #11.9 "General rules for encoding a length determinant" - * Put the length "n" to the Aligned PER stream. - * If (opt_need_eom) is given, it will be set to 1 if final 0-n is needed. - * In that case, invoke aper_put_length(po, -1, -1, 0, NULL) after encoding the - * last block. - * This function returns the number of units which may be flushed - * in the next units saving iteration. - */ -ssize_t aper_put_length(asn_per_outp_t *po, ssize_t lb, ssize_t ub, size_t n, - int *opt_need_eom); - -/* Align the current bit position to octet bundary */ -int aper_put_align(asn_per_outp_t *po); -int32_t aper_get_align(asn_per_data_t *pd); - -/* - * Put the normally small length "n" to the Unaligned PER stream. - * Returns 0 or -1. - */ -int aper_put_nslength(asn_per_outp_t *po, size_t length); - -/* - * Put the normally small non-negative whole number. - */ -int aper_put_nsnnwn(asn_per_outp_t *po, int range, int number); - -#ifdef __cplusplus -} -#endif - -#endif /* _APER_SUPPORT_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/asn_SEQUENCE_OF.c b/src/tmx/Asn_J2735/src/r2024/asn_SEQUENCE_OF.c new file mode 100644 index 000000000..ec952fc99 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/asn_SEQUENCE_OF.c @@ -0,0 +1,41 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +typedef A_SEQUENCE_OF(void) asn_sequence; + +void +asn_sequence_del(void *asn_sequence_of_x, int number, int _do_free) { + asn_sequence *as = (asn_sequence *)asn_sequence_of_x; + + if(as) { + void *ptr; + int n; + + if(number < 0 || number >= as->count) + return; /* Nothing to delete */ + + if(_do_free && as->free) { + ptr = as->array[number]; + } else { + ptr = 0; + } + + /* + * Shift all elements to the left to hide the gap. + */ + --as->count; + for(n = number; n < as->count; n++) + as->array[n] = as->array[n+1]; + + /* + * Invoke the third-party function only when the state + * of the parent structure is consistent. + */ + if(ptr) as->free(ptr); + } +} + diff --git a/src/tmx/Asn_J2735/src/r2024/asn_SEQUENCE_OF.h b/src/tmx/Asn_J2735/src/r2024/asn_SEQUENCE_OF.h deleted file mode 100644 index e35bc447a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/asn_SEQUENCE_OF.h +++ /dev/null @@ -1,52 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_SEQUENCE_OF_H -#define ASN_SEQUENCE_OF_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * SEQUENCE OF is the same as SET OF with a tiny difference: - * the delete operation preserves the initial order of elements - * and thus MAY operate in non-constant time. - */ -#define A_SEQUENCE_OF(type) A_SET_OF(type) - -#define ASN_SEQUENCE_ADD(headptr, ptr) \ - asn_sequence_add((headptr), (ptr)) - -/*********************************************** - * Implementation of the SEQUENCE OF structure. - */ - -#define asn_sequence_add asn_set_add -#define asn_sequence_empty asn_set_empty - -/* - * Delete the element from the set by its number (base 0). - * This is NOT a constant-time operation. - * The order of elements is preserved. - * If _do_free is given AND the (*free) is initialized, the element - * will be freed using the custom (*free) function as well. - */ -void asn_sequence_del(void *asn_sequence_of_x, int number, int _do_free); - -/* - * Cope with different conversions requirements to/from void in C and C++. - * This is mostly useful for support library. - */ -typedef A_SEQUENCE_OF(void) asn_anonymous_sequence_; -#define _A_SEQUENCE_FROM_VOID(ptr) ((asn_anonymous_sequence_ *)(ptr)) -#define _A_CSEQUENCE_FROM_VOID(ptr) ((const asn_anonymous_sequence_ *)(ptr)) - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_SEQUENCE_OF_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/asn_SET_OF.c b/src/tmx/Asn_J2735/src/r2024/asn_SET_OF.c new file mode 100644 index 000000000..944f2cb8a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/asn_SET_OF.c @@ -0,0 +1,88 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * Add another element into the set. + */ +int +asn_set_add(void *asn_set_of_x, void *ptr) { + asn_anonymous_set_ *as = _A_SET_FROM_VOID(asn_set_of_x); + + if(as == 0 || ptr == 0) { + errno = EINVAL; /* Invalid arguments */ + return -1; + } + + /* + * Make sure there's enough space to insert an element. + */ + if(as->count == as->size) { + int _newsize = as->size ? (as->size << 1) : 4; + void *_new_arr; + _new_arr = REALLOC(as->array, _newsize * sizeof(as->array[0])); + if(_new_arr) { + as->array = (void **)_new_arr; + as->size = _newsize; + } else { + /* ENOMEM */ + return -1; + } + } + + as->array[as->count++] = ptr; + + return 0; +} + +void +asn_set_del(void *asn_set_of_x, int number, int _do_free) { + asn_anonymous_set_ *as = _A_SET_FROM_VOID(asn_set_of_x); + + if(as) { + void *ptr; + if(number < 0 || number >= as->count) + return; + + if(_do_free && as->free) { + ptr = as->array[number]; + } else { + ptr = 0; + } + + as->array[number] = as->array[--as->count]; + + /* + * Invoke the third-party function only when the state + * of the parent structure is consistent. + */ + if(ptr) as->free(ptr); + } +} + +/* + * Free the contents of the set, do not free the set itself. + */ +void +asn_set_empty(void *asn_set_of_x) { + asn_anonymous_set_ *as = _A_SET_FROM_VOID(asn_set_of_x); + + if(as) { + if(as->array) { + if(as->free) { + while(as->count--) + as->free(as->array[as->count]); + } + FREEMEM(as->array); + as->array = 0; + } + as->count = 0; + as->size = 0; + } + +} + diff --git a/src/tmx/Asn_J2735/src/r2024/asn_SET_OF.h b/src/tmx/Asn_J2735/src/r2024/asn_SET_OF.h deleted file mode 100644 index 882e1a47d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/asn_SET_OF.h +++ /dev/null @@ -1,72 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_SET_OF_H -#define ASN_SET_OF_H - -#ifdef __cplusplus -#define A_SET_OF(type) \ - struct { \ - type **array; \ - int count; /* Meaningful size */ \ - int size; /* Allocated size */ \ - void (*free)(decltype(*array)); \ - } -#else /* C */ -#define A_SET_OF(type) \ - struct { \ - type **array; \ - int count; /* Meaningful size */ \ - int size; /* Allocated size */ \ - void (*free)(type *); \ - } -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#define ASN_SET_ADD(headptr, ptr) \ - asn_set_add((headptr), (ptr)) - -/******************************************* - * Implementation of the SET OF structure. - */ - -/* - * Add another structure into the set by its pointer. - * RETURN VALUES: - * 0 for success and -1/errno for failure. - */ -int asn_set_add(void *asn_set_of_x, void *ptr); - -/* - * Delete the element from the set by its number (base 0). - * This is a constant-time operation. The order of elements before the - * deleted ones is guaranteed, the order of elements after the deleted - * one is NOT guaranteed. - * If _do_free is given AND the (*free) is initialized, the element - * will be freed using the custom (*free) function as well. - */ -void asn_set_del(void *asn_set_of_x, int number, int _do_free); - -/* - * Empty the contents of the set. Will free the elements, if (*free) is given. - * Will NOT free the set itself. - */ -void asn_set_empty(void *asn_set_of_x); - -/* - * Cope with different conversions requirements to/from void in C and C++. - * This is mostly useful for support library. - */ -typedef A_SET_OF(void) asn_anonymous_set_; -#define _A_SET_FROM_VOID(ptr) ((asn_anonymous_set_ *)(ptr)) -#define _A_CSET_FROM_VOID(ptr) ((const asn_anonymous_set_ *)(ptr)) - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_SET_OF_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/asn_application.c b/src/tmx/Asn_J2735/src/r2024/asn_application.c new file mode 100644 index 000000000..7992185b5 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/asn_application.c @@ -0,0 +1,538 @@ +/* + * Copyright (c) 2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +static asn_enc_rval_t asn_encode_internal(const asn_codec_ctx_t *opt_codec_ctx, + enum asn_transfer_syntax syntax, + const asn_TYPE_descriptor_t *td, + const void *sptr, + asn_app_consume_bytes_f *callback, + void *callback_key); + + +struct callback_count_bytes_key { + asn_app_consume_bytes_f *callback; + void *callback_key; + size_t computed_size; +}; + +/* + * Encoder which just counts bytes that come through it. + */ +static int +callback_count_bytes_cb(const void *data, size_t size, void *keyp) { + struct callback_count_bytes_key *key = keyp; + int ret; + + ret = key->callback(data, size, key->callback_key); + if(ret >= 0) { + key->computed_size += size; + } + + return ret; +} + +struct overrun_encoder_key { + void *buffer; + size_t buffer_size; + size_t computed_size; +}; + +struct dynamic_encoder_key { + void *buffer; + size_t buffer_size; + size_t computed_size; +}; + +struct callback_failure_catch_key { + asn_app_consume_bytes_f *callback; + void *callback_key; + int callback_failed; +}; + +/* + * Encoder which doesn't stop counting bytes + * even if it reaches the end of the buffer. + */ +static int +overrun_encoder_cb(const void *data, size_t size, void *keyp) { + struct overrun_encoder_key *key = keyp; + + if(key->computed_size + size > key->buffer_size) { + /* + * Avoid accident on the next call: + * stop adding bytes to the buffer. + */ + key->buffer_size = 0; + } else { + memcpy((char *)key->buffer + key->computed_size, data, size); + } + key->computed_size += size; + + return 0; +} + +/* + * Encoder which dynamically allocates output, and continues + * to count even if allocation failed. + */ +static int +dynamic_encoder_cb(const void *data, size_t size, void *keyp) { + struct dynamic_encoder_key *key = keyp; + + if(key->buffer) { + if(key->computed_size + size >= key->buffer_size) { + void *p; + size_t new_size = key->buffer_size; + + do { + new_size *= 2; + } while(new_size <= key->computed_size + size); + + p = REALLOC(key->buffer, new_size); + if(p) { + key->buffer = p; + key->buffer_size = new_size; + } else { + FREEMEM(key->buffer); + key->buffer = 0; + key->buffer_size = 0; + key->computed_size += size; + return 0; + } + } + memcpy((char *)key->buffer + key->computed_size, data, size); + } + + key->computed_size += size; + + return 0; +} + +/* + * Encoder which help convert the application level encoder failure into EIO. + */ +static int +callback_failure_catch_cb(const void *data, size_t size, void *keyp) { + struct callback_failure_catch_key *key = keyp; + int ret; + + ret = key->callback(data, size, key->callback_key); + if(ret < 0) { + key->callback_failed = 1; + } + + return ret; +} + +asn_enc_rval_t +asn_encode(const asn_codec_ctx_t *opt_codec_ctx, + enum asn_transfer_syntax syntax, const asn_TYPE_descriptor_t *td, + const void *sptr, asn_app_consume_bytes_f *callback, void *callback_key) { + struct callback_failure_catch_key cb_key; + asn_enc_rval_t er = {0,0,0}; + + if(!callback) { + errno = EINVAL; + ASN__ENCODE_FAILED; + } + + cb_key.callback = callback; + cb_key.callback_key = callback_key; + cb_key.callback_failed = 0; + + er = asn_encode_internal(opt_codec_ctx, syntax, td, sptr, + callback_failure_catch_cb, &cb_key); + if(cb_key.callback_failed) { + assert(er.encoded == -1); + assert(errno == EBADF); + errno = EIO; + } + + return er; +} + +asn_enc_rval_t +asn_encode_to_buffer(const asn_codec_ctx_t *opt_codec_ctx, + enum asn_transfer_syntax syntax, + const asn_TYPE_descriptor_t *td, const void *sptr, + void *buffer, size_t buffer_size) { + struct overrun_encoder_key buf_key; + asn_enc_rval_t er = {0,0,0}; + + if(buffer_size > 0 && !buffer) { + errno = EINVAL; + ASN__ENCODE_FAILED; + } + + buf_key.buffer = buffer; + buf_key.buffer_size = buffer_size; + buf_key.computed_size = 0; + + er = asn_encode_internal(opt_codec_ctx, syntax, td, sptr, + overrun_encoder_cb, &buf_key); + + if(er.encoded >= 0 && (size_t)er.encoded != buf_key.computed_size) { + ASN_DEBUG("asn_encode() returned %" ASN_PRI_SSIZE + " yet produced %" ASN_PRI_SIZE " bytes", + er.encoded, buf_key.computed_size); + assert(er.encoded < 0 || (size_t)er.encoded == buf_key.computed_size); + } + + return er; +} + +asn_encode_to_new_buffer_result_t +asn_encode_to_new_buffer(const asn_codec_ctx_t *opt_codec_ctx, + enum asn_transfer_syntax syntax, + const asn_TYPE_descriptor_t *td, const void *sptr) { + struct dynamic_encoder_key buf_key; + asn_encode_to_new_buffer_result_t res; + + buf_key.buffer_size = 16; + buf_key.buffer = MALLOC(buf_key.buffer_size); + buf_key.computed_size = 0; + + res.result = asn_encode_internal(opt_codec_ctx, syntax, td, sptr, + dynamic_encoder_cb, &buf_key); + + if(res.result.encoded >= 0 + && (size_t)res.result.encoded != buf_key.computed_size) { + ASN_DEBUG("asn_encode() returned %" ASN_PRI_SSIZE + " yet produced %" ASN_PRI_SIZE " bytes", + res.result.encoded, buf_key.computed_size); + assert(res.result.encoded < 0 + || (size_t)res.result.encoded == buf_key.computed_size); + } + + res.buffer = buf_key.buffer; + + /* 0-terminate just in case. */ + if(res.buffer) { + assert(buf_key.computed_size < buf_key.buffer_size); + ((char *)res.buffer)[buf_key.computed_size] = '\0'; + } + + return res; +} + +static asn_enc_rval_t +asn_encode_internal(const asn_codec_ctx_t *opt_codec_ctx, + enum asn_transfer_syntax syntax, + const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_consume_bytes_f *callback, void *callback_key) { + asn_enc_rval_t er = {0,0,0}; +#if !defined(ASN_DISABLE_XER_SUPPORT) + enum xer_encoder_flags_e xer_flags = XER_F_CANONICAL; +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ + + (void)opt_codec_ctx; /* Parameters are not checked on encode yet. */ + + if(!td || !sptr) { + errno = EINVAL; + ASN__ENCODE_FAILED; + } + + switch(syntax) { + case ATS_NONSTANDARD_PLAINTEXT: + if(td->op->print_struct) { + struct callback_count_bytes_key cb_key; + cb_key.callback = callback; + cb_key.callback_key = callback_key; + cb_key.computed_size = 0; + if(td->op->print_struct(td, sptr, 1, callback_count_bytes_cb, + &cb_key) + < 0 + || callback_count_bytes_cb("\n", 1, &cb_key) < 0) { + errno = EBADF; /* Structure has incorrect form. */ + er.encoded = -1; + er.failed_type = td; + er.structure_ptr = sptr; + } else { + er.encoded = cb_key.computed_size; + er.failed_type = 0; + er.structure_ptr = 0; + } + } else { + errno = ENOENT; /* Transfer syntax is not defined for this type. */ + ASN__ENCODE_FAILED; + } + break; + + case ATS_RANDOM: + errno = ENOENT; /* Randomization doesn't make sense on output. */ + ASN__ENCODE_FAILED; + +#if !defined(ASN_DISABLE_BER_SUPPORT) + case ATS_BER: + /* BER is a superset of DER. */ + /* Fall through. */ + case ATS_DER: + if(td->op->der_encoder) { + er = der_encode(td, sptr, callback, callback_key); + if(er.encoded == -1) { + if(er.failed_type && er.failed_type->op->der_encoder) { + errno = EBADF; /* Structure has incorrect form. */ + } else { + errno = ENOENT; /* DER is not defined for this type. */ + } + } + } else { + errno = ENOENT; /* Transfer syntax is not defined for this type. */ + ASN__ENCODE_FAILED; + } + break; + case ATS_CER: + errno = ENOENT; /* Transfer syntax is not defined for any type. */ + ASN__ENCODE_FAILED; +#else + case ATS_BER: + case ATS_DER: + case ATS_CER: + errno = ENOENT; /* BER is not defined. */ + ASN__ENCODE_FAILED; + +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ + +#if !defined(ASN_DISABLE_OER_SUPPORT) + case ATS_BASIC_OER: + /* CANONICAL-OER is a superset of BASIC-OER. */ + /* Fall through. */ + case ATS_CANONICAL_OER: + if(td->op->oer_encoder) { + er = oer_encode(td, sptr, callback, callback_key); + if(er.encoded == -1) { + if(er.failed_type && er.failed_type->op->oer_encoder) { + errno = EBADF; /* Structure has incorrect form. */ + } else { + errno = ENOENT; /* OER is not defined for this type. */ + } + } + } else { + errno = ENOENT; /* Transfer syntax is not defined for this type. */ + ASN__ENCODE_FAILED; + } + break; +#else + case ATS_BASIC_OER: + case ATS_CANONICAL_OER: + errno = ENOENT; /* OER is not defined. */ + ASN__ENCODE_FAILED; + break; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ + +#if !defined(ASN_DISABLE_UPER_SUPPORT) + case ATS_UNALIGNED_BASIC_PER: + /* CANONICAL-UPER is a superset of BASIC-UPER. */ + /* Fall through. */ + case ATS_UNALIGNED_CANONICAL_PER: + if(td->op->uper_encoder) { + er = uper_encode(td, 0, sptr, callback, callback_key); + if(er.encoded == -1) { + if(er.failed_type && er.failed_type->op->uper_encoder) { + errno = EBADF; /* Structure has incorrect form. */ + } else { + errno = ENOENT; /* UPER is not defined for this type. */ + } + } else { + ASN_DEBUG("Complete encoded in %ld bits", (long)er.encoded); + if(er.encoded == 0) { + /* Enforce "Complete Encoding" of X.691 #11.1 */ + if(callback("\0", 1, callback_key) < 0) { + errno = EBADF; + ASN__ENCODE_FAILED; + } + er.encoded = 8; /* Exactly 8 zero bits is added. */ + } + /* Convert bits into bytes */ + er.encoded = (er.encoded + 7) >> 3; + } + } else { + errno = ENOENT; /* Transfer syntax is not defined for this type. */ + ASN__ENCODE_FAILED; + } + break; +#else + case ATS_UNALIGNED_BASIC_PER: + case ATS_UNALIGNED_CANONICAL_PER: + errno = ENOENT; /* UPER is not defined. */ + ASN__ENCODE_FAILED; + break; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + case ATS_ALIGNED_BASIC_PER: + /* CANONICAL-APER is a superset of BASIC-APER. */ + /* Fall through. */ + case ATS_ALIGNED_CANONICAL_PER: + if(td->op->aper_encoder) { + er = aper_encode(td, 0, sptr, callback, callback_key); + if(er.encoded == -1) { + if(er.failed_type && er.failed_type->op->aper_encoder) { + errno = EBADF; /* Structure has incorrect form. */ + } else { + errno = ENOENT; /* APER is not defined for this type. */ + } + } else { + ASN_DEBUG("Complete encoded in %ld bits", (long)er.encoded); + if(er.encoded == 0) { + /* Enforce "Complete Encoding" of X.691 #11.1 */ + if(callback("\0", 1, callback_key) < 0) { + errno = EBADF; + ASN__ENCODE_FAILED; + } + er.encoded = 8; /* Exactly 8 zero bits is added. */ + } + /* Convert bits into bytes */ + er.encoded = (er.encoded + 7) >> 3; + } + } else { + errno = ENOENT; /* Transfer syntax is not defined for this type. */ + ASN__ENCODE_FAILED; + } + break; +#else + case ATS_ALIGNED_BASIC_PER: + case ATS_ALIGNED_CANONICAL_PER: + errno = ENOENT; /* APER is not defined. */ + ASN__ENCODE_FAILED; + break; +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ + +#if !defined(ASN_DISABLE_XER_SUPPORT) + case ATS_BASIC_XER: + /* CANONICAL-XER is a superset of BASIC-XER. */ + xer_flags &= ~XER_F_CANONICAL; + xer_flags |= XER_F_BASIC; + /* Fall through. */ + case ATS_CANONICAL_XER: + if(td->op->xer_encoder) { + er = xer_encode(td, sptr, xer_flags, callback, callback_key); + if(er.encoded == -1) { + if(er.failed_type && er.failed_type->op->xer_encoder) { + errno = EBADF; /* Structure has incorrect form. */ + } else { + errno = ENOENT; /* XER is not defined for this type. */ + } + } + } else { + errno = ENOENT; /* Transfer syntax is not defined for this type. */ + ASN__ENCODE_FAILED; + } + break; +#else + case ATS_BASIC_XER: + case ATS_CANONICAL_XER: + errno = ENOENT; /* XER is not defined. */ + ASN__ENCODE_FAILED; + break; +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ + +#if !defined(ASN_DISABLE_JER_SUPPORT) + case ATS_JER: + if(td->op->jer_encoder) { + er = jer_encode(td, sptr, callback, callback_key); + if(er.encoded == -1) { + if(er.failed_type && er.failed_type->op->jer_encoder) { + errno = EBADF; /* Structure has incorrect form. */ + } else { + errno = ENOENT; /* JER is not defined for this type. */ + } + } + } else { + errno = ENOENT; /* Transfer syntax is not defined for this type. */ + ASN__ENCODE_FAILED; + } + break; +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ + default: + errno = ENOENT; + ASN__ENCODE_FAILED; + } + + return er; +} + +asn_dec_rval_t +asn_decode(const asn_codec_ctx_t *opt_codec_ctx, + enum asn_transfer_syntax syntax, const asn_TYPE_descriptor_t *td, + void **sptr, const void *buffer, size_t size) { + if(!td || !td->op || !sptr || (size && !buffer)) { + ASN__DECODE_FAILED; + } + + switch(syntax) { + case ATS_CER: + case ATS_NONSTANDARD_PLAINTEXT: + default: + errno = ENOENT; + ASN__DECODE_FAILED; + + case ATS_RANDOM: +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + if(!td->op->random_fill) { + ASN__DECODE_FAILED; + } else { + if(asn_random_fill(td, sptr, 16000) == 0) { + asn_dec_rval_t ret = {RC_OK, 0}; + return ret; + } else { + ASN__DECODE_FAILED; + } + } + break; +#else + errno = ENOENT; + ASN__DECODE_FAILED; +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + + case ATS_DER: + case ATS_BER: +#if !defined(ASN_DISABLE_BER_SUPPORT) + return ber_decode(opt_codec_ctx, td, sptr, buffer, size); +#else + errno = ENOENT; + ASN__DECODE_FAILED; +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ + + case ATS_BASIC_OER: + case ATS_CANONICAL_OER: +#if !defined(ASN_DISABLE_OER_SUPPORT) + return oer_decode(opt_codec_ctx, td, sptr, buffer, size); +#else + errno = ENOENT; + ASN__DECODE_FAILED; +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ + + case ATS_UNALIGNED_BASIC_PER: + case ATS_UNALIGNED_CANONICAL_PER: +#if !defined(ASN_DISABLE_UPER_SUPPORT) + return uper_decode_complete(opt_codec_ctx, td, sptr, buffer, size); +#else + errno = ENOENT; + ASN__DECODE_FAILED; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ + + case ATS_ALIGNED_BASIC_PER: + case ATS_ALIGNED_CANONICAL_PER: +#if !defined(ASN_DISABLE_APER_SUPPORT) + return aper_decode_complete(opt_codec_ctx, td, sptr, buffer, size); +#else + errno = ENOENT; + ASN__DECODE_FAILED; +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ + + case ATS_BASIC_XER: + case ATS_CANONICAL_XER: +#if !defined(ASN_DISABLE_XER_SUPPORT) + return xer_decode(opt_codec_ctx, td, sptr, buffer, size); +#else + errno = ENOENT; + ASN__DECODE_FAILED; +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ + } +} + diff --git a/src/tmx/Asn_J2735/src/r2024/asn_application.h b/src/tmx/Asn_J2735/src/r2024/asn_application.h deleted file mode 100644 index bf10cd3e2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/asn_application.h +++ /dev/null @@ -1,173 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * Application-level ASN.1 callbacks. - */ -#ifndef ASN_APPLICATION_H -#define ASN_APPLICATION_H - -#include "asn_system.h" /* for platform-dependent types */ -#include "asn_codecs.h" /* for ASN.1 codecs specifics */ -#include "asn_config.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * A selection of ASN.1 Transfer Syntaxes to use with generalized - * encoders and decoders declared further in this .h file. - */ -enum asn_transfer_syntax { - /* Avoid appearance of a default transfer syntax. */ - ATS_INVALID = 0, - /* Plaintext output (not conforming to any standard), for debugging. */ - ATS_NONSTANDARD_PLAINTEXT, - /* Returns a randomly generated structure. */ - ATS_RANDOM, - /* - * X.690: - * BER: Basic Encoding Rules. - * DER: Distinguished Encoding Rules. - * CER: Canonical Encoding Rules. - * DER and CER are more strict variants of BER. - */ - ATS_BER, - ATS_DER, - ATS_CER, /* Only decoding is supported */ - /* - * X.696: - * OER: Octet Encoding Rules. - * CANONICAL-OER is a more strict variant of BASIC-OER. - */ - ATS_BASIC_OER, - ATS_CANONICAL_OER, - /* - * X.691: - * PER: Packed Encoding Rules. - * CANONICAL-PER is a more strict variant of BASIC-PER. - * NOTE: Produces or consumes a complete encoding (X.691 (08/2015) #11.1). - */ - ATS_UNALIGNED_BASIC_PER, - ATS_UNALIGNED_CANONICAL_PER, - ATS_ALIGNED_BASIC_PER, - ATS_ALIGNED_CANONICAL_PER, - /* - * X.693: - * XER: XML Encoding Rules. - * CANONICAL-XER is a more strict variant of BASIC-XER. - */ - ATS_BASIC_XER, - ATS_CANONICAL_XER, - ATS_JER, -}; - -/* - * A generic encoder for any supported transfer syntax. - * RETURN VALUES: - * The (.encoded) field of the return value is REDEFINED to mean the following: - * >=0: The computed size of the encoded data. Can exceed the (buffer_size). - * -1: Error encoding the structure. See the error code in (errno): - * EINVAL: Incorrect parameters to the function, such as NULLs. - * ENOENT: Encoding transfer syntax is not defined (for this type). - * EBADF: The structure has invalid form or content constraint failed. - * The (.failed_type) and (.structure_ptr) MIGHT be set to the appropriate - * values at the place of failure, if at all possible. - * WARNING: The (.encoded) field of the return value can exceed the buffer_size. - * This is similar to snprintf(3) contract which might return values - * greater than the buffer size. - */ -asn_enc_rval_t asn_encode_to_buffer( - const asn_codec_ctx_t *opt_codec_parameters, /* See asn_codecs.h */ - enum asn_transfer_syntax, - const struct asn_TYPE_descriptor_s *type_to_encode, - const void *structure_to_encode, void *buffer, size_t buffer_size); - -/* - * A variant of asn_encode_to_buffer() with automatically allocated buffer. - * RETURN VALUES: - * On success, returns a newly allocated (.buffer) containing the whole message. - * The message size is returned in (.result.encoded). - * On failure: - * (.buffer) is NULL, - * (.result.encoded) as in asn_encode_to_buffer(), - * The errno codes as in asn_encode_to_buffer(), plus the following: - * ENOMEM: Memory allocation failed due to system or internal limits. - * The user is responsible for freeing the (.buffer). - */ -typedef struct asn_encode_to_new_buffer_result_s { - void *buffer; /* NULL if failed to encode. */ - asn_enc_rval_t result; -} asn_encode_to_new_buffer_result_t; -asn_encode_to_new_buffer_result_t asn_encode_to_new_buffer( - const asn_codec_ctx_t *opt_codec_parameters, /* See asn_codecs.h */ - enum asn_transfer_syntax, - const struct asn_TYPE_descriptor_s *type_to_encode, - const void *structure_to_encode); - - -/* - * Generic type of an application-defined callback to return various - * types of data to the application. - * EXPECTED RETURN VALUES: - * -1: Failed to consume bytes. Abort the mission. - * Non-negative return values indicate success, and ignored. - */ -typedef int(asn_app_consume_bytes_f)(const void *buffer, size_t size, - void *application_specific_key); - - -/* - * A generic encoder for any supported transfer syntax. - * Returns the comprehensive encoding result descriptor (see asn_codecs.h). - * RETURN VALUES: - * The negative (.encoded) field of the return values is accompanied with the - * following error codes (errno): - * EINVAL: Incorrect parameters to the function, such as NULLs. - * ENOENT: Encoding transfer syntax is not defined (for this type). - * EBADF: The structure has invalid form or content constraint failed. - * EIO: The (callback) has returned negative value during encoding. - */ -asn_enc_rval_t asn_encode( - const asn_codec_ctx_t *opt_codec_parameters, /* See asn_codecs.h */ - enum asn_transfer_syntax, - const struct asn_TYPE_descriptor_s *type_to_encode, - const void *structure_to_encode, - asn_app_consume_bytes_f *callback, void *callback_key); - - -/* - * A generic decoder for any supported transfer syntax. - */ -asn_dec_rval_t asn_decode( - const asn_codec_ctx_t *opt_codec_parameters, enum asn_transfer_syntax, - const struct asn_TYPE_descriptor_s *type_to_decode, - void **structure_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of that buffer */ -); - - -/* - * A callback of this type is called whenever constraint validation fails - * on some ASN.1 type. See "constraints.h" for more details on constraint - * validation. - * This callback specifies a descriptor of the ASN.1 type which failed - * the constraint check, as well as human readable message on what - * particular constraint has failed. - */ -typedef void (asn_app_constraint_failed_f)(void *application_specific_key, - const struct asn_TYPE_descriptor_s *type_descriptor_which_failed, - const void *structure_which_failed_ptr, - const char *error_message_format, ...) CC_PRINTFLIKE(4, 5); - - -#ifdef __cplusplus -} -#endif - -#include "constr_TYPE.h" /* for asn_TYPE_descriptor_t */ - -#endif /* ASN_APPLICATION_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/asn_bit_data.c b/src/tmx/Asn_J2735/src/r2024/asn_bit_data.c new file mode 100644 index 000000000..fe4b89ba7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/asn_bit_data.c @@ -0,0 +1,333 @@ +/* + * Copyright (c) 2005-2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * Create a contiguous non-refillable bit data structure. + * Can be freed by FREEMEM(). + */ +asn_bit_data_t * +asn_bit_data_new_contiguous(const void *data, size_t size_bits) { + size_t size_bytes = (size_bits + 7) / 8; + asn_bit_data_t *pd; + uint8_t *bytes; + + /* Get the extensions map */ + pd = CALLOC(1, sizeof(*pd) + size_bytes + 1); + if(!pd) { + return NULL; + } + bytes = (void *)(((char *)pd) + sizeof(*pd)); + memcpy(bytes, data, size_bytes); + bytes[size_bytes] = 0; + pd->buffer = bytes; + pd->nboff = 0; + pd->nbits = size_bits; + + return pd; +} + + +char * +asn_bit_data_string(asn_bit_data_t *pd) { + static char buf[2][32]; + static int n; + n = (n+1) % 2; + snprintf(buf[n], sizeof(buf[n]), + "{m=%" ASN_PRI_SIZE " span %" ASN_PRI_SIZE "[%" ASN_PRI_SIZE + "..%" ASN_PRI_SIZE "] (%" ASN_PRI_SIZE ")}", + pd->moved, ((uintptr_t)(pd->buffer) & 0xf), pd->nboff, pd->nbits, + pd->nbits - pd->nboff); + return buf[n]; +} + +void +asn_get_undo(asn_bit_data_t *pd, int nbits) { + if((ssize_t)pd->nboff < nbits) { + assert((ssize_t)pd->nboff < nbits); + } else { + pd->nboff -= nbits; + pd->moved -= nbits; + } +} + +/* + * Extract a small number of bits (<= 31) from the specified PER data pointer. + */ +int32_t +asn_get_few_bits(asn_bit_data_t *pd, int nbits) { + size_t off; /* Next after last bit offset */ + ssize_t nleft; /* Number of bits left in this stream */ + uint32_t accum; + const uint8_t *buf; + + if(nbits < 0) + return -1; + + nleft = pd->nbits - pd->nboff; + if(nbits > nleft) { + int32_t tailv, vhead; + if(!pd->refill || nbits > 31) return -1; + /* Accumulate unused bytes before refill */ + ASN_DEBUG("Obtain the rest %d bits (want %d)", + (int)nleft, (int)nbits); + tailv = asn_get_few_bits(pd, nleft); + if(tailv < 0) return -1; + /* Refill (replace pd contents with new data) */ + if(pd->refill(pd)) + return -1; + nbits -= nleft; + vhead = asn_get_few_bits(pd, nbits); + /* Combine the rest of previous pd with the head of new one */ + tailv = (tailv << nbits) | vhead; /* Could == -1 */ + return tailv; + } + + /* + * Normalize position indicator. + */ + if(pd->nboff >= 8) { + pd->buffer += (pd->nboff >> 3); + pd->nbits -= (pd->nboff & ~0x07); + pd->nboff &= 0x07; + } + pd->moved += nbits; + pd->nboff += nbits; + off = pd->nboff; + buf = pd->buffer; + + /* + * Extract specified number of bits. + */ + if(off <= 8) + accum = nbits ? (buf[0]) >> (8 - off) : 0; + else if(off <= 16) + accum = ((buf[0] << 8) + buf[1]) >> (16 - off); + else if(off <= 24) + accum = ((buf[0] << 16) + (buf[1] << 8) + buf[2]) >> (24 - off); + else if(off <= 31) + accum = (((uint32_t)buf[0] << 24) + (buf[1] << 16) + + (buf[2] << 8) + (buf[3])) >> (32 - off); + else if(nbits <= 31) { + asn_bit_data_t tpd = *pd; + /* Here are we with our 31-bits limit plus 1..7 bits offset. */ + asn_get_undo(&tpd, nbits); + /* The number of available bits in the stream allow + * for the following operations to take place without + * invoking the ->refill() function */ + accum = asn_get_few_bits(&tpd, nbits - 24) << 24; + accum |= asn_get_few_bits(&tpd, 24); + } else { + asn_get_undo(pd, nbits); + return -1; + } + + accum &= (((uint32_t)1 << nbits) - 1); + + ASN_DEBUG(" [PER got %2d<=%2d bits => span %d %+ld[%d..%d]:%02x (%d) => 0x%x]", + (int)nbits, (int)nleft, + (int)pd->moved, + (((long)pd->buffer) & 0xf), + (int)pd->nboff, (int)pd->nbits, + ((pd->buffer != NULL)?pd->buffer[0]:0), + (int)(pd->nbits - pd->nboff), + (int)accum); + + return accum; +} + +/* + * Extract a large number of bits from the specified PER data pointer. + */ +int +asn_get_many_bits(asn_bit_data_t *pd, uint8_t *dst, int alright, int nbits) { + int32_t value; + + if(alright && (nbits & 7)) { + /* Perform right alignment of a first few bits */ + value = asn_get_few_bits(pd, nbits & 0x07); + if(value < 0) return -1; + *dst++ = value; /* value is already right-aligned */ + nbits &= ~7; + } + + while(nbits) { + if(nbits >= 24) { + value = asn_get_few_bits(pd, 24); + if(value < 0) return -1; + *(dst++) = value >> 16; + *(dst++) = value >> 8; + *(dst++) = value; + nbits -= 24; + } else { + value = asn_get_few_bits(pd, nbits); + if(value < 0) return -1; + if(nbits & 7) { /* implies left alignment */ + value <<= 8 - (nbits & 7), + nbits += 8 - (nbits & 7); + if(nbits > 24) + *dst++ = value >> 24; + } + if(nbits > 16) + *dst++ = value >> 16; + if(nbits > 8) + *dst++ = value >> 8; + *dst++ = value; + break; + } + } + + return 0; +} + +/* + * Put a small number of bits (<= 31). + */ +int +asn_put_few_bits(asn_bit_outp_t *po, uint32_t bits, int obits) { + size_t off; /* Next after last bit offset */ + size_t omsk; /* Existing last byte meaningful bits mask */ + uint8_t *buf; + + if(obits <= 0 || obits >= 32) return obits ? -1 : 0; + + ASN_DEBUG("[PER put %d bits %x to %p+%d bits]", + obits, (int)bits, (void *)po->buffer, (int)po->nboff); + + /* + * Normalize position indicator. + */ + if(po->nboff >= 8) { + po->buffer += (po->nboff >> 3); + po->nbits -= (po->nboff & ~0x07); + po->nboff &= 0x07; + } + + /* + * Flush whole-bytes output, if necessary. + */ + if(po->nboff + obits > po->nbits) { + size_t complete_bytes; + if(!po->buffer) po->buffer = po->tmpspace; + complete_bytes = (po->buffer - po->tmpspace); + ASN_DEBUG("[PER output %ld complete + %ld]", + (long)complete_bytes, (long)po->flushed_bytes); + if(po->output(po->tmpspace, complete_bytes, po->op_key) < 0) + return -1; + if(po->nboff) + po->tmpspace[0] = po->buffer[0]; + po->buffer = po->tmpspace; + po->nbits = 8 * sizeof(po->tmpspace); + po->flushed_bytes += complete_bytes; + } + + /* + * Now, due to sizeof(tmpspace), we are guaranteed large enough space. + */ + buf = po->buffer; + omsk = ~((1 << (8 - po->nboff)) - 1); + off = (po->nboff + obits); + + /* Clear data of debris before meaningful bits */ + bits &= (((uint32_t)1 << obits) - 1); + + ASN_DEBUG("[PER out %d %u/%x (t=%d,o=%d) %x&%x=%x]", obits, + (int)bits, (int)bits, + (int)po->nboff, (int)off, + buf[0], (int)(omsk&0xff), + (int)(buf[0] & omsk)); + + if(off <= 8) /* Completely within 1 byte */ + po->nboff = off, + bits <<= (8 - off), + buf[0] = (buf[0] & omsk) | bits; + else if(off <= 16) + po->nboff = off, + bits <<= (16 - off), + buf[0] = (buf[0] & omsk) | (bits >> 8), + buf[1] = bits; + else if(off <= 24) + po->nboff = off, + bits <<= (24 - off), + buf[0] = (buf[0] & omsk) | (bits >> 16), + buf[1] = bits >> 8, + buf[2] = bits; + else if(off <= 31) + po->nboff = off, + bits <<= (32 - off), + buf[0] = (buf[0] & omsk) | (bits >> 24), + buf[1] = bits >> 16, + buf[2] = bits >> 8, + buf[3] = bits; + else { + if(asn_put_few_bits(po, bits >> (obits - 24), 24)) return -1; + if(asn_put_few_bits(po, bits, obits - 24)) return -1; + } + + ASN_DEBUG("[PER out %u/%x => %02x buf+%ld]", + (int)bits, (int)bits, buf[0], + (long)(po->buffer - po->tmpspace)); + + return 0; +} + + +/* + * Output a large number of bits. + */ +int +asn_put_many_bits(asn_bit_outp_t *po, const uint8_t *src, int nbits) { + + while(nbits) { + uint32_t value; + + if(nbits >= 24) { + value = (src[0] << 16) | (src[1] << 8) | src[2]; + src += 3; + nbits -= 24; + if(asn_put_few_bits(po, value, 24)) + return -1; + } else { + value = src[0]; + if(nbits > 8) + value = (value << 8) | src[1]; + if(nbits > 16) + value = (value << 8) | src[2]; + if(nbits & 0x07) + value >>= (8 - (nbits & 0x07)); + if(asn_put_few_bits(po, value, nbits)) + return -1; + break; + } + } + + return 0; +} + + +int +asn_put_aligned_flush(asn_bit_outp_t *po) { + uint32_t unused_bits = (0x7 & (8 - (po->nboff & 0x07))); + size_t complete_bytes = + (po->buffer ? po->buffer - po->tmpspace : 0) + ((po->nboff + 7) >> 3); + + if(unused_bits) { + po->buffer[po->nboff >> 3] &= ~0u << unused_bits; + } + + if(po->output(po->tmpspace, complete_bytes, po->op_key) < 0) { + return -1; + } else { + po->buffer = po->tmpspace; + po->nboff = 0; + po->nbits = 8 * sizeof(po->tmpspace); + po->flushed_bytes += complete_bytes; + return 0; + } +} + diff --git a/src/tmx/Asn_J2735/src/r2024/asn_bit_data.h b/src/tmx/Asn_J2735/src/r2024/asn_bit_data.h deleted file mode 100644 index f14714bbd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/asn_bit_data.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_BIT_DATA -#define ASN_BIT_DATA - -#include /* Platform-specific types */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * This structure describes a position inside an incoming PER bit stream. - */ -typedef struct asn_bit_data_s { - const uint8_t *buffer; /* Pointer to the octet stream */ - size_t nboff; /* Bit offset to the meaningful bit */ - size_t nbits; /* Number of bits in the stream */ - size_t moved; /* Number of bits moved through this bit stream */ - int (*refill)(struct asn_bit_data_s *); - void *refill_key; -} asn_bit_data_t; - -/* - * Create a contiguous non-refillable bit data structure. - * Can be freed by FREEMEM(). - */ -asn_bit_data_t *asn_bit_data_new_contiguous(const void *data, size_t size_bits); - -/* - * Extract a small number of bits (<= 31) from the specified PER data pointer. - * This function returns -1 if the specified number of bits could not be - * extracted due to EOD or other conditions. - */ -int32_t asn_get_few_bits(asn_bit_data_t *, int get_nbits); - -/* Undo the immediately preceding "get_few_bits" operation */ -void asn_get_undo(asn_bit_data_t *, int get_nbits); - -/* - * Extract a large number of bits from the specified PER data pointer. - * This function returns -1 if the specified number of bits could not be - * extracted due to EOD or other conditions. - */ -int asn_get_many_bits(asn_bit_data_t *, uint8_t *dst, int right_align, - int get_nbits); - -/* Non-thread-safe debugging function, don't use it */ -char *asn_bit_data_string(asn_bit_data_t *); - -/* - * This structure supports forming bit output. - */ -typedef struct asn_bit_outp_s { - uint8_t *buffer; /* Pointer into the (tmpspace) */ - size_t nboff; /* Bit offset to the meaningful bit */ - size_t nbits; /* Number of bits left in (tmpspace) */ - uint8_t tmpspace[32]; /* Preliminary storage to hold data */ - int (*output)(const void *data, size_t size, void *op_key); - void *op_key; /* Key for (output) data callback */ - size_t flushed_bytes; /* Bytes already flushed through (output) */ -} asn_bit_outp_t; - -/* Output a small number of bits (<= 31) */ -int asn_put_few_bits(asn_bit_outp_t *, uint32_t bits, int obits); - -/* Output a large number of bits */ -int asn_put_many_bits(asn_bit_outp_t *, const uint8_t *src, int put_nbits); - -/* - * Flush whole bytes (0 or more) through (outper) member. - * The least significant bits which are not used are guaranteed to be set to 0. - * Returns -1 if callback returns -1. Otherwise, 0. - */ -int asn_put_aligned_flush(asn_bit_outp_t *); - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_BIT_DATA */ diff --git a/src/tmx/Asn_J2735/src/r2024/asn_codecs.h b/src/tmx/Asn_J2735/src/r2024/asn_codecs.h deleted file mode 100644 index e75c2709c..000000000 --- a/src/tmx/Asn_J2735/src/r2024/asn_codecs.h +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_CODECS_H -#define ASN_CODECS_H - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * This structure defines a set of parameters that may be passed - * to every ASN.1 encoder or decoder function. - * WARNING: if max_stack_size member is set, and you are calling the - * function pointers of the asn_TYPE_descriptor_t directly, - * this structure must be ALLOCATED ON THE STACK! - * If you can't always satisfy this requirement, use ber_decode(), - * xer_decode() and uper_decode() functions instead. - */ -typedef struct asn_codec_ctx_s { - /* - * Limit the decoder routines to use no (much) more stack than a given - * number of bytes. Most of decoders are stack-based, and this - * would protect against stack overflows if the number of nested - * encodings is high. - * The OCTET STRING, BIT STRING and ANY BER decoders are heap-based, - * and are safe from this kind of overflow. - * A value from getrlimit(RLIMIT_STACK) may be used to initialize - * this variable. Be careful in multithreaded environments, as the - * stack size is rather limited. - */ - size_t max_stack_size; /* 0 disables stack bounds checking */ -} asn_codec_ctx_t; - -/* - * Type of the return value of the encoding functions (der_encode, xer_encode). - */ -typedef struct asn_enc_rval_s { - /* - * Number of bytes encoded. - * -1 indicates failure to encode the structure. - * In this case, the members below this one are meaningful. - */ - ssize_t encoded; - - /* - * Members meaningful when (encoded == -1), for post mortem analysis. - */ - - /* Type which cannot be encoded */ - const struct asn_TYPE_descriptor_s *failed_type; - - /* Pointer to the structure of that type */ - const void *structure_ptr; -} asn_enc_rval_t; -#define ASN__ENCODE_FAILED do { \ - asn_enc_rval_t tmp_error; \ - tmp_error.encoded = -1; \ - tmp_error.failed_type = td; \ - tmp_error.structure_ptr = sptr; \ - ASN_DEBUG("Failed to encode element %s", td ? td->name : ""); \ - return tmp_error; \ -} while(0) -#define ASN__ENCODED_OK(rval) do { \ - rval.structure_ptr = 0; \ - rval.failed_type = 0; \ - return rval; \ -} while(0) - -/* - * Type of the return value of the decoding functions (ber_decode, xer_decode) - * - * Please note that the number of consumed bytes is ALWAYS meaningful, - * even if code==RC_FAIL. This is to indicate the number of successfully - * decoded bytes, hence providing a possibility to fail with more diagnostics - * (i.e., print the offending remainder of the buffer). - */ -enum asn_dec_rval_code_e { - RC_OK, /* Decoded successfully */ - RC_WMORE, /* More data expected, call again */ - RC_FAIL /* Failure to decode data */ -}; -typedef struct asn_dec_rval_s { - enum asn_dec_rval_code_e code; /* Result code */ - size_t consumed; /* Number of bytes consumed */ -} asn_dec_rval_t; -#define ASN__DECODE_FAILED do { \ - asn_dec_rval_t tmp_error; \ - tmp_error.code = RC_FAIL; \ - tmp_error.consumed = 0; \ - ASN_DEBUG("Failed to decode element %s", td ? td->name : ""); \ - return tmp_error; \ -} while(0) -#define ASN__DECODE_STARVED do { \ - asn_dec_rval_t tmp_error; \ - tmp_error.code = RC_WMORE; \ - tmp_error.consumed = 0; \ - return tmp_error; \ -} while(0) - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_CODECS_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/asn_codecs_prim.c b/src/tmx/Asn_J2735/src/r2024/asn_codecs_prim.c new file mode 100644 index 000000000..f3fdbfd2b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/asn_codecs_prim.c @@ -0,0 +1,31 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +void +ASN__PRIMITIVE_TYPE_free(const asn_TYPE_descriptor_t *td, void *sptr, + enum asn_struct_free_method method) { + ASN__PRIMITIVE_TYPE_t *st = (ASN__PRIMITIVE_TYPE_t *)sptr; + + if(!td || !sptr) + return; + + ASN_DEBUG("Freeing %s as a primitive type", td->name); + + if(st->buf) + FREEMEM(st->buf); + + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(sptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset(sptr, 0, sizeof(ASN__PRIMITIVE_TYPE_t)); + break; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/asn_codecs_prim.h b/src/tmx/Asn_J2735/src/r2024/asn_codecs_prim.h deleted file mode 100644 index 5bbd9cfbc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/asn_codecs_prim.h +++ /dev/null @@ -1,56 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_CODECS_PRIM_H -#define ASN_CODECS_PRIM_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct ASN__PRIMITIVE_TYPE_s { - uint8_t *buf; /* Buffer with consecutive primitive encoding bytes */ - size_t size; /* Size of the buffer */ -} ASN__PRIMITIVE_TYPE_t; /* Do not use this type directly! */ - -asn_struct_free_f ASN__PRIMITIVE_TYPE_free; - -#if !defined(ASN_DISABLE_BER_SUPPORT) -ber_type_decoder_f ber_decode_primitive; -der_type_encoder_f der_encode_primitive; -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -/* - * A callback specification for the xer_decode_primitive() function below. - */ -enum xer_pbd_rval { - XPBD_SYSTEM_FAILURE, /* System failure (memory shortage, etc) */ - XPBD_DECODER_LIMIT, /* Hit some decoder limitation or deficiency */ - XPBD_BROKEN_ENCODING, /* Encoding of a primitive body is broken */ - XPBD_NOT_BODY_IGNORE, /* Not a body format, but safe to ignore */ - XPBD_BODY_CONSUMED /* Body is recognized and consumed */ -}; -typedef enum xer_pbd_rval(xer_primitive_body_decoder_f)( - const asn_TYPE_descriptor_t *td, void *struct_ptr, const void *chunk_buf, - size_t chunk_size); - -/* - * Specific function to decode simple primitive types. - * Also see xer_decode_general() in xer_decoder.h - */ -asn_dec_rval_t xer_decode_primitive( - const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *type_descriptor, void **struct_ptr, - size_t struct_size, const char *opt_mname, const void *buf_ptr, size_t size, - xer_primitive_body_decoder_f *prim_body_decoder); -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_CODECS_PRIM_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/asn_codecs_prim_ber.c b/src/tmx/Asn_J2735/src/r2024/asn_codecs_prim_ber.c new file mode 100644 index 000000000..c5c2cef65 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/asn_codecs_prim_ber.c @@ -0,0 +1,115 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * Decode an always-primitive type. + */ +asn_dec_rval_t +ber_decode_primitive(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const void *buf_ptr, size_t size, int tag_mode) { + ASN__PRIMITIVE_TYPE_t *st = (ASN__PRIMITIVE_TYPE_t *)*sptr; + asn_dec_rval_t rval; + ber_tlv_len_t length = 0; /* =0 to avoid [incorrect] warning. */ + + /* + * If the structure is not there, allocate it. + */ + if(st == NULL) { + st = (ASN__PRIMITIVE_TYPE_t *)CALLOC(1, sizeof(*st)); + if(st == NULL) ASN__DECODE_FAILED; + *sptr = (void *)st; + } + + ASN_DEBUG("Decoding %s as plain primitive (tm=%d)", + td->name, tag_mode); + + /* + * Check tags and extract value length. + */ + rval = ber_check_tags(opt_codec_ctx, td, 0, buf_ptr, size, + tag_mode, 0, &length, 0); + if(rval.code != RC_OK) + return rval; + + ASN_DEBUG("%s length is %d bytes", td->name, (int)length); + + /* + * Make sure we have this length. + */ + buf_ptr = ((const char *)buf_ptr) + rval.consumed; + size -= rval.consumed; + if(length > (ber_tlv_len_t)size) { + rval.code = RC_WMORE; + rval.consumed = 0; + return rval; + } + + st->size = (int)length; + /* The following better be optimized away. */ + if(sizeof(st->size) != sizeof(length) + && (ber_tlv_len_t)st->size != length) { + st->size = 0; + ASN__DECODE_FAILED; + } + + st->buf = (uint8_t *)MALLOC(length + 1); + if(!st->buf) { + st->size = 0; + ASN__DECODE_FAILED; + } + + memcpy(st->buf, buf_ptr, length); + st->buf[length] = '\0'; /* Just in case */ + + rval.code = RC_OK; + rval.consumed += length; + + ASN_DEBUG("Took %ld/%ld bytes to encode %s", + (long)rval.consumed, + (long)length, td->name); + + return rval; +} + +/* + * Encode an always-primitive type using DER. + */ +asn_enc_rval_t +der_encode_primitive(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t erval = {0,0,0}; + const ASN__PRIMITIVE_TYPE_t *st = (const ASN__PRIMITIVE_TYPE_t *)sptr; + + ASN_DEBUG("%s %s as a primitive type (tm=%d)", + cb?"Encoding":"Estimating", td->name, tag_mode); + + erval.encoded = der_write_tags(td, st->size, tag_mode, 0, tag, + cb, app_key); + ASN_DEBUG("%s wrote tags %d", td->name, (int)erval.encoded); + if(erval.encoded == -1) { + erval.failed_type = td; + erval.structure_ptr = sptr; + return erval; + } + + if(cb && st->buf) { + if(cb(st->buf, st->size, app_key) < 0) { + erval.encoded = -1; + erval.failed_type = td; + erval.structure_ptr = sptr; + return erval; + } + } else { + assert(st->buf || st->size == 0); + } + + erval.encoded += st->size; + ASN__ENCODED_OK(erval); +} diff --git a/src/tmx/Asn_J2735/src/r2024/asn_codecs_prim_xer.c b/src/tmx/Asn_J2735/src/r2024/asn_codecs_prim_xer.c new file mode 100644 index 000000000..70c91bc26 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/asn_codecs_prim_xer.c @@ -0,0 +1,184 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * Local internal type passed around as an argument. + */ +struct xdp_arg_s { + const asn_TYPE_descriptor_t *type_descriptor; + void *struct_key; + xer_primitive_body_decoder_f *prim_body_decoder; + int decoded_something; + int want_more; +}; + +/* + * Since some kinds of primitive values can be encoded using value-specific + * tags (, , etc), the primitive decoder must + * be supplied with such tags to parse them as needed. + */ +static int +xer_decode__unexpected_tag(void *key, const void *chunk_buf, size_t chunk_size) { + struct xdp_arg_s *arg = (struct xdp_arg_s *)key; + enum xer_pbd_rval bret; + + /* + * The chunk_buf is guaranteed to start at '<'. + */ + assert(chunk_size && ((const char *)chunk_buf)[0] == 0x3c); + + /* + * Decoding was performed once already. Prohibit doing it again. + */ + if(arg->decoded_something) + return -1; + + bret = arg->prim_body_decoder(arg->type_descriptor, + arg->struct_key, chunk_buf, + chunk_size); + switch(bret) { + case XPBD_SYSTEM_FAILURE: + case XPBD_DECODER_LIMIT: + case XPBD_BROKEN_ENCODING: + break; + case XPBD_BODY_CONSUMED: + /* Tag decoded successfully */ + arg->decoded_something = 1; + /* Fall through */ + case XPBD_NOT_BODY_IGNORE: /* Safe to proceed further */ + return 0; + } + + return -1; +} + +static ssize_t +xer_decode__primitive_body(void *key, const void *chunk_buf, size_t chunk_size, int have_more) { + struct xdp_arg_s *arg = (struct xdp_arg_s *)key; + enum xer_pbd_rval bret; + size_t lead_wsp_size; + + if(arg->decoded_something) { + if(xer_whitespace_span(chunk_buf, chunk_size) == chunk_size) { + /* + * Example: + * "123 " + * ^- chunk_buf position. + */ + return chunk_size; + } + /* + * Decoding was done once already. Prohibit doing it again. + */ + return -1; + } + + if(!have_more) { + /* + * If we've received something like "1", we can't really + * tell whether it is really `1` or `123`, until we know + * that there is no more data coming. + * The have_more argument will be set to 1 once something + * like this is available to the caller of this callback: + * "1want_more = 1; + return -1; + } + + lead_wsp_size = xer_whitespace_span(chunk_buf, chunk_size); + chunk_buf = (chunk_buf == NULL)? NULL : ((const char *)chunk_buf + lead_wsp_size); + chunk_size -= lead_wsp_size; + + bret = arg->prim_body_decoder(arg->type_descriptor, + arg->struct_key, chunk_buf, + chunk_size); + switch(bret) { + case XPBD_SYSTEM_FAILURE: + case XPBD_DECODER_LIMIT: + case XPBD_BROKEN_ENCODING: + break; + case XPBD_BODY_CONSUMED: + /* Tag decoded successfully */ + arg->decoded_something = 1; + /* Fall through */ + case XPBD_NOT_BODY_IGNORE: /* Safe to proceed further */ + return lead_wsp_size + chunk_size; + } + + return -1; +} + +asn_dec_rval_t +xer_decode_primitive(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + size_t struct_size, const char *opt_mname, + const void *buf_ptr, size_t size, + xer_primitive_body_decoder_f *prim_body_decoder) { + const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; + asn_struct_ctx_t s_ctx; + struct xdp_arg_s s_arg; + asn_dec_rval_t rc; + + /* + * Create the structure if does not exist. + */ + if(!*sptr) { + *sptr = CALLOC(1, struct_size); + if(!*sptr) ASN__DECODE_FAILED; + } + + memset(&s_ctx, 0, sizeof(s_ctx)); + s_arg.type_descriptor = td; + s_arg.struct_key = *sptr; + s_arg.prim_body_decoder = prim_body_decoder; + s_arg.decoded_something = 0; + s_arg.want_more = 0; + + rc = xer_decode_general(opt_codec_ctx, &s_ctx, &s_arg, + xml_tag, buf_ptr, size, + xer_decode__unexpected_tag, + xer_decode__primitive_body); + switch(rc.code) { + case RC_OK: + if(!s_arg.decoded_something) { + char ch; + ASN_DEBUG("Primitive body is not recognized, " + "supplying empty one"); + /* + * Decoding opportunity has come and gone. + * Where's the result? + * Try to feed with empty body, see if it eats it. + */ + if(prim_body_decoder(s_arg.type_descriptor, + s_arg.struct_key, &ch, 0) + != XPBD_BODY_CONSUMED) { + /* + * This decoder does not like empty stuff. + */ + ASN__DECODE_FAILED; + } + } + break; + case RC_WMORE: + /* + * Redo the whole thing later. + * We don't have a context to save intermediate parsing state. + */ + rc.consumed = 0; + break; + case RC_FAIL: + rc.consumed = 0; + if(s_arg.want_more) + rc.code = RC_WMORE; + else + ASN__DECODE_FAILED; + break; + } + return rc; +} diff --git a/src/tmx/Asn_J2735/src/r2024/asn_config.h b/src/tmx/Asn_J2735/src/r2024/asn_config.h deleted file mode 100644 index 10e9c328b..000000000 --- a/src/tmx/Asn_J2735/src/r2024/asn_config.h +++ /dev/null @@ -1,3 +0,0 @@ -// Generated automatically. Don't edit manually! - -#define ASN_DISABLE_JER_SUPPORT 1 diff --git a/src/tmx/Asn_J2735/src/r2024/asn_constant.h b/src/tmx/Asn_J2735/src/r2024/asn_constant.h deleted file mode 100644 index dcfa4667d..000000000 --- a/src/tmx/Asn_J2735/src/r2024/asn_constant.h +++ /dev/null @@ -1,610 +0,0 @@ -/* - * Generated by asn1c-0.9.29 (http://lionet.info/asn1c) - */ - -#ifndef _ASN_CONSTANT_H -#define _ASN_CONSTANT_H - -#ifdef __cplusplus -extern "C" { -#endif - -#define min_val_Int1Unsigned (0) -#define max_val_Int1Unsigned (255) -#define min_val_Int1Signed (-128) -#define max_val_Int1Signed (127) -#define min_val_Int2Unsigned (0) -#define max_val_Int2Unsigned (65535) -#define min_val_Int2Signed (-32768) -#define max_val_Int2Signed (32767) -#define min_val_Int3Unsigned (0) -#define max_val_Int3Unsigned (16777215) -#define min_val_Int4Unsigned (0) -#define max_val_Int4Unsigned (4294967295) -#define min_val_Int4Signed (-2147483648) -#define max_val_Int4Signed (2147483647) -#define min_val_Int8Unsigned (0) -#define max_val_Int8Unsigned (9223372036854775807) -#define min_val_Int8Signed (-9223372036854775808) -#define max_val_Int8Signed (9223372036854775807) -#define min_val_AccountStatus (0) -#define max_val_AccountStatus (255) -#define min_val_CopValue (0) -#define max_val_CopValue (15) -#define min_val_DescriptiveCharacteristics (0) -#define max_val_DescriptiveCharacteristics (255) -#define min_val_DetectionMode (0) -#define max_val_DetectionMode (255) -#define min_val_EmissionUnit (0) -#define max_val_EmissionUnit (1) -#define min_val_EngineCharacteristics (0) -#define max_val_EngineCharacteristics (255) -#define min_val_EuroValue (0) -#define max_val_EuroValue (15) -#define min_val_FutureCharacteristics (0) -#define max_val_FutureCharacteristics (255) -#define min_val_IssuerIdentifier (0) -#define max_val_IssuerIdentifier (16383) -#define min_val_DistanceUnit (0) -#define max_val_DistanceUnit (255) -#define min_val_ResultOp (0) -#define max_val_ResultOp (255) -#define min_val_StationType (0) -#define max_val_StationType (15) -#define min_val_TimeUnit (0) -#define max_val_TimeUnit (255) -#define min_val_TrailerType (0) -#define max_val_TrailerType (31) -#define min_val_TyreConfiguration (0) -#define max_val_TyreConfiguration (3) -#define min_val_Weekday (0) -#define max_val_Weekday (7) -#define min_val_AccidentsAndIncidents (0) -#define max_val_AccidentsAndIncidents (65535) -#define min_val_AlternateRoute (0) -#define max_val_AlternateRoute (65535) -#define min_val_AssetStatus (0) -#define max_val_AssetStatus (65535) -#define min_val_Closures (0) -#define max_val_Closures (65535) -#define min_val_DelayStatusCancellation (0) -#define max_val_DelayStatusCancellation (65535) -#define min_val_DeviceStatus (0) -#define max_val_DeviceStatus (65535) -#define min_val_Disasters (0) -#define max_val_Disasters (65535) -#define min_val_Disturbances (0) -#define max_val_Disturbances (65535) -#define min_val_J2540ITIS_GenericLocations (0) -#define max_val_J2540ITIS_GenericLocations (65535) -#define min_val_J2540ITIS_IncidentResponseEquipment (0) -#define max_val_J2540ITIS_IncidentResponseEquipment (65535) -#define min_val_IncidentResponseStatus (0) -#define max_val_IncidentResponseStatus (65535) -#define min_val_SystemInformation (0) -#define max_val_SystemInformation (65535) -#define min_val_AdviceInstructionsMandatory (0) -#define max_val_AdviceInstructionsMandatory (65535) -#define min_val_AdviceInstructionsRecommendations (0) -#define max_val_AdviceInstructionsRecommendations (65535) -#define min_val_ITISgroups (0) -#define max_val_ITISgroups (255) -#define min_val_J2540ITIS_ITIScodes (0) -#define max_val_J2540ITIS_ITIScodes (65535) -#define min_val_LaneRoadway (0) -#define max_val_LaneRoadway (65535) -#define min_val_LargeNumbers (0) -#define max_val_LargeNumbers (65535) -#define min_val_MobileSituation (0) -#define max_val_MobileSituation (65535) -#define min_val_MUTCDLocations (0) -#define max_val_MUTCDLocations (65535) -#define min_val_NamedObjects (0) -#define max_val_NamedObjects (65535) -#define min_val_Objects (0) -#define max_val_Objects (65535) -#define min_val_Obstruction (0) -#define max_val_Obstruction (65535) -#define min_val_ParkingInformation (0) -#define max_val_ParkingInformation (65535) -#define min_val_PavementConditions (0) -#define max_val_PavementConditions (65535) -#define min_val_Precipitation (0) -#define max_val_Precipitation (65535) -#define min_val_Qualifiers (0) -#define max_val_Qualifiers (65535) -#define min_val_RecreationalObjectsAndActivities (0) -#define max_val_RecreationalObjectsAndActivities (65535) -#define min_val_RegulatoryAndWarningSigns (0) -#define max_val_RegulatoryAndWarningSigns (65535) -#define min_val_J2540ITIS_ResponderGroupAffected (0) -#define max_val_J2540ITIS_ResponderGroupAffected (65535) -#define min_val_RestrictionClass (0) -#define max_val_RestrictionClass (65535) -#define min_val_RoadsideAssets (0) -#define max_val_RoadsideAssets (65535) -#define min_val_Roadwork (0) -#define max_val_Roadwork (65535) -#define min_val_SmallNumbers (0) -#define max_val_SmallNumbers (65535) -#define min_val_SpecialEvents (0) -#define max_val_SpecialEvents (65535) -#define min_val_SportingEvents (0) -#define max_val_SportingEvents (65535) -#define min_val_StatesAndTerritories (0) -#define max_val_StatesAndTerritories (65535) -#define min_val_StreetSuffixes (0) -#define max_val_StreetSuffixes (65535) -#define min_val_Structures (0) -#define max_val_Structures (65535) -#define min_val_SuggestionAdvice (0) -#define max_val_SuggestionAdvice (65535) -#define min_val_Temperature (0) -#define max_val_Temperature (65535) -#define min_val_TrafficConditions (0) -#define max_val_TrafficConditions (65535) -#define min_val_TransitMode (0) -#define max_val_TransitMode (65535) -#define min_val_TransitOperations (0) -#define max_val_TransitOperations (65535) -#define min_val_TravelerGroupAffected (0) -#define max_val_TravelerGroupAffected (65535) -#define min_val_Units (0) -#define max_val_Units (65535) -#define min_val_UnusualDriving (0) -#define max_val_UnusualDriving (65535) -#define min_val_ValidManeuvers (0) -#define max_val_ValidManeuvers (65535) -#define min_val_J2540ITIS_VehicleGroupAffected (0) -#define max_val_J2540ITIS_VehicleGroupAffected (65535) -#define min_val_VisibilityAndAirQuality (0) -#define max_val_VisibilityAndAirQuality (65535) -#define min_val_WarningAdvice (0) -#define max_val_WarningAdvice (65535) -#define min_val_WeatherConditions (0) -#define max_val_WeatherConditions (65535) -#define min_val_Winds (0) -#define max_val_Winds (65535) -#define min_val_WinterDrivingIndex (0) -#define max_val_WinterDrivingIndex (65535) -#define min_val_WinterDrivingRestrictions (0) -#define max_val_WinterDrivingRestrictions (65535) -#define min_val_AddGrpB_Angle (0) -#define max_val_AddGrpB_Angle (239) -#define min_val_Day (0) -#define max_val_Day (255) -#define min_val_DegreesLat (-90) -#define max_val_DegreesLat (90) -#define min_val_DegreesLong (-180) -#define max_val_DegreesLong (180) -#define min_val_AddGrpB_Elevation (-32768) -#define max_val_AddGrpB_Elevation (32767) -#define min_val_Hour (0) -#define max_val_Hour (255) -#define min_val_LatitudeDMS (-32400000) -#define max_val_LatitudeDMS (32400000) -#define min_val_LongitudeDMS (-64800000) -#define max_val_LongitudeDMS (64800000) -#define min_val_MaxTimetoChange (0) -#define max_val_MaxTimetoChange (2402) -#define min_val_MinTimetoChange (0) -#define max_val_MinTimetoChange (2402) -#define min_val_Minute (0) -#define max_val_Minute (255) -#define min_val_MinutesAngle (0) -#define max_val_MinutesAngle (59) -#define min_val_Month (1) -#define max_val_Month (255) -#define min_val_AddGrpB_MsgCount (0) -#define max_val_AddGrpB_MsgCount (255) -#define min_val_Second (0) -#define max_val_Second (60) -#define min_val_SecondsAngle (0) -#define max_val_SecondsAngle (5999) -#define min_val_TenthSecond (0) -#define max_val_TenthSecond (9) -#define min_val_TimeRemaining (0) -#define max_val_TimeRemaining (9001) -#define min_val_Year (1) -#define max_val_Year (65535) -#define min_val_AltitudeValue (-100000) -#define max_val_AltitudeValue (800001) -#define min_val_BasicSafetyMessage_PartII_Id (0) -#define max_val_BasicSafetyMessage_PartII_Id (63) -#define min_val_TrailerMass (0) -#define max_val_TrailerMass (255) -#define min_val_VertOffset_B07 (-64) -#define max_val_VertOffset_B07 (63) -#define min_val_Acceleration (-2000) -#define max_val_Acceleration (2001) -#define min_val_AmbientAirPressure (0) -#define max_val_AmbientAirPressure (255) -#define min_val_AmbientAirTemperature (0) -#define max_val_AmbientAirTemperature (191) -#define min_val_Common_Angle (0) -#define max_val_Common_Angle (28800) -#define min_val_ApproachID (0) -#define max_val_ApproachID (15) -#define min_val_BasicVehicleClass (0) -#define max_val_BasicVehicleClass (255) -#define min_val_BumperHeight (0) -#define max_val_BumperHeight (127) -#define min_val_CoarseHeading (0) -#define max_val_CoarseHeading (240) -#define min_val_CoefficientOfFriction (0) -#define max_val_CoefficientOfFriction (50) -#define min_val_Confidence (0) -#define max_val_Confidence (200) -#define min_val_Count (0) -#define max_val_Count (32) -#define min_val_DDay (0) -#define max_val_DDay (31) -#define min_val_DeltaAngle (-150) -#define max_val_DeltaAngle (150) -#define min_val_DHour (0) -#define max_val_DHour (31) -#define min_val_DMinute (0) -#define max_val_DMinute (60) -#define min_val_DMonth (0) -#define max_val_DMonth (12) -#define min_val_DOffset (-840) -#define max_val_DOffset (840) -#define min_val_DrivenLineOffsetLg (-32767) -#define max_val_DrivenLineOffsetLg (32767) -#define min_val_DrivenLineOffsetSm (-2047) -#define max_val_DrivenLineOffsetSm (2047) -#define min_val_DSecond (0) -#define max_val_DSecond (65535) -#define min_val_Common_Duration (0) -#define max_val_Common_Duration (3600) -#define min_val_DYear (0) -#define max_val_DYear (4095) -#define min_val_Common_Elevation (-4096) -#define max_val_Common_Elevation (61439) -#define min_val_Common_MeanVariation (0) -#define max_val_Common_MeanVariation (25000) -#define min_val_VariationStdDev (0) -#define max_val_VariationStdDev (2500) -#define min_val_FuelType (0) -#define max_val_FuelType (15) -#define min_val_GrossSpeed (0) -#define max_val_GrossSpeed (31) -#define min_val_Heading (0) -#define max_val_Heading (28800) -#define min_val_IntersectionID (0) -#define max_val_IntersectionID (65535) -#define min_val_Iso3833VehicleType (0) -#define max_val_Iso3833VehicleType (100) -#define min_val_TrailerWeight (0) -#define max_val_TrailerWeight (64255) -#define min_val_LaneConnectionID (0) -#define max_val_LaneConnectionID (255) -#define min_val_LaneID (0) -#define max_val_LaneID (255) -#define min_val_LaneWidth (0) -#define max_val_LaneWidth (32767) -#define min_val_Common_Latitude (-900000000) -#define max_val_Common_Latitude (900000001) -#define min_val_Common_Longitude (-1799999999) -#define max_val_Common_Longitude (1800000001) -#define min_val_MergeDivergeNodeAngle (-180) -#define max_val_MergeDivergeNodeAngle (180) -#define min_val_MinuteOfTheYear (0) -#define max_val_MinuteOfTheYear (527040) -#define min_val_Common_MsgCount (0) -#define max_val_Common_MsgCount (127) -#define min_val_ObstacleDistance (0) -#define max_val_ObstacleDistance (32767) -#define min_val_Offset_B09 (-256) -#define max_val_Offset_B09 (255) -#define min_val_Offset_B10 (-512) -#define max_val_Offset_B10 (511) -#define min_val_Offset_B11 (-1024) -#define max_val_Offset_B11 (1023) -#define min_val_Offset_B12 (-2048) -#define max_val_Offset_B12 (2047) -#define min_val_Offset_B13 (-4096) -#define max_val_Offset_B13 (4095) -#define min_val_Offset_B14 (-8192) -#define max_val_Offset_B14 (8191) -#define min_val_Offset_B16 (-32768) -#define max_val_Offset_B16 (32767) -#define min_val_OffsetLL_B18 (-131072) -#define max_val_OffsetLL_B18 (131071) -#define min_val_RadiusOfCurvature (-32767) -#define max_val_RadiusOfCurvature (32767) -#define min_val_RegionId (0) -#define max_val_RegionId (255) -#define min_val_RequestID (0) -#define max_val_RequestID (255) -#define min_val_RestrictionClassID (0) -#define max_val_RestrictionClassID (255) -#define min_val_RoadRegulatorID (0) -#define max_val_RoadRegulatorID (65535) -#define min_val_RoadSegmentID (0) -#define max_val_RoadSegmentID (65535) -#define min_val_RoadwayCrownAngle (-128) -#define max_val_RoadwayCrownAngle (127) -#define min_val_Scale_B12 (-2048) -#define max_val_Scale_B12 (2047) -#define min_val_SemiMajorAxisAccuracy (0) -#define max_val_SemiMajorAxisAccuracy (255) -#define min_val_SemiMajorAxisOrientation (0) -#define max_val_SemiMajorAxisOrientation (65535) -#define min_val_SemiMinorAxisAccuracy (0) -#define max_val_SemiMinorAxisAccuracy (255) -#define min_val_SignalGroupID (0) -#define max_val_SignalGroupID (255) -#define min_val_Speed (0) -#define max_val_Speed (8191) -#define min_val_SSPindex (0) -#define max_val_SSPindex (31) -#define min_val_StationID (0) -#define max_val_StationID (4294967295) -#define min_val_SteeringWheelAngle (-126) -#define max_val_SteeringWheelAngle (127) -#define min_val_TimeOffset (1) -#define max_val_TimeOffset (65535) -#define min_val_VehicleHeight (0) -#define max_val_VehicleHeight (127) -#define min_val_VehicleLength (0) -#define max_val_VehicleLength (4095) -#define min_val_VehicleMass (0) -#define max_val_VehicleMass (255) -#define min_val_VehicleWidth (0) -#define max_val_VehicleWidth (1023) -#define min_val_Velocity (0) -#define max_val_Velocity (8191) -#define min_val_VerticalAcceleration (-127) -#define max_val_VerticalAcceleration (127) -#define min_val_VertOffset_B08 (-128) -#define max_val_VertOffset_B08 (127) -#define min_val_VertOffset_B09 (-256) -#define max_val_VertOffset_B09 (255) -#define min_val_VertOffset_B10 (-512) -#define max_val_VertOffset_B10 (511) -#define min_val_VertOffset_B11 (-1024) -#define max_val_VertOffset_B11 (1023) -#define min_val_VertOffset_B12 (-2048) -#define max_val_VertOffset_B12 (2047) -#define min_val_WiperRate (0) -#define max_val_WiperRate (127) -#define min_val_YawRate (-32767) -#define max_val_YawRate (32767) -#define min_val_ITIS_ITIScodes (0) -#define max_val_ITIS_ITIScodes (65535) -#define min_val_LayerID (0) -#define max_val_LayerID (100) -#define min_val_DSRCmsgID (0) -#define max_val_DSRCmsgID (32767) -#define min_val_NMEA_MsgType (0) -#define max_val_NMEA_MsgType (32767) -#define min_val_ObjectCount (0) -#define max_val_ObjectCount (1023) -#define min_val_EssMobileFriction (0) -#define max_val_EssMobileFriction (101) -#define min_val_EssPrecipRate (0) -#define max_val_EssPrecipRate (65535) -#define min_val_EssSolarRadiation (0) -#define max_val_EssSolarRadiation (65535) -#define min_val_AttachmentRadius (0) -#define max_val_AttachmentRadius (200) -#define min_val_PersonalClusterRadius (0) -#define max_val_PersonalClusterRadius (100) -#define min_val_GrossDistance (0) -#define max_val_GrossDistance (1023) -#define min_val_SecondOfTime (0) -#define max_val_SecondOfTime (61) -#define min_val_TermDistance (1) -#define max_val_TermDistance (30000) -#define min_val_TermTime (1) -#define max_val_TermTime (1800) -#define min_val_DrivingWheelAngle (-128) -#define max_val_DrivingWheelAngle (127) -#define min_val_AxleLocation (0) -#define max_val_AxleLocation (255) -#define min_val_AxleWeight (0) -#define max_val_AxleWeight (64255) -#define min_val_CargoWeight (0) -#define max_val_CargoWeight (64255) -#define min_val_DriveAxleLiftAirPressure (0) -#define max_val_DriveAxleLiftAirPressure (1000) -#define min_val_DriveAxleLocation (0) -#define max_val_DriveAxleLocation (255) -#define min_val_DriveAxleLubePressure (0) -#define max_val_DriveAxleLubePressure (250) -#define min_val_DriveAxleTemperature (-40) -#define max_val_DriveAxleTemperature (210) -#define min_val_SteeringAxleLubePressure (0) -#define max_val_SteeringAxleLubePressure (250) -#define min_val_SteeringAxleTemperature (-40) -#define max_val_SteeringAxleTemperature (210) -#define min_val_TireLeakageRate (0) -#define max_val_TireLeakageRate (64255) -#define min_val_TireLocation (0) -#define max_val_TireLocation (255) -#define min_val_TirePressure (0) -#define max_val_TirePressure (250) -#define min_val_TireTemp (-8736) -#define max_val_TireTemp (55519) -#define min_val_ProbeSegmentNumber (0) -#define max_val_ProbeSegmentNumber (32767) -#define min_val_SteeringWheelAngleRateOfChange (-127) -#define max_val_SteeringWheelAngleRateOfChange (127) -#define min_val_SunSensor (0) -#define max_val_SunSensor (1000) -#define min_val_ThrottlePosition (0) -#define max_val_ThrottlePosition (200) -#define min_val_DeltaTime (-122) -#define max_val_DeltaTime (121) -#define min_val_SpeedAdvice (0) -#define max_val_SpeedAdvice (500) -#define min_val_TimeIntervalConfidence (0) -#define max_val_TimeIntervalConfidence (15) -#define min_val_SPAT_TimeMark (0) -#define max_val_SPAT_TimeMark (36111) -#define min_val_ZoneLength (0) -#define max_val_ZoneLength (10000) -#define min_val_TimeInSecond_B16 (0) -#define max_val_TimeInSecond_B16 (65535) -#define min_val_TimeInSecond_B8 (0) -#define max_val_TimeInSecond_B8 (255) -#define min_val_MinutesDuration (0) -#define max_val_MinutesDuration (32000) -#define min_val_OffsetLL_B12 (-2048) -#define max_val_OffsetLL_B12 (2047) -#define min_val_OffsetLL_B14 (-8192) -#define max_val_OffsetLL_B14 (8191) -#define min_val_OffsetLL_B16 (-32768) -#define max_val_OffsetLL_B16 (32767) -#define min_val_OffsetLL_B22 (-2097152) -#define max_val_OffsetLL_B22 (2097151) -#define min_val_OffsetLL_B24 (-8388608) -#define max_val_OffsetLL_B24 (8388607) -#define min_val_Radius_B12 (0) -#define max_val_Radius_B12 (4095) -#define min_val_SignPrority (0) -#define max_val_SignPrority (7) -#define min_val_Zoom (0) -#define max_val_Zoom (15) -#define min_val_NTCIPEssPavementTreatmentLatitude (-90000000) -#define max_val_NTCIPEssPavementTreatmentLatitude (90000001) -#define min_val_NTCIPEssPavementTreatmentLongitude (-180000000) -#define max_val_NTCIPEssPavementTreatmentLongitude (180000001) -#define min_val_NTCIPEssPercentProductMix (0) -#define max_val_NTCIPEssPercentProductMix (100) -#define min_val_NTCIPEssPaveTreatmentAmount (0) -#define max_val_NTCIPEssPaveTreatmentAmount (255) -#define min_val_NTCIPEssPaveTreatmentWidth (0) -#define max_val_NTCIPEssPaveTreatmentWidth (255) -#define min_val_NTCIPEssAirTemperature (-1000) -#define max_val_NTCIPEssAirTemperature (1001) -#define min_val_NTCIPEssTemperatureSensorHeight (-1000) -#define max_val_NTCIPEssTemperatureSensorHeight (1001) -#define min_val_NTCIPEssPressureSensorAtmosphericPressure (0) -#define max_val_NTCIPEssPressureSensorAtmosphericPressure (65535) -#define min_val_NTCIPWindSensorAvgSpeed (0) -#define max_val_NTCIPWindSensorAvgSpeed (65535) -#define min_val_NTCIPWindSensorAvgDirection (0) -#define max_val_NTCIPWindSensorAvgDirection (361) -#define min_val_NTCIPWindSensorSpotSpeed (0) -#define max_val_NTCIPWindSensorSpotSpeed (65535) -#define min_val_NTCIPWindSensorSpotDirection (0) -#define max_val_NTCIPWindSensorSpotDirection (361) -#define min_val_NTCIPWindSensorGustSpeed (0) -#define max_val_NTCIPWindSensorGustSpeed (65535) -#define min_val_NTCIPWindSensorGustDirection (0) -#define max_val_NTCIPWindSensorGustDirection (361) -#define min_val_NTCIPHumiditySensorRelativeHumidity (0) -#define max_val_NTCIPHumiditySensorRelativeHumidity (101) -#define min_val_NTCIPEssDewpointTemp (-1000) -#define max_val_NTCIPEssDewpointTemp (1001) -#define min_val_NTCIPEssSurfaceTemperature (-1000) -#define max_val_NTCIPEssSurfaceTemperature (1001) -#define min_val_NTCIPEssSurfaceIceOrWaterDepth (0) -#define max_val_NTCIPEssSurfaceIceOrWaterDepth (65535) -#define min_val_NTCIPEssVisibility (0) -#define max_val_NTCIPEssVisibility (1000001) -#define min_val_NTCIPEssCloudSituationV4 (0) -#define max_val_NTCIPEssCloudSituationV4 (8) -#define min_val_NTCIPEssTotalRadiationV4 (-2048) -#define max_val_NTCIPEssTotalRadiationV4 (2049) -#define min_val_NTCIPEssTotalRadiationPeriod (0) -#define max_val_NTCIPEssTotalRadiationPeriod (86400) -#define min_val_TemperatureMeasurementStdDev (1) -#define max_val_TemperatureMeasurementStdDev (16) -#define min_val_AtmosPressureMeasurementStdDev (1) -#define max_val_AtmosPressureMeasurementStdDev (16) -#define min_val_DewPointTempMeasurementStdDev (1) -#define max_val_DewPointTempMeasurementStdDev (16) -#define min_val_SurfaceTempMeasurementStdDev (1) -#define max_val_SurfaceTempMeasurementStdDev (16) -#define min_val_LatOffset (-16384) -#define max_val_LatOffset (16383) -#define min_val_LongOffset (-16384) -#define max_val_LongOffset (16383) -#define min_val_ElevOffset (-4096) -#define max_val_ElevOffset (4095) -#define min_val_BankAngle (-512) -#define max_val_BankAngle (512) -#define min_val_HeadingDeg (0) -#define max_val_HeadingDeg (359) -#define min_val_Radius (0) -#define max_val_Radius (65535) -#define min_val_RSMLanePosition (1) -#define max_val_RSMLanePosition (32) -#define min_val_Tolerance (0) -#define max_val_Tolerance (180) -#define min_val_CooperativeControlMessage_PartII_Id (0) -#define max_val_CooperativeControlMessage_PartII_Id (63) -#define min_val_TimeConstant (0) -#define max_val_TimeConstant (255) -#define min_val_RoadGrade (-100) -#define max_val_RoadGrade (101) -#define min_val_BrakePedalPosition (0) -#define max_val_BrakePedalPosition (201) -#define min_val_AcceleratorPedalPosition (0) -#define max_val_AcceleratorPedalPosition (201) -#define min_val_Torque (0) -#define max_val_Torque (601) -#define min_val_Yaw (0) -#define max_val_Yaw (28800) -#define min_val_Pitch (-7200) -#define max_val_Pitch (7201) -#define min_val_Roll (-7200) -#define max_val_Roll (7201) -#define min_val_CooperativeControlMessage_PitchRate (-3000) -#define max_val_CooperativeControlMessage_PitchRate (3001) -#define min_val_CooperativeControlMessage_RollRate (-3000) -#define max_val_CooperativeControlMessage_RollRate (3001) -#define min_val_SeparationDistance (0) -#define max_val_SeparationDistance (2001) -#define min_val_TotalMass (0) -#define max_val_TotalMass (1288) -#define min_val_MaxAvailableAcceleration (0) -#define max_val_MaxAvailableAcceleration (2001) -#define min_val_MaxAvailableDeceleration (-2001) -#define max_val_MaxAvailableDeceleration (0) -#define min_val_CooperativeControlMessage_ManeuverID (0) -#define max_val_CooperativeControlMessage_ManeuverID (255) -#define min_val_ConfigId (1) -#define max_val_ConfigId (255) -#define min_val_ProbeDataReport_MeanVariation (0) -#define max_val_ProbeDataReport_MeanVariation (25000) -#define min_val_StdDev (0) -#define max_val_StdDev (10000) -#define min_val_ManeuverSharingAndCoordinatingMessage_ManeuverID (0) -#define max_val_ManeuverSharingAndCoordinatingMessage_ManeuverID (255) -#define min_val_ManeuverSharingAndCoordinatingMessage_ObjectDistance (-32767) -#define max_val_ManeuverSharingAndCoordinatingMessage_ObjectDistance (32767) -#define min_val_TRRLength (0) -#define max_val_TRRLength (4095) -#define min_val_TollPointID (1) -#define max_val_TollPointID (2048) -#define min_val_ObjectID (0) -#define max_val_ObjectID (65535) -#define min_val_ClassificationConfidence (0) -#define max_val_ClassificationConfidence (101) -#define min_val_MeasurementTimeOffset (-1500) -#define max_val_MeasurementTimeOffset (1500) -#define min_val_SensorDataSharingMessage_ObjectDistance (-32767) -#define max_val_SensorDataSharingMessage_ObjectDistance (32767) -#define min_val_PitchDetected (-7200) -#define max_val_PitchDetected (7200) -#define min_val_RollDetected (-14400) -#define max_val_RollDetected (14400) -#define min_val_YawDetected (-14400) -#define max_val_YawDetected (14400) -#define min_val_SensorDataSharingMessage_PitchRate (-32767) -#define max_val_SensorDataSharingMessage_PitchRate (32767) -#define min_val_SensorDataSharingMessage_RollRate (-32767) -#define max_val_SensorDataSharingMessage_RollRate (32767) -#define min_val_SizeValue (0) -#define max_val_SizeValue (1023) - - -#ifdef __cplusplus -} -#endif - -#endif /* _ASN_CONSTANT_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/asn_internal.c b/src/tmx/Asn_J2735/src/r2024/asn_internal.c new file mode 100644 index 000000000..c2a8108e7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/asn_internal.c @@ -0,0 +1,48 @@ +#include + +ssize_t +asn__format_to_callback(int (*cb)(const void *, size_t, void *key), void *key, + const char *fmt, ...) { + char scratch[64]; + char *buf = scratch; + size_t buf_size = sizeof(scratch); + int wrote; + int cb_ret; + + do { + va_list args; + va_start(args, fmt); + + wrote = vsnprintf(buf, buf_size, fmt, args); + va_end(args); + if(wrote < (ssize_t)buf_size) { + if(wrote < 0) { + if(buf != scratch) FREEMEM(buf); + return -1; + } + break; + } + + buf_size <<= 1; + if(buf == scratch) { + buf = MALLOC(buf_size); + if(!buf) return -1; + } else { + void *p = REALLOC(buf, buf_size); + if(!p) { + FREEMEM(buf); + return -1; + } + buf = p; + } + } while(1); + + cb_ret = cb(buf, wrote, key); + if(buf != scratch) FREEMEM(buf); + if(cb_ret < 0) { + return -1; + } + + return wrote; +} + diff --git a/src/tmx/Asn_J2735/src/r2024/asn_internal.h b/src/tmx/Asn_J2735/src/r2024/asn_internal.h deleted file mode 100644 index 7103b50fd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/asn_internal.h +++ /dev/null @@ -1,170 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * Declarations internally useful for the ASN.1 support code. - */ -#ifndef ASN_INTERNAL_H -#define ASN_INTERNAL_H -#ifndef __EXTENSIONS__ -#define __EXTENSIONS__ /* for Sun */ -#endif - -#include "asn_application.h" /* Application-visible API */ - -#ifndef __NO_ASSERT_H__ /* Include assert.h only for internal use. */ -#include /* for assert() macro */ -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -#include -#include -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -#include -#include -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -/* Environment version might be used to avoid running with the old library */ -#define ASN1C_ENVIRONMENT_VERSION 923 /* Compile-time version */ -int get_asn1c_environment_version(void); /* Run-time version */ - -#define CALLOC(nmemb, size) calloc(nmemb, size) -#define MALLOC(size) malloc(size) -#define REALLOC(oldptr, size) realloc(oldptr, size) -#define FREEMEM(ptr) free(ptr) - -#define asn_debug_indent 0 -#define ASN_DEBUG_INDENT_ADD(i) do{}while(0) - -#ifdef EMIT_ASN_DEBUG -#warning "Use ASN_EMIT_DEBUG instead of EMIT_ASN_DEBUG" -#define ASN_EMIT_DEBUG EMIT_ASN_DEBUG -#endif - -/* - * A macro for debugging the ASN.1 internals. - * You may enable or override it. - */ -#ifndef ASN_DEBUG /* If debugging code is not defined elsewhere... */ -#if ASN_EMIT_DEBUG == 1 /* And it was asked to emit this code... */ -#if __STDC_VERSION__ >= 199901L -#ifdef ASN_THREAD_SAFE -/* Thread safety requires sacrifice in output indentation: - * Retain empty definition of ASN_DEBUG_INDENT_ADD. */ -#else /* !ASN_THREAD_SAFE */ -#undef ASN_DEBUG_INDENT_ADD -#undef asn_debug_indent -int asn_debug_indent; -#define ASN_DEBUG_INDENT_ADD(i) do { asn_debug_indent += i; } while(0) -#endif /* ASN_THREAD_SAFE */ -#define ASN_DEBUG(fmt, args...) do { \ - int adi = asn_debug_indent; \ - while(adi--) fprintf(stderr, " "); \ - fprintf(stderr, fmt, ##args); \ - fprintf(stderr, " (%s:%d)\n", \ - __FILE__, __LINE__); \ - } while(0) -#else /* !C99 */ -void CC_PRINTFLIKE(1, 2) ASN_DEBUG_f(const char *fmt, ...); -#define ASN_DEBUG ASN_DEBUG_f -#endif /* C99 */ -#else /* ASN_EMIT_DEBUG != 1 */ -#if __STDC_VERSION__ >= 199901L -#define ASN_DEBUG(...) do{}while(0) -#else /* not C99 */ -static void CC_PRINTFLIKE(1, 2) ASN_DEBUG(const char *fmt, ...) { (void)fmt; } -#endif /* C99 or better */ -#endif /* ASN_EMIT_DEBUG */ -#endif /* ASN_DEBUG */ - -/* - * Print to a callback. - * The callback is expected to return negative values on error. - * 0 and positive values are treated as success. - * RETURN VALUES: - * -1: Failed to format or invoke the callback. - * >0: Size of the data that got delivered to the callback. - */ -ssize_t CC_PRINTFLIKE(3, 4) -asn__format_to_callback( - int (*callback)(const void *, size_t, void *key), void *key, - const char *fmt, ...); - -/* - * Invoke the application-supplied callback and fail, if something is wrong. - */ -#define ASN__E_cbc(buf, size) (cb((buf), (size), app_key) < 0) -#define ASN__E_CALLBACK(size, foo) \ - do { \ - if(foo) goto cb_failed; \ - er.encoded += (size); \ - } while(0) -#define ASN__CALLBACK(buf, size) ASN__E_CALLBACK(size, ASN__E_cbc(buf, size)) -#define ASN__CALLBACK2(buf1, size1, buf2, size2) \ - ASN__E_CALLBACK((size1) + (size2), \ - ASN__E_cbc(buf1, size1) || ASN__E_cbc(buf2, size2)) -#define ASN__CALLBACK3(buf1, size1, buf2, size2, buf3, size3) \ - ASN__E_CALLBACK((size1) + (size2) + (size3), \ - ASN__E_cbc(buf1, size1) || ASN__E_cbc(buf2, size2) \ - || ASN__E_cbc(buf3, size3)) - -#define ASN__TEXT_INDENT(nl, level) \ - do { \ - int tmp_level = (level); \ - int tmp_nl = ((nl) != 0); \ - int tmp_i; \ - if(tmp_nl) ASN__CALLBACK("\n", 1); \ - if(tmp_level < 0) tmp_level = 0; \ - for(tmp_i = 0; tmp_i < tmp_level; tmp_i++) ASN__CALLBACK(" ", 4); \ - } while(0) - -#define _i_INDENT(nl) do { \ - int tmp_i; \ - if((nl) && cb("\n", 1, app_key) < 0) \ - return -1; \ - for(tmp_i = 0; tmp_i < ilevel; tmp_i++) \ - if(cb(" ", 4, app_key) < 0) \ - return -1; \ - } while(0) - -/* - * Check stack against overflow, if limit is set. - */ -#define ASN__DEFAULT_STACK_MAX (30000) -#ifdef ASN_DISABLE_STACK_OVERFLOW_CHECK -static int CC_NOTUSED -ASN__STACK_OVERFLOW_CHECK(const asn_codec_ctx_t *ctx) { - (void)ctx; - return 0; -} -#else -static int CC_NOTUSED -ASN__STACK_OVERFLOW_CHECK(const asn_codec_ctx_t *ctx) { - if(ctx && ctx->max_stack_size) { - - /* ctx MUST be allocated on the stack */ - ptrdiff_t usedstack = ((const char *)ctx - (const char *)&ctx); - if(usedstack > 0) usedstack = -usedstack; /* grows up! */ - - /* double negative required to avoid int wrap-around */ - if(usedstack < -(ptrdiff_t)ctx->max_stack_size) { - ASN_DEBUG("Stack limit %ld reached", - (long)ctx->max_stack_size); - return -1; - } - } - return 0; -} -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_INTERNAL_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/asn_ioc.h b/src/tmx/Asn_J2735/src/r2024/asn_ioc.h deleted file mode 100644 index 7de210ee0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/asn_ioc.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Run-time support for Information Object Classes. - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_IOC_H -#define ASN_IOC_H - -#include /* Platform-specific types */ - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; -struct asn_ioc_cell_s; - -/* - * X.681, #13 - */ -typedef struct asn_ioc_set_s { - size_t rows_count; - size_t columns_count; - const struct asn_ioc_cell_s *rows; -} asn_ioc_set_t; - - -typedef struct asn_ioc_cell_s { - const char *field_name; /* Is equal to corresponding column_name */ - enum { - aioc__undefined = 0, - aioc__value, - aioc__type, - aioc__open_type, - } cell_kind; - struct asn_TYPE_descriptor_s *type_descriptor; - const void *value_sptr; - struct { - size_t types_count; - struct { - unsigned choice_position; - } *types; - } open_type; -} asn_ioc_cell_t; - - -#ifdef __cplusplus -} -#endif - -#endif /* ASN_IOC_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/asn_random_fill.c b/src/tmx/Asn_J2735/src/r2024/asn_random_fill.c new file mode 100644 index 000000000..29653623a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/asn_random_fill.c @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +int +asn_random_fill(const struct asn_TYPE_descriptor_s *td, void **struct_ptr, + size_t length) { + + if(td && td->op->random_fill) { + asn_random_fill_result_t res = + td->op->random_fill(td, struct_ptr, 0, length); + return (res.code == ARFILL_OK) ? 0 : -1; + } else { + return -1; + } +} + +static uintmax_t +asn__intmax_range(intmax_t lb, intmax_t ub) { + assert(lb <= ub); + if((ub < 0) == (lb < 0)) { + return ub - lb; + } else if(lb < 0) { + return 1 + ((uintmax_t)ub + (uintmax_t)-(lb + 1)); + } else { + assert(!"Unreachable"); + return 0; + } +} + +intmax_t +asn_random_between(intmax_t lb, intmax_t rb) { + if(lb == rb) { + return lb; + } else { + const uintmax_t intmax_max = ((~(uintmax_t)0) >> 1); + uintmax_t range = asn__intmax_range(lb, rb); + uintmax_t value = 0; + uintmax_t got_entropy = 0; + + (void)intmax_max; + assert(RAND_MAX > 0xffffff); /* Seen 7ffffffd! */ + assert(range < intmax_max); + + for(; got_entropy < range;) { + got_entropy = (got_entropy << 24) | 0xffffff; +#ifdef HAVE_RANDOM + value = (value << 24) | (random() % 0xffffff); +#else + value = (value << 24) | (rand() % 0xffffff); +#endif + } + + return lb + (intmax_t)(value % (range + 1)); + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/asn_random_fill.h b/src/tmx/Asn_J2735/src/r2024/asn_random_fill.h deleted file mode 100644 index 47f9b8af0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/asn_random_fill.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN_RANDOM_FILL -#define ASN_RANDOM_FILL - -/* Forward declarations */ -struct asn_TYPE_descriptor_s; -struct asn_encoding_constraints_s; - -/* - * Initialize a structure with random data according to the type specification - * and optional member constraints. - * ARGUMENTS: - * (max_length) - See (approx_max_length_limit). - * (memb_constraints) - Member constraints, if exist. - * The type can be constrained differently according - * to PER and OER specifications, so we find a value - * at the intersection of these constraints. - * In case the return differs from ARFILL_OK, the (struct_ptr) contents - * and (current_length) value remain in their original state. - */ -typedef struct asn_random_fill_result_s { - enum { - ARFILL_FAILED = -1, /* System error (memory?) */ - ARFILL_OK = 0, /* Initialization succeeded */ - ARFILL_SKIPPED = 1 /* Not done due to (length?) constraint */ - } code; - size_t length; /* Approximate number of bytes created. */ -} asn_random_fill_result_t; -typedef asn_random_fill_result_t(asn_random_fill_f)( - const struct asn_TYPE_descriptor_s *td, void **struct_ptr, - const struct asn_encoding_constraints_s *memb_constraints, - size_t max_length); - -/* - * Returns 0 if the structure was properly initialized, -1 otherwise. - * The (approx_max_length_limit) specifies the approximate limit of the - * resulting structure in units closely resembling bytes. The actual result - * might be several times larger or smaller than the length limit. - */ -int asn_random_fill(const struct asn_TYPE_descriptor_s *td, void **struct_ptr, - size_t approx_max_length_limit); - -/* - * Returns a random number between min and max. - */ -intmax_t asn_random_between(intmax_t min, intmax_t max); - -#endif /* ASN_RANDOM_FILL */ diff --git a/src/tmx/Asn_J2735/src/r2024/asn_system.h b/src/tmx/Asn_J2735/src/r2024/asn_system.h deleted file mode 100644 index 0f0d495b2..000000000 --- a/src/tmx/Asn_J2735/src/r2024/asn_system.h +++ /dev/null @@ -1,169 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * Miscellaneous system-dependent types. - */ -#ifndef ASN_SYSTEM_H -#define ASN_SYSTEM_H - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#ifndef _DEFAULT_SOURCE -#define _DEFAULT_SOURCE 1 -#endif - -#ifndef _BSD_SOURCE -#define _BSD_SOURCE /* for snprintf() on some linux systems */ -#endif - -#include /* For snprintf(3) */ -#include /* For *alloc(3) */ -#include /* For memcpy(3) */ -#include /* For size_t */ -#include /* For LONG_MAX */ -#include /* For va_start */ -#include /* for offsetof and ptrdiff_t */ -#include /* for PRIdMAX */ - -#ifdef _WIN32 - -#include -#ifndef __MINGW32__ -#define snprintf _snprintf -#define vsnprintf _vsnprintf -#endif - -/* To avoid linking with ws2_32.lib, here's the definition of ntohl() */ -#define sys_ntohl(l) ((((l) << 24) & 0xff000000) \ - | (((l) << 8) & 0xff0000) \ - | (((l) >> 8) & 0xff00) \ - | ((l >> 24) & 0xff)) - -#ifdef _MSC_VER /* MSVS.Net */ -#ifndef __cplusplus -#define inline __inline -#endif -#ifndef ASSUMESTDTYPES /* Standard types have been defined elsewhere */ -#define ssize_t SSIZE_T -#if _MSC_VER < 1600 -typedef char int8_t; -typedef short int16_t; -typedef int int32_t; -typedef unsigned char uint8_t; -typedef unsigned short uint16_t; -typedef unsigned int uint32_t; -#else /* _MSC_VER >= 1600 */ -#include -#endif /* _MSC_VER < 1600 */ -#endif /* ASSUMESTDTYPES */ -#define WIN32_LEAN_AND_MEAN -#include -#include -#define isnan _isnan -#define finite _finite -#define copysign _copysign -#define ilogb _logb -#else /* !_MSC_VER */ -#include -#endif /* _MSC_VER */ - -#else /* !_WIN32 */ - -#if defined(__vxworks) -#include -#else /* !defined(__vxworks) */ - -#include /* C99 specifies this file */ -#ifdef HAVE_NETINET_IN_H -#include /* for ntohl() */ -#endif -#define sys_ntohl(foo) ntohl(foo) -#endif /* defined(__vxworks) */ - -#endif /* _WIN32 */ - -#if __GNUC__ >= 3 || defined(__clang__) -#define CC_ATTRIBUTE(attr) __attribute__((attr)) -#else -#define CC_ATTRIBUTE(attr) -#endif -#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__>= 4) || __GNUC__ > 4) -#define CC_PRINTFLIKE(fmt, var) CC_ATTRIBUTE(format(gnu_printf, fmt, var)) -#elif defined(__GNUC__) -#if defined(ANDROID) -#define CC_PRINTFLIKE(fmt, var) CC_ATTRIBUTE(__format__(__printf__, fmt, var)) -#else -#define CC_PRINTFLIKE(fmt, var) CC_ATTRIBUTE(format(printf, fmt, var)) -#endif -#else -#define CC_PRINTFLIKE(fmt, var) -#endif -#define CC_NOTUSED CC_ATTRIBUTE(unused) -#ifndef CC_ATTR_NO_SANITIZE -#if __GNUC__ < 8 -#define CC_ATTR_NO_SANITIZE(what) -#else -#define CC_ATTR_NO_SANITIZE(what) CC_ATTRIBUTE(no_sanitize(what)) -#endif -#endif - -/* Figure out if thread safety is requested */ -#if !defined(ASN_THREAD_SAFE) && (defined(THREAD_SAFE) || defined(_REENTRANT)) -#define ASN_THREAD_SAFE -#endif /* Thread safety */ - -#ifndef offsetof /* If not defined by */ -#define offsetof(s, m) ((ptrdiff_t)&(((s *)0)->m) - (ptrdiff_t)((s *)0)) -#endif /* offsetof */ - -#ifndef MIN /* Suitable for comparing primitive types (integers) */ -#if defined(__GNUC__) -#define MIN(a,b) ({ __typeof a _a = a; __typeof b _b = b; \ - ((_a)<(_b)?(_a):(_b)); }) -#else /* !__GNUC__ */ -#define MIN(a,b) ((a)<(b)?(a):(b)) /* Unsafe variant */ -#endif /* __GNUC__ */ -#endif /* MIN */ - -#if __STDC_VERSION__ >= 199901L -#ifndef SIZE_MAX -#define SIZE_MAX ((~((size_t)0)) >> 1) -#endif - -#ifndef RSIZE_MAX /* C11, Annex K */ -#define RSIZE_MAX (SIZE_MAX >> 1) -#endif -#ifndef RSSIZE_MAX /* Halve signed size even further than unsigned */ -#define RSSIZE_MAX ((ssize_t)(RSIZE_MAX >> 1)) -#endif -#else /* Old compiler */ -#undef SIZE_MAX -#undef RSIZE_MAX -#undef RSSIZE_MAX -#define SIZE_MAX ((~((size_t)0)) >> 1) -#define RSIZE_MAX (SIZE_MAX >> 1) -#define RSSIZE_MAX ((ssize_t)(RSIZE_MAX >> 1)) -#endif - -#if __STDC_VERSION__ >= 199901L -#define ASN_PRI_SIZE "zu" -#define ASN_PRI_SSIZE "zd" -#define ASN_PRIuMAX PRIuMAX -#define ASN_PRIdMAX PRIdMAX -#else -#define ASN_PRI_SIZE "lu" -#define ASN_PRI_SSIZE "ld" -#if LLONG_MAX > LONG_MAX -#define ASN_PRIuMAX "llu" -#define ASN_PRIdMAX "lld" -#else -#define ASN_PRIuMAX "lu" -#define ASN_PRIdMAX "ld" -#endif -#endif - -#endif /* ASN_SYSTEM_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/ber_decoder.c b/src/tmx/Asn_J2735/src/r2024/ber_decoder.c new file mode 100644 index 000000000..75d601695 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ber_decoder.c @@ -0,0 +1,283 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include + +#undef ADVANCE +#define ADVANCE(num_bytes) do { \ + size_t num = num_bytes; \ + ptr = ((const char *)ptr) + num; \ + size -= num; \ + consumed_myself += num; \ + } while(0) +#undef RETURN +#define RETURN(_code) do { \ + asn_dec_rval_t rval; \ + rval.code = _code; \ + if(opt_ctx) opt_ctx->step = step; /* Save context */ \ + if(_code == RC_OK || opt_ctx) \ + rval.consumed = consumed_myself; \ + else \ + rval.consumed = 0; /* Context-free */ \ + return rval; \ + } while(0) + +/* + * The BER decoder of any type. + */ +asn_dec_rval_t +ber_decode(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *type_descriptor, void **struct_ptr, + const void *ptr, size_t size) { + asn_codec_ctx_t s_codec_ctx; + + /* + * Stack checker requires that the codec context + * must be allocated on the stack. + */ + if(opt_codec_ctx) { + if(opt_codec_ctx->max_stack_size) { + s_codec_ctx = *opt_codec_ctx; + opt_codec_ctx = &s_codec_ctx; + } + } else { + /* If context is not given, be security-conscious anyway */ + memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); + s_codec_ctx.max_stack_size = ASN__DEFAULT_STACK_MAX; + opt_codec_ctx = &s_codec_ctx; + } + + /* + * Invoke type-specific decoder. + */ + return type_descriptor->op->ber_decoder(opt_codec_ctx, type_descriptor, + struct_ptr, /* Pointer to the destination structure */ + ptr, size, /* Buffer and its size */ + 0 /* Default tag mode is 0 */ + ); +} + +/* + * Check the set of >> tags matches the definition. + */ +asn_dec_rval_t +ber_check_tags(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, asn_struct_ctx_t *opt_ctx, + const void *ptr, size_t size, int tag_mode, int last_tag_form, + ber_tlv_len_t *last_length, int *opt_tlv_form) { + ssize_t consumed_myself = 0; + ssize_t tag_len; + ssize_t len_len; + ber_tlv_tag_t tlv_tag; + ber_tlv_len_t tlv_len; + ber_tlv_len_t limit_len = -1; + int expect_00_terminators = 0; + int tlv_constr = -1; /* If CHOICE, opt_tlv_form is not given */ + int step = opt_ctx ? opt_ctx->step : 0; /* Where we left previously */ + int tagno; + + /* + * Make sure we didn't exceed the maximum stack size. + */ + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + RETURN(RC_FAIL); + + /* + * So what does all this implicit skip stuff mean? + * Imagine two types, + * A ::= [5] IMPLICIT T + * B ::= [2] EXPLICIT T + * Where T is defined as + * T ::= [4] IMPLICIT SEQUENCE { ... } + * + * Let's say, we are starting to decode type A, given the + * following TLV stream: <5> <0>. What does this mean? + * It means that the type A contains type T which is, + * in turn, empty. + * Remember though, that we are still in A. We cannot + * just pass control to the type T decoder. Why? Because + * the type T decoder expects <4> <0>, not <5> <0>. + * So, we must make sure we are going to receive <5> while + * still in A, then pass control to the T decoder, indicating + * that the tag <4> was implicitly skipped. The decoder of T + * hence will be prepared to treat <4> as valid tag, and decode + * it appropriately. + */ + + tagno = step /* Continuing where left previously */ + + (tag_mode==1?-1:0) + ; + ASN_DEBUG("ber_check_tags(%s, size=%ld, tm=%d, step=%d, tagno=%d)", + td->name, (long)size, tag_mode, step, tagno); + /* assert(td->tags_count >= 1) May not be the case for CHOICE or ANY */ + + if(tag_mode == 0 && tagno == (int)td->tags_count) { + /* + * This must be the _untagged_ ANY type, + * which outermost tag isn't known in advance. + * Fetch the tag and length separately. + */ + tag_len = ber_fetch_tag(ptr, size, &tlv_tag); + switch(tag_len) { + case -1: RETURN(RC_FAIL); + case 0: RETURN(RC_WMORE); + } + tlv_constr = BER_TLV_CONSTRUCTED(ptr); + len_len = ber_fetch_length(tlv_constr, + (const char *)ptr + tag_len, size - tag_len, &tlv_len); + switch(len_len) { + case -1: RETURN(RC_FAIL); + case 0: RETURN(RC_WMORE); + } + ASN_DEBUG("Advancing %ld in ANY case", + (long)(tag_len + len_len)); + ADVANCE(tag_len + len_len); + } else { + assert(tagno < (int)td->tags_count); /* At least one loop */ + } + for((void)tagno; tagno < (int)td->tags_count; tagno++, step++) { + + /* + * Fetch and process T from TLV. + */ + tag_len = ber_fetch_tag(ptr, size, &tlv_tag); + ASN_DEBUG("Fetching tag from {%p,%ld}: " + "len %ld, step %d, tagno %d got %s", + ptr, (long)size, + (long)tag_len, step, tagno, + ber_tlv_tag_string(tlv_tag)); + switch(tag_len) { + case -1: RETURN(RC_FAIL); + case 0: RETURN(RC_WMORE); + } + + tlv_constr = BER_TLV_CONSTRUCTED(ptr); + + /* + * If {I}, don't check anything. + * If {I,B,C}, check B and C unless we're at I. + */ + if(tag_mode != 0 && step == 0) { + /* + * We don't expect tag to match here. + * It's just because we don't know how the tag + * is supposed to look like. + */ + } else { + assert(tagno >= 0); /* Guaranteed by the code above */ + if(tlv_tag != td->tags[tagno]) { + /* + * Unexpected tag. Too bad. + */ + ASN_DEBUG("Expected: %s, " + "expectation failed (tn=%d, tm=%d)", + ber_tlv_tag_string(td->tags[tagno]), + tagno, tag_mode + ); + RETURN(RC_FAIL); + } + } + + /* + * Attention: if there are more tags expected, + * ensure that the current tag is presented + * in constructed form (it contains other tags!). + * If this one is the last one, check that the tag form + * matches the one given in descriptor. + */ + if(tagno < ((int)td->tags_count - 1)) { + if(tlv_constr == 0) { + ASN_DEBUG("tlv_constr = %d, expfail", + tlv_constr); + RETURN(RC_FAIL); + } + } else { + if(last_tag_form != tlv_constr + && last_tag_form != -1) { + ASN_DEBUG("last_tag_form %d != %d", + last_tag_form, tlv_constr); + RETURN(RC_FAIL); + } + } + + /* + * Fetch and process L from TLV. + */ + len_len = ber_fetch_length(tlv_constr, + (const char *)ptr + tag_len, size - tag_len, &tlv_len); + ASN_DEBUG("Fetching len = %ld", (long)len_len); + switch(len_len) { + case -1: RETURN(RC_FAIL); + case 0: RETURN(RC_WMORE); + } + + /* + * FIXME + * As of today, the chain of tags + * must either contain several indefinite length TLVs, + * or several definite length ones. + * No mixing is allowed. + */ + if(tlv_len == -1) { + /* + * Indefinite length. + */ + if(limit_len == -1) { + expect_00_terminators++; + } else { + ASN_DEBUG("Unexpected indefinite length " + "in a chain of definite lengths"); + RETURN(RC_FAIL); + } + ADVANCE(tag_len + len_len); + continue; + } else { + if(expect_00_terminators) { + ASN_DEBUG("Unexpected definite length " + "in a chain of indefinite lengths"); + RETURN(RC_FAIL); + } + } + + /* + * Check that multiple TLVs specify ever decreasing length, + * which is consistent. + */ + if(limit_len == -1) { + limit_len = tlv_len + tag_len + len_len; + if(limit_len < 0) { + /* Too great tlv_len value? */ + RETURN(RC_FAIL); + } + } else if(limit_len != tlv_len + tag_len + len_len) { + /* + * Inner TLV specifies length which is inconsistent + * with the outer TLV's length value. + */ + ASN_DEBUG("Outer TLV is %ld and inner is %ld", + (long)limit_len, (long)tlv_len); + RETURN(RC_FAIL); + } + + ADVANCE(tag_len + len_len); + + limit_len -= (tag_len + len_len); + if((ssize_t)size > limit_len) { + /* + * Make sure that we won't consume more bytes + * from the parent frame than the inferred limit. + */ + size = limit_len; + } + } + + if(opt_tlv_form) + *opt_tlv_form = tlv_constr; + if(expect_00_terminators) + *last_length = -expect_00_terminators; + else + *last_length = tlv_len; + + RETURN(RC_OK); +} diff --git a/src/tmx/Asn_J2735/src/r2024/ber_decoder.h b/src/tmx/Asn_J2735/src/r2024/ber_decoder.h deleted file mode 100644 index 1ac2a5ef0..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ber_decoder.h +++ /dev/null @@ -1,66 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _BER_DECODER_H_ -#define _BER_DECODER_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ -struct asn_codec_ctx_s; /* Forward declaration */ - -/* - * The BER decoder of any type. - * This function may be invoked directly from the application. - * Decodes BER, DER and CER data (DER and CER are different subsets of BER). - * - * NOTE: Use the der_encode() function (der_encoder.h) to produce encoding - * which is compliant with ber_decode(). - */ -asn_dec_rval_t ber_decode( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, - void **struct_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of that buffer */ -); - -/* - * Type of generic function which decodes the byte stream into the structure. - */ -typedef asn_dec_rval_t(ber_type_decoder_f)( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, void **struct_ptr, - const void *buf_ptr, size_t size, int tag_mode); - -/******************************* - * INTERNALLY USEFUL FUNCTIONS * - *******************************/ - -/* - * Check that all tags correspond to the type definition (as given in head). - * On return, last_length would contain either a non-negative length of the - * value part of the last TLV, or the negative number of expected - * "end of content" sequences. The number may only be negative if the - * head->last_tag_form is non-zero. - */ -asn_dec_rval_t ber_check_tags( - const struct asn_codec_ctx_s *opt_codec_ctx, /* codec options */ - const struct asn_TYPE_descriptor_s *type_descriptor, - asn_struct_ctx_t *opt_ctx, /* saved decoding context */ - const void *ptr, size_t size, - int tag_mode, /* {-1,0,1}: IMPLICIT, no, EXPLICIT */ - int last_tag_form, /* {-1,0:1}: any, primitive, constr */ - ber_tlv_len_t *last_length, int *opt_tlv_form /* optional tag form */ -); - -#ifdef __cplusplus -} -#endif - -#endif /* _BER_DECODER_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/ber_tlv_length.c b/src/tmx/Asn_J2735/src/r2024/ber_tlv_length.c new file mode 100644 index 000000000..0a0deec1a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ber_tlv_length.c @@ -0,0 +1,168 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +ssize_t +ber_fetch_length(int _is_constructed, const void *bufptr, size_t size, + ber_tlv_len_t *len_r) { + const uint8_t *buf = (const uint8_t *)bufptr; + unsigned oct; + + if(size == 0) + return 0; /* Want more */ + + oct = *(const uint8_t *)buf; + if((oct & 0x80) == 0) { + /* + * Short definite length. + */ + *len_r = oct; /* & 0x7F */ + return 1; + } else { + ber_tlv_len_t len; + size_t skipped; + + if(_is_constructed && oct == 0x80) { + *len_r = -1; /* Indefinite length */ + return 1; + } + + if(oct == 0xff) { + /* Reserved in standard for future use. */ + return -1; + } + + oct &= 0x7F; /* Leave only the 7 LS bits */ + for(len = 0, buf++, skipped = 1; + oct && (++skipped <= size); buf++, oct--) { + + /* Verify that we won't overflow. */ + if(!(len >> ((8 * sizeof(len)) - (8+1)))) { + len = (len << 8) | *buf; + } else { + /* Too large length value. */ + return -1; + } + } + + if(oct == 0) { + if(len < 0 || len > RSSIZE_MAX) { + /* Length value out of sane range. */ + return -1; + } + + *len_r = len; + return skipped; + } + + return 0; /* Want more */ + } + +} + +ssize_t +ber_skip_length(const asn_codec_ctx_t *opt_codec_ctx, + int _is_constructed, const void *ptr, size_t size) { + ber_tlv_len_t vlen; /* Length of V in TLV */ + ssize_t tl; /* Length of L in TLV */ + ssize_t ll; /* Length of L in TLV */ + size_t skip; + + /* + * Make sure we didn't exceed the maximum stack size. + */ + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + return -1; + + /* + * Determine the size of L in TLV. + */ + ll = ber_fetch_length(_is_constructed, ptr, size, &vlen); + if(ll <= 0) return ll; + + /* + * Definite length. + */ + if(vlen >= 0) { + skip = ll + vlen; + if(skip > size) + return 0; /* Want more */ + return skip; + } + + /* + * Indefinite length! + */ + ASN_DEBUG("Skipping indefinite length"); + for(skip = ll, ptr = ((const char *)ptr) + ll, size -= ll;;) { + ber_tlv_tag_t tag; + + /* Fetch the tag */ + tl = ber_fetch_tag(ptr, size, &tag); + if(tl <= 0) return tl; + + ll = ber_skip_length(opt_codec_ctx, + BER_TLV_CONSTRUCTED(ptr), + ((const char *)ptr) + tl, size - tl); + if(ll <= 0) return ll; + + skip += tl + ll; + + /* + * This may be the end of the indefinite length structure, + * two consecutive 0 octets. + * Check if it is true. + */ + if(((const uint8_t *)ptr)[0] == 0 + && ((const uint8_t *)ptr)[1] == 0) + return skip; + + ptr = ((const char *)ptr) + tl + ll; + size -= tl + ll; + } + + /* UNREACHABLE */ +} + +size_t +der_tlv_length_serialize(ber_tlv_len_t len, void *bufp, size_t size) { + size_t required_size; /* Size of len encoding */ + uint8_t *buf = (uint8_t *)bufp; + uint8_t *end; + int i; + + if(len <= 127) { + /* Encoded in 1 octet */ + if(size) *buf = (uint8_t)len; + return 1; + } + + /* + * Compute the size of the subsequent bytes. + */ + for(required_size = 1, i = 8; i < 8 * (int)sizeof(len); i += 8) { + if(len >> i) + required_size++; + else + break; + } + + if(size <= required_size) + return required_size + 1; + + *buf++ = (uint8_t)(0x80 | required_size); /* Length of the encoding */ + + /* + * Produce the len encoding, space permitting. + */ + end = buf + required_size; + for(i -= 8; buf < end; i -= 8, buf++) + *buf = (uint8_t)(len >> i); + + return required_size + 1; +} + diff --git a/src/tmx/Asn_J2735/src/r2024/ber_tlv_length.h b/src/tmx/Asn_J2735/src/r2024/ber_tlv_length.h deleted file mode 100644 index d1e4d48dd..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ber_tlv_length.h +++ /dev/null @@ -1,50 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _BER_TLV_LENGTH_H_ -#define _BER_TLV_LENGTH_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -typedef ssize_t ber_tlv_len_t; - -/* - * This function tries to fetch the length of the BER TLV value and place it - * in *len_r. - * RETURN VALUES: - * 0: More data expected than bufptr contains. - * -1: Fatal error deciphering length. - * >0: Number of bytes used from bufptr. - * On return with >0, len_r is constrained as -1..MAX, where -1 mean - * that the value is of indefinite length. - */ -ssize_t ber_fetch_length(int _is_constructed, const void *bufptr, size_t size, - ber_tlv_len_t *len_r); - -/* - * This function expects bufptr to be positioned over L in TLV. - * It returns number of bytes occupied by L and V together, suitable - * for skipping. The function properly handles indefinite length. - * RETURN VALUES: - * Standard {-1,0,>0} convention. - */ -ssize_t ber_skip_length( - const struct asn_codec_ctx_s *opt_codec_ctx, /* optional context */ - int _is_constructed, const void *bufptr, size_t size); - -/* - * This function serializes the length (L from TLV) in DER format. - * It always returns number of bytes necessary to represent the length, - * it is a caller's responsibility to check the return value - * against the supplied buffer's size. - */ -size_t der_tlv_length_serialize(ber_tlv_len_t len, void *bufptr, size_t size); - -#ifdef __cplusplus -} -#endif - -#endif /* _BER_TLV_LENGTH_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/ber_tlv_tag.c b/src/tmx/Asn_J2735/src/r2024/ber_tlv_tag.c new file mode 100644 index 000000000..64ec14f07 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/ber_tlv_tag.c @@ -0,0 +1,144 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +ssize_t +ber_fetch_tag(const void *ptr, size_t size, ber_tlv_tag_t *tag_r) { + ber_tlv_tag_t val; + ber_tlv_tag_t tclass; + size_t skipped; + + if(size == 0) + return 0; + + val = *(const uint8_t *)ptr; + tclass = (val >> 6); + if((val &= 0x1F) != 0x1F) { + /* + * Simple form: everything encoded in a single octet. + * Tag Class is encoded using two least significant bits. + */ + *tag_r = (val << 2) | tclass; + return 1; + } + + /* + * Each octet contains 7 bits of useful information. + * The MSB is 0 if it is the last octet of the tag. + */ + for(val = 0, ptr = ((const char *)ptr) + 1, skipped = 2; + skipped <= size; + ptr = ((const char *)ptr) + 1, skipped++) { + unsigned int oct = *(const uint8_t *)ptr; + if(oct & 0x80) { + val = (val << 7) | (oct & 0x7F); + /* + * Make sure there are at least 9 bits spare + * at the MS side of a value. + */ + if(val >> ((8 * sizeof(val)) - 9)) { + /* + * We would not be able to accommodate + * any more tag bits. + */ + return -1; + } + } else { + val = (val << 7) | oct; + *tag_r = (val << 2) | tclass; + return skipped; + } + } + + return 0; /* Want more */ +} + + +ssize_t +ber_tlv_tag_fwrite(ber_tlv_tag_t tag, FILE *f) { + char buf[sizeof("[APPLICATION ]") + 32]; + ssize_t ret; + + ret = ber_tlv_tag_snprint(tag, buf, sizeof(buf)); + if(ret >= (ssize_t)sizeof(buf) || ret < 2) { + errno = EPERM; + return -1; + } + + return fwrite(buf, 1, ret, f); +} + +ssize_t +ber_tlv_tag_snprint(ber_tlv_tag_t tag, char *buf, size_t size) { + const char *type = 0; + int ret; + + switch(tag & 0x3) { + case ASN_TAG_CLASS_UNIVERSAL: type = "UNIVERSAL "; break; + case ASN_TAG_CLASS_APPLICATION: type = "APPLICATION "; break; + case ASN_TAG_CLASS_CONTEXT: type = ""; break; + case ASN_TAG_CLASS_PRIVATE: type = "PRIVATE "; break; + } + + ret = snprintf(buf, size, "[%s%u]", type, ((unsigned)tag) >> 2); + if(ret <= 0 && size) buf[0] = '\0'; /* against broken libc's */ + + return ret; +} + +char * +ber_tlv_tag_string(ber_tlv_tag_t tag) { + static char buf[sizeof("[APPLICATION ]") + 32]; + + (void)ber_tlv_tag_snprint(tag, buf, sizeof(buf)); + + return buf; +} + + +size_t +ber_tlv_tag_serialize(ber_tlv_tag_t tag, void *bufp, size_t size) { + int tclass = BER_TAG_CLASS(tag); + ber_tlv_tag_t tval = BER_TAG_VALUE(tag); + uint8_t *buf = (uint8_t *)bufp; + uint8_t *end; + size_t required_size; + size_t i; + + if(tval <= 30) { + /* Encoded in 1 octet */ + if(size) buf[0] = (tclass << 6) | tval; + return 1; + } else if(size) { + *buf++ = (tclass << 6) | 0x1F; + size--; + } + + /* + * Compute the size of the subsequent bytes. + */ + for(required_size = 1, i = 7; i < 8 * sizeof(tval); i += 7) { + if(tval >> i) + required_size++; + else + break; + } + + if(size < required_size) + return required_size + 1; + + /* + * Fill in the buffer, space permitting. + */ + end = buf + required_size - 1; + for(i -= 7; buf < end; i -= 7, buf++) + *buf = 0x80 | ((tval >> i) & 0x7F); + *buf = (tval & 0x7F); /* Last octet without high bit */ + + return required_size + 1; +} + diff --git a/src/tmx/Asn_J2735/src/r2024/ber_tlv_tag.h b/src/tmx/Asn_J2735/src/r2024/ber_tlv_tag.h deleted file mode 100644 index ce227add6..000000000 --- a/src/tmx/Asn_J2735/src/r2024/ber_tlv_tag.h +++ /dev/null @@ -1,60 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _BER_TLV_TAG_H_ -#define _BER_TLV_TAG_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -enum asn_tag_class { - ASN_TAG_CLASS_UNIVERSAL = 0, /* 0b00 */ - ASN_TAG_CLASS_APPLICATION = 1, /* 0b01 */ - ASN_TAG_CLASS_CONTEXT = 2, /* 0b10 */ - ASN_TAG_CLASS_PRIVATE = 3 /* 0b11 */ -}; -typedef unsigned ber_tlv_tag_t; /* BER TAG from Tag-Length-Value */ - -/* - * Tag class is encoded together with tag value for optimization purposes. - */ -#define BER_TAG_CLASS(tag) ((tag) & 0x3) -#define BER_TAG_VALUE(tag) ((tag) >> 2) -#define BER_TLV_CONSTRUCTED(tagptr) (((*(const uint8_t *)tagptr)&0x20)?1:0) - -#define BER_TAGS_EQUAL(tag1, tag2) ((tag1) == (tag2)) - -/* - * Several functions for printing the TAG in the canonical form - * (i.e. "[PRIVATE 0]"). - * Return values correspond to their libc counterparts (if any). - */ -ssize_t ber_tlv_tag_snprint(ber_tlv_tag_t tag, char *buf, size_t buflen); -ssize_t ber_tlv_tag_fwrite(ber_tlv_tag_t tag, FILE *); -char *ber_tlv_tag_string(ber_tlv_tag_t tag); - - -/* - * This function tries to fetch the tag from the input stream. - * RETURN VALUES: - * 0: More data expected than bufptr contains. - * -1: Fatal error deciphering tag. - * >0: Number of bytes used from bufptr. tag_r will contain the tag. - */ -ssize_t ber_fetch_tag(const void *bufptr, size_t size, ber_tlv_tag_t *tag_r); - -/* - * This function serializes the tag (T from TLV) in BER format. - * It always returns number of bytes necessary to represent the tag, - * it is a caller's responsibility to check the return value - * against the supplied buffer's size. - */ -size_t ber_tlv_tag_serialize(ber_tlv_tag_t tag, void *bufptr, size_t size); - -#ifdef __cplusplus -} -#endif - -#endif /* _BER_TLV_TAG_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/constr_CHOICE.c b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE.c new file mode 100644 index 000000000..5f52e3d8b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE.c @@ -0,0 +1,358 @@ +/* + * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_TYPE_operation_t asn_OP_CHOICE = { + CHOICE_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + CHOICE_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + CHOICE_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + CHOICE_decode_ber, + CHOICE_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + CHOICE_decode_xer, + CHOICE_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + CHOICE_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + CHOICE_decode_oer, + CHOICE_encode_oer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + CHOICE_decode_uper, + CHOICE_encode_uper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + CHOICE_decode_aper, + CHOICE_encode_aper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + CHOICE_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + CHOICE_outmost_tag +}; + +ber_tlv_tag_t +CHOICE_outmost_tag(const asn_TYPE_descriptor_t *td, const void *ptr, int tag_mode, ber_tlv_tag_t tag) { + const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; + unsigned present; + + assert(tag_mode == 0); (void)tag_mode; + assert(tag == 0); (void)tag; + + /* + * Figure out which CHOICE element is encoded. + */ + present = _fetch_present_idx(ptr, specs->pres_offset, specs->pres_size); + + if(present > 0 && present <= td->elements_count) { + const asn_TYPE_member_t *elm = &td->elements[present-1]; + const void *memb_ptr; + + if(elm->flags & ATF_POINTER) { + memb_ptr = *(const void * const *) + ((const char *)ptr + elm->memb_offset); + } else { + memb_ptr = (const void *) + ((const char *)ptr + elm->memb_offset); + } + + return asn_TYPE_outmost_tag(elm->type, memb_ptr, + elm->tag_mode, elm->tag); + } else { + return (ber_tlv_tag_t)-1; + } +} + +/* + * See the definitions. + */ +static const void *_get_member_ptr(const asn_TYPE_descriptor_t *, + const void *sptr, asn_TYPE_member_t **elm, + unsigned *present); + +int +CHOICE_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + unsigned present; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* + * Figure out which CHOICE element is encoded. + */ + present = _fetch_present_idx(sptr, specs->pres_offset,specs->pres_size); + if(present > 0 && present <= td->elements_count) { + asn_TYPE_member_t *elm = &td->elements[present-1]; + const void *memb_ptr; + + if(elm->flags & ATF_POINTER) { + memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) { + if(elm->optional) + return 0; + ASN__CTFAIL(app_key, td, sptr, + "%s: mandatory CHOICE element %s absent (%s:%d)", + td->name, elm->name, __FILE__, __LINE__); + return -1; + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + if(elm->encoding_constraints.general_constraints) { + return elm->encoding_constraints.general_constraints(elm->type, memb_ptr, + ctfailcb, app_key); + } else { + return elm->type->encoding_constraints.general_constraints(elm->type, + memb_ptr, ctfailcb, app_key); + } + } else { + ASN__CTFAIL(app_key, td, sptr, + "%s: no CHOICE element given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } +} + +void +CHOICE_free(const asn_TYPE_descriptor_t *td, void *ptr, + enum asn_struct_free_method method) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + unsigned present; + + if(!td || !ptr) + return; + + ASN_DEBUG("Freeing %s as CHOICE", td->name); + + /* + * Figure out which CHOICE element is encoded. + */ + present = _fetch_present_idx(ptr, specs->pres_offset, specs->pres_size); + + /* + * Free that element. + */ + if(present > 0 && present <= td->elements_count) { + asn_TYPE_member_t *elm = &td->elements[present-1]; + void *memb_ptr; + + if(elm->flags & ATF_POINTER) { + memb_ptr = *(void **)((char *)ptr + elm->memb_offset); + if(memb_ptr) + ASN_STRUCT_FREE(*elm->type, memb_ptr); + } else { + memb_ptr = (void *)((char *)ptr + elm->memb_offset); + ASN_STRUCT_FREE_CONTENTS_ONLY(*elm->type, memb_ptr); + } + } + + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(ptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset(ptr, 0, specs->struct_size); + break; + } +} + + +/* + * The following functions functions offer protection against -fshort-enums, + * compatible with little- and big-endian machines. + * If assertion is triggered, either disable -fshort-enums, or add an entry + * here with the ->pres_size of your target stracture. + * Unless the target structure is packed, the ".present" member + * is guaranteed to be aligned properly. ASN.1 compiler itself does not + * produce packed code. + */ +unsigned +_fetch_present_idx(const void *struct_ptr, unsigned pres_offset, + unsigned pres_size) { + const void *present_ptr; + unsigned present; + + present_ptr = ((const char *)struct_ptr) + pres_offset; + + switch(pres_size) { + case sizeof(int): present = *(const unsigned int *)present_ptr; break; + case sizeof(short): present = *(const unsigned short *)present_ptr; break; + case sizeof(char): present = *(const unsigned char *)present_ptr; break; + default: + /* ANSI C mandates enum to be equivalent to integer */ + assert(pres_size != sizeof(int)); + return 0; /* If not aborted, pass back safe value */ + } + + return present; +} + +void +_set_present_idx(void *struct_ptr, unsigned pres_offset, unsigned pres_size, + unsigned present) { + void *present_ptr; + present_ptr = ((char *)struct_ptr) + pres_offset; + + switch(pres_size) { + case sizeof(int): *(unsigned int *)present_ptr = present; break; + case sizeof(short): *(unsigned short *)present_ptr = present; break; + case sizeof(char): *(unsigned char *)present_ptr = present; break; + default: + /* ANSI C mandates enum to be equivalent to integer */ + assert(pres_size != sizeof(int)); + } +} + +static const void * +_get_member_ptr(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_TYPE_member_t **elm_ptr, unsigned *present_out) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + unsigned present; + + if(!sptr) { + *elm_ptr = NULL; + *present_out = 0; + return NULL; + } + + /* + * Figure out which CHOICE element is encoded. + */ + present = _fetch_present_idx(sptr, specs->pres_offset, specs->pres_size); + *present_out = present; + + /* + * The presence index is intentionally 1-based to avoid + * treating zeroed structure as a valid one. + */ + if(present > 0 && present <= td->elements_count) { + asn_TYPE_member_t *const elm = &td->elements[present - 1]; + const void *memb_ptr; + + if(elm->flags & ATF_POINTER) { + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + *elm_ptr = elm; + return memb_ptr; + } else { + *elm_ptr = NULL; + return NULL; + } + +} + +int +CHOICE_compare(const asn_TYPE_descriptor_t *td, const void *aptr, const void *bptr) { + asn_TYPE_member_t *aelm; + asn_TYPE_member_t *belm; + unsigned apresent = 0; + unsigned bpresent = 0; + const void *amember = _get_member_ptr(td, aptr, &aelm, &apresent); + const void *bmember = _get_member_ptr(td, bptr, &belm, &bpresent); + + if(amember && bmember) { + if(apresent == bpresent) { + assert(aelm == belm); + return aelm->type->op->compare_struct(aelm->type, amember, bmember); + } else if(apresent < bpresent) { + return -1; + } else { + return 1; + } + } else if(!amember) { + return -1; + } else { + return 1; + } +} + +/* + * Return the 1-based choice variant presence index. + * Returns 0 in case of error. + */ +unsigned +CHOICE_variant_get_presence(const asn_TYPE_descriptor_t *td, const void *sptr) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + return _fetch_present_idx(sptr, specs->pres_offset, specs->pres_size); +} + +/* + * Sets or resets the 1-based choice variant presence index. + * In case a previous index is not zero, the currently selected structure + * member is freed and zeroed-out first. + * Returns 0 on success and -1 on error. + */ +int +CHOICE_variant_set_presence(const asn_TYPE_descriptor_t *td, void *sptr, + unsigned present) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + unsigned old_present; + + if(!sptr) { + return -1; + } + + if(present > td->elements_count) + return -1; + + old_present = + _fetch_present_idx(sptr, specs->pres_offset, specs->pres_size); + if(present == old_present) + return 0; + + if(old_present != 0) { + assert(old_present <= td->elements_count); + ASN_STRUCT_RESET(*td, sptr); + } + + _set_present_idx(sptr, specs->pres_offset, specs->pres_size, present); + + return 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_CHOICE.h b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE.h deleted file mode 100644 index 03d606c88..000000000 --- a/src/tmx/Asn_J2735/src/r2024/constr_CHOICE.h +++ /dev/null @@ -1,119 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _CONSTR_CHOICE_H_ -#define _CONSTR_CHOICE_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct asn_CHOICE_specifics_s { - /* - * Target structure description. - */ - unsigned struct_size; /* Size of the target structure. */ - unsigned ctx_offset; /* Offset of the asn_codec_ctx_t member */ - unsigned pres_offset; /* Identifier of the present member */ - unsigned pres_size; /* Size of the identifier (enum) */ - - /* - * Tags to members mapping table. - */ - const asn_TYPE_tag2member_t *tag2el; - unsigned tag2el_count; - - /* Canonical ordering of CHOICE elements, for PER */ - const unsigned *to_canonical_order; - const unsigned *from_canonical_order; - - /* - * Extensions-related stuff. - */ - signed ext_start; /* First member of extensions, or -1 */ -} asn_CHOICE_specifics_t; - -/* - * A set specialized functions dealing with the CHOICE type. - */ -asn_struct_free_f CHOICE_free; - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -asn_struct_print_f CHOICE_print; -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -asn_struct_compare_f CHOICE_compare; - -asn_constr_check_f CHOICE_constraint; - -#if !defined(ASN_DISABLE_BER_SUPPORT) -ber_type_decoder_f CHOICE_decode_ber; -der_type_encoder_f CHOICE_encode_der; -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -xer_type_decoder_f CHOICE_decode_xer; -xer_type_encoder_f CHOICE_encode_xer; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f CHOICE_encode_jer; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -oer_type_decoder_f CHOICE_decode_oer; -oer_type_encoder_f CHOICE_encode_oer; -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -per_type_decoder_f CHOICE_decode_uper; -per_type_encoder_f CHOICE_encode_uper; -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -per_type_decoder_f CHOICE_decode_aper; -per_type_encoder_f CHOICE_encode_aper; -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -asn_random_fill_f CHOICE_random_fill; -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -asn_outmost_tag_f CHOICE_outmost_tag; - -extern asn_TYPE_operation_t asn_OP_CHOICE; - -unsigned _fetch_present_idx( - const void *struct_ptr, - unsigned off, - unsigned size); - -void _set_present_idx( - void *sptr, - unsigned offset, - unsigned size, - unsigned present); - -/* - * Return the 1-based choice variant presence index. - * Returns 0 in case of error. - */ -unsigned CHOICE_variant_get_presence(const asn_TYPE_descriptor_t *td, - const void *structure_ptr); - -/* - * Sets or resets the 1-based choice variant presence index. - * In case a previous index is not zero, the currently selected structure - * member is freed and zeroed-out first. - * Returns 0 on success and -1 on error. - */ -int CHOICE_variant_set_presence(const asn_TYPE_descriptor_t *td, - void *structure_ptr, unsigned present); - -#ifdef __cplusplus -} -#endif - -#endif /* _CONSTR_CHOICE_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_aper.c b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_aper.c new file mode 100644 index 000000000..88daaf2c0 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_aper.c @@ -0,0 +1,181 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +asn_dec_rval_t +CHOICE_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; + asn_dec_rval_t rv; + const asn_per_constraint_t *ct = NULL; + asn_TYPE_member_t *elm = NULL; /* CHOICE's element */ + void *memb_ptr = NULL; + void **memb_ptr2 = NULL; + void *st = *sptr; + int value = 0; + + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + ASN__DECODE_FAILED; + + /* + * Create the target structure if it is not present already. + */ + if(!st) { + st = *sptr = CALLOC(1, specs->struct_size); + if(!st) ASN__DECODE_FAILED; + } + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->value; + else ct = 0; + + if(ct && ct->flags & APC_EXTENSIBLE) { + value = per_get_few_bits(pd, 1); + if(value < 0) ASN__DECODE_STARVED; + if(value) ct = 0; /* Not restricted */ + } + + if(ct && ct->range_bits >= 0) { + value = per_get_few_bits(pd, ct->range_bits); + if(value < 0) ASN__DECODE_STARVED; + ASN_DEBUG("CHOICE %s got index %d in range %d", + td->name, value, ct->range_bits); + if(value > ct->upper_bound) + ASN__DECODE_FAILED; + } else { + if(specs->ext_start == -1) + ASN__DECODE_FAILED; + + if (ct && ct->upper_bound >= ct->lower_bound) { + value = aper_get_nsnnwn(pd, ct->upper_bound - ct->lower_bound + 1); + if(value < 0) ASN__DECODE_STARVED; + value += specs->ext_start; + if((unsigned)value >= td->elements_count) + ASN__DECODE_FAILED; + } + } + + /* Adjust if canonical order is different from natural order */ + if(specs->from_canonical_order) + value = specs->from_canonical_order[value]; + + /* Set presence to be able to free it later */ + _set_present_idx(st, specs->pres_offset, specs->pres_size, value + 1); + + elm = &td->elements[value]; + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + ASN_DEBUG("Discovered CHOICE %s encodes %s", td->name, elm->name); + + if(ct && ct->range_bits >= 0) { + rv = elm->type->op->aper_decoder(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, memb_ptr2, pd); + } else { + rv = aper_open_type_get(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, memb_ptr2, pd); + } + + if(rv.code != RC_OK) + ASN_DEBUG("Failed to decode %s in %s (CHOICE) %d", + elm->name, td->name, rv.code); + return rv; +} + +asn_enc_rval_t +CHOICE_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; + const asn_TYPE_member_t *elm; /* CHOICE's element */ + const asn_per_constraint_t *ct; + const void *memb_ptr; + int present; + + if(!sptr) ASN__ENCODE_FAILED; + + ASN_DEBUG("Encoding %s as CHOICE using ALIGNED PER", td->name); + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->value; + else ct = 0; + + present = _fetch_present_idx(sptr, + specs->pres_offset, specs->pres_size); + + /* + * If the structure was not initialized properly, it cannot be encoded: + * can't deduce what to encode in the choice type. + */ + if(present <= 0 || (unsigned)present > td->elements_count) + ASN__ENCODE_FAILED; + else + present--; + + /* Adjust if canonical order is different from natural order */ + if(specs->to_canonical_order) + present = specs->to_canonical_order[present]; + + ASN_DEBUG("Encoding %s CHOICE element %d", td->name, present); + + if(ct && ct->range_bits >= 0) { + if(present < ct->lower_bound + || present > ct->upper_bound) { + if(ct->flags & APC_EXTENSIBLE) { + if(per_put_few_bits(po, 1, 1)) + ASN__ENCODE_FAILED; + } else { + ASN__ENCODE_FAILED; + } + ct = 0; + } + } + if(ct && ct->flags & APC_EXTENSIBLE) { + if(per_put_few_bits(po, 0, 1)) + ASN__ENCODE_FAILED; + } + + elm = &td->elements[present]; + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr = *(const void *const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) ASN__ENCODE_FAILED; + } else { + memb_ptr = (const char *)sptr + elm->memb_offset; + } + + if(ct && ct->range_bits >= 0) { + if(per_put_few_bits(po, present, ct->range_bits)) + ASN__ENCODE_FAILED; + + return elm->type->op->aper_encoder(elm->type, elm->encoding_constraints.per_constraints, + memb_ptr, po); + } else { + asn_enc_rval_t rval = {0,0,0}; + if(specs->ext_start == -1) + ASN__ENCODE_FAILED; + int n = present - specs->ext_start; + if(n <= 63) { + if(n < 0) ASN__ENCODE_FAILED; + if(per_put_few_bits(po, n, 7)) ASN__ENCODE_FAILED; + } else + ASN__ENCODE_FAILED; + if(aper_open_type_put(elm->type, elm->encoding_constraints.per_constraints, + memb_ptr, po)) + ASN__ENCODE_FAILED; + rval.encoded = 0; + ASN__ENCODED_OK(rval); + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_ber.c b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_ber.c new file mode 100644 index 000000000..7ad42c763 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_ber.c @@ -0,0 +1,447 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * Number of bytes left for this structure. + * (ctx->left) indicates the number of bytes _transferred_ for the structure. + * (size) contains the number of bytes in the buffer passed. + */ +#define LEFT ((size<(size_t)ctx->left)?size:(size_t)ctx->left) + +/* + * If the subprocessor function returns with an indication that it wants + * more data, it may well be a fatal decoding problem, because the + * size is constrained by the 's L, even if the buffer size allows + * reading more data. + * For example, consider the buffer containing the following TLVs: + * ... + * The TLV length clearly indicates that one byte is expected in V, but + * if the V processor returns with "want more data" even if the buffer + * contains way more data than the V processor have seen. + */ +#define SIZE_VIOLATION (ctx->left >= 0 && (size_t)ctx->left <= size) + +/* + * This macro "eats" the part of the buffer which is definitely "consumed", + * i.e. was correctly converted into local representation or rightfully skipped. + */ +#undef ADVANCE +#define ADVANCE(num_bytes) \ + do { \ + size_t num = num_bytes; \ + ptr = ((const char *)ptr) + num; \ + size -= num; \ + if(ctx->left >= 0) \ + ctx->left -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Switch to the next phase of parsing. + */ +#undef NEXT_PHASE +#define NEXT_PHASE(ctx) \ + do { \ + ctx->phase++; \ + ctx->step = 0; \ + } while(0) + +/* + * Return a standardized complex structure. + */ +#undef RETURN +#define RETURN(_code) \ + do { \ + rval.code = _code; \ + rval.consumed = consumed_myself; \ + return rval; \ + } while(0) + +/* + * Tags are canonically sorted in the tag to member table. + */ +static int +_search4tag(const void *ap, const void *bp) { + const asn_TYPE_tag2member_t *a = (const asn_TYPE_tag2member_t *)ap; + const asn_TYPE_tag2member_t *b = (const asn_TYPE_tag2member_t *)bp; + + int a_class = BER_TAG_CLASS(a->el_tag); + int b_class = BER_TAG_CLASS(b->el_tag); + + if(a_class == b_class) { + ber_tlv_tag_t a_value = BER_TAG_VALUE(a->el_tag); + ber_tlv_tag_t b_value = BER_TAG_VALUE(b->el_tag); + + if(a_value == b_value) + return 0; + else if(a_value < b_value) + return -1; + else + return 1; + } else if(a_class < b_class) { + return -1; + } else { + return 1; + } +} + +/* + * The decoder of the CHOICE type. + */ +asn_dec_rval_t +CHOICE_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **struct_ptr, + const void *ptr, size_t size, int tag_mode) { + /* + * Bring closer parts of structure description. + */ + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + asn_TYPE_member_t *elements = td->elements; + + /* + * Parts of the structure being constructed. + */ + void *st = *struct_ptr; /* Target structure. */ + asn_struct_ctx_t *ctx; /* Decoder context */ + + ber_tlv_tag_t tlv_tag; /* T from TLV */ + ssize_t tag_len; /* Length of TLV's T */ + asn_dec_rval_t rval; /* Return code from subparsers */ + + ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ + + ASN_DEBUG("Decoding %s as CHOICE", td->name); + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) { + RETURN(RC_FAIL); + } + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + /* + * Start to parse where left previously + */ + switch(ctx->phase) { + case 0: + /* + * PHASE 0. + * Check that the set of tags associated with given structure + * perfectly fits our expectations. + */ + + if(tag_mode || td->tags_count) { + rval = ber_check_tags(opt_codec_ctx, td, ctx, ptr, size, + tag_mode, -1, &ctx->left, 0); + if(rval.code != RC_OK) { + ASN_DEBUG("%s tagging check failed: %d", + td->name, rval.code); + return rval; + } + + if(ctx->left >= 0) { + /* ?Subtracted below! */ + ctx->left += rval.consumed; + } + ADVANCE(rval.consumed); + } else { + ctx->left = -1; + } + + NEXT_PHASE(ctx); + + ASN_DEBUG("Structure consumes %ld bytes, buffer %ld", + (long)ctx->left, (long)size); + + /* Fall through */ + case 1: + /* + * Fetch the T from TLV. + */ + tag_len = ber_fetch_tag(ptr, LEFT, &tlv_tag); + ASN_DEBUG("In %s CHOICE tag length %d", td->name, (int)tag_len); + switch(tag_len) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + do { + const asn_TYPE_tag2member_t *t2m; + asn_TYPE_tag2member_t key; + + key.el_tag = tlv_tag; + t2m = (const asn_TYPE_tag2member_t *)bsearch(&key, + specs->tag2el, specs->tag2el_count, + sizeof(specs->tag2el[0]), _search4tag); + if(t2m) { + /* + * Found the element corresponding to the tag. + */ + NEXT_PHASE(ctx); + ctx->step = t2m->el_no; + break; + } else if(specs->ext_start == -1) { + ASN_DEBUG("Unexpected tag %s " + "in non-extensible CHOICE %s", + ber_tlv_tag_string(tlv_tag), td->name); + RETURN(RC_FAIL); + } else { + /* Skip this tag */ + ssize_t skip; + + ASN_DEBUG("Skipping unknown tag %s", + ber_tlv_tag_string(tlv_tag)); + + skip = ber_skip_length(opt_codec_ctx, + BER_TLV_CONSTRUCTED(ptr), + (const char *)ptr + tag_len, + LEFT - tag_len); + + switch(skip) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + ADVANCE(skip + tag_len); + RETURN(RC_OK); + } + } while(0); + + case 2: + /* + * PHASE 2. + * Read in the element. + */ + do { + asn_TYPE_member_t *elm;/* CHOICE's element */ + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + + elm = &elements[ctx->step]; + + /* + * Compute the position of the member inside a structure, + * and also a type of containment (it may be contained + * as pointer or using inline inclusion). + */ + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + /* + * A pointer to a pointer + * holding the start of the structure + */ + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + /* Set presence to be able to free it properly at any time */ + _set_present_idx(st, specs->pres_offset, + specs->pres_size, ctx->step + 1); + /* + * Invoke the member fetch routine according to member's type + */ + rval = elm->type->op->ber_decoder(opt_codec_ctx, elm->type, + memb_ptr2, ptr, LEFT, + elm->tag_mode); + switch(rval.code) { + case RC_OK: + break; + case RC_WMORE: /* More data expected */ + if(!SIZE_VIOLATION) { + ADVANCE(rval.consumed); + RETURN(RC_WMORE); + } + RETURN(RC_FAIL); + case RC_FAIL: /* Fatal error */ + RETURN(rval.code); + } /* switch(rval) */ + + ADVANCE(rval.consumed); + } while(0); + + NEXT_PHASE(ctx); + + /* Fall through */ + case 3: + ASN_DEBUG("CHOICE %s Leftover: %ld, size = %ld, tm=%d, tc=%d", + td->name, (long)ctx->left, (long)size, + tag_mode, td->tags_count); + + if(ctx->left > 0) { + /* + * The type must be fully decoded + * by the CHOICE member-specific decoder. + */ + RETURN(RC_FAIL); + } + + if(ctx->left == -1 + && !(tag_mode || td->tags_count)) { + /* + * This is an untagged CHOICE. + * It doesn't contain nothing + * except for the member itself, including all its tags. + * The decoding is completed. + */ + NEXT_PHASE(ctx); + break; + } + + /* + * Read in the "end of data chunks"'s. + */ + while(ctx->left < 0) { + ssize_t tl; + + tl = ber_fetch_tag(ptr, LEFT, &tlv_tag); + switch(tl) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + /* + * Expected <0><0>... + */ + if(((const uint8_t *)ptr)[0] == 0) { + if(LEFT < 2) { + if(SIZE_VIOLATION) + RETURN(RC_FAIL); + else + RETURN(RC_WMORE); + } else if(((const uint8_t *)ptr)[1] == 0) { + /* + * Correctly finished with <0><0>. + */ + ADVANCE(2); + ctx->left++; + continue; + } + } else { + ASN_DEBUG("Unexpected continuation in %s", + td->name); + RETURN(RC_FAIL); + } + + /* UNREACHABLE */ + } + + NEXT_PHASE(ctx); + case 4: + /* No meaningful work here */ + break; + } + + RETURN(RC_OK); +} + +asn_enc_rval_t +CHOICE_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, + void *app_key) { + const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; + asn_TYPE_member_t *elm; /* CHOICE element */ + asn_enc_rval_t erval = {0,0,0}; + const void *memb_ptr; + size_t computed_size = 0; + unsigned present; + + if(!sptr) ASN__ENCODE_FAILED; + + ASN_DEBUG("%s %s as CHOICE", + cb ? "Encoding" : "Estimating", td->name); + + present = _fetch_present_idx(sptr, + specs->pres_offset, specs->pres_size); + + /* + * If the structure was not initialized, it cannot be encoded: + * can't deduce what to encode in the choice type. + */ + if(present == 0 || present > td->elements_count) { + if(present == 0 && td->elements_count == 0) { + /* The CHOICE is empty?! */ + erval.encoded = 0; + ASN__ENCODED_OK(erval); + } + ASN__ENCODE_FAILED; + } + + /* + * Seek over the present member of the structure. + */ + elm = &td->elements[present-1]; + if(elm->flags & ATF_POINTER) { + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + if(memb_ptr == 0) { + if(elm->optional) { + erval.encoded = 0; + ASN__ENCODED_OK(erval); + } + /* Mandatory element absent */ + ASN__ENCODE_FAILED; + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + /* + * If the CHOICE itself is tagged EXPLICIT: + * T ::= [2] EXPLICIT CHOICE { ... } + * Then emit the appropriate tags. + */ + if(tag_mode == 1 || td->tags_count) { + /* + * For this, we need to pre-compute the member. + */ + ssize_t ret; + + /* Encode member with its tag */ + erval = elm->type->op->der_encoder(elm->type, memb_ptr, + elm->tag_mode, + elm->tag, 0, 0); + if(erval.encoded == -1) + return erval; + + /* Encode CHOICE with parent or my own tag */ + ret = der_write_tags(td, erval.encoded, tag_mode, 1, tag, + cb, app_key); + if(ret == -1) + ASN__ENCODE_FAILED; + computed_size += ret; + } + + /* + * Encode the single underlying member. + */ + erval = elm->type->op->der_encoder(elm->type, memb_ptr, + elm->tag_mode, elm->tag, + cb, app_key); + if(erval.encoded == -1) + return erval; + + ASN_DEBUG("Encoded CHOICE member in %ld bytes (+%ld)", + (long)erval.encoded, (long)computed_size); + + erval.encoded += computed_size; + + return erval; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_oer.c b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_oer.c new file mode 100644 index 000000000..bc71a01cd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_oer.c @@ -0,0 +1,375 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * Return a standardized complex structure. + */ +#undef RETURN +#define RETURN(_code) \ + do { \ + asn_dec_rval_t rval; \ + rval.code = _code; \ + rval.consumed = consumed_myself; \ + return rval; \ + } while(0) + +#undef ADVANCE +#define ADVANCE(num_bytes) \ + do { \ + size_t num = num_bytes; \ + ptr = ((const char *)ptr) + num; \ + size -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Switch to the next phase of parsing. + */ +#undef NEXT_PHASE +#define NEXT_PHASE(ctx) \ + do { \ + ctx->phase++; \ + ctx->step = 0; \ + } while(0) +#undef SET_PHASE +#define SET_PHASE(ctx, value) \ + do { \ + ctx->phase = value; \ + ctx->step = 0; \ + } while(0) + +/* + * Tags are canonically sorted in the tag to member table. + */ +static int +_search4tag(const void *ap, const void *bp) { + const asn_TYPE_tag2member_t *a = (const asn_TYPE_tag2member_t *)ap; + const asn_TYPE_tag2member_t *b = (const asn_TYPE_tag2member_t *)bp; + + int a_class = BER_TAG_CLASS(a->el_tag); + int b_class = BER_TAG_CLASS(b->el_tag); + + if(a_class == b_class) { + ber_tlv_tag_t a_value = BER_TAG_VALUE(a->el_tag); + ber_tlv_tag_t b_value = BER_TAG_VALUE(b->el_tag); + + if(a_value == b_value) + return 0; + else if(a_value < b_value) + return -1; + else + return 1; + } else if(a_class < b_class) { + return -1; + } else { + return 1; + } +} + +/* + * X.696 (08/2015) #8.7 Encoding of tags + */ +static ssize_t +oer_fetch_tag(const void *ptr, size_t size, ber_tlv_tag_t *tag_r) { + ber_tlv_tag_t val; + ber_tlv_tag_t tclass; + size_t skipped; + + if(size == 0) + return 0; + + val = *(const uint8_t *)ptr; + tclass = (val >> 6); + if((val & 0x3F) != 0x3F) { + /* #8.7.1 */ + *tag_r = ((val & 0x3F) << 2) | tclass; + return 1; + } + + /* + * Each octet contains 7 bits of useful information. + * The MSB is 0 if it is the last octet of the tag. + */ + for(val = 0, ptr = ((const char *)ptr) + 1, skipped = 2; skipped <= size; + ptr = ((const char *)ptr) + 1, skipped++) { + unsigned int oct = *(const uint8_t *)ptr; + if(oct & 0x80) { + val = (val << 7) | (oct & 0x7F); + /* + * Make sure there are at least 9 bits spare + * at the MS side of a value. + */ + if(val >> ((8 * sizeof(val)) - 9)) { + /* + * We would not be able to accommodate + * any more tag bits. + */ + return -1; + } + } else { + val = (val << 7) | oct; + *tag_r = (val << 2) | tclass; + return skipped; + } + } + + return 0; /* Want more */ +} + +asn_dec_rval_t +CHOICE_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, void **struct_ptr, + const void *ptr, size_t size) { + /* + * Bring closer parts of structure description. + */ + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + asn_TYPE_member_t *elements = td->elements; + + /* + * Parts of the structure being constructed. + */ + void *st = *struct_ptr; /* Target structure. */ + asn_struct_ctx_t *ctx; /* Decoder context */ + + ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ + + (void)constraints; + + ASN_DEBUG("Decoding %s as CHOICE", td->name); + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) { + RETURN(RC_FAIL); + } + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + switch(ctx->phase) { + case 0: { + /* + * Discover the tag. + */ + ber_tlv_tag_t tlv_tag; /* T from TLV */ + ssize_t tag_len; /* Length of TLV's T */ + + tag_len = oer_fetch_tag(ptr, size, &tlv_tag); + switch(tag_len) { + case 0: + ASN__DECODE_STARVED; + case -1: + ASN__DECODE_FAILED; + } + + do { + const asn_TYPE_tag2member_t *t2m; + asn_TYPE_tag2member_t key = {0, 0, 0, 0}; + key.el_tag = tlv_tag; + + t2m = (const asn_TYPE_tag2member_t *)bsearch( + &key, specs->tag2el, specs->tag2el_count, + sizeof(specs->tag2el[0]), _search4tag); + if(t2m) { + /* + * Found the element corresponding to the tag. + */ + NEXT_PHASE(ctx); + ctx->step = t2m->el_no; + break; + } else if(specs->ext_start == -1) { + ASN_DEBUG( + "Unexpected tag %s " + "in non-extensible CHOICE %s", + ber_tlv_tag_string(tlv_tag), td->name); + RETURN(RC_FAIL); + } else { + /* Skip open type extension */ + ASN_DEBUG( + "Not implemented skipping open type extension for tag %s", + ber_tlv_tag_string(tlv_tag)); + RETURN(RC_FAIL); + } + } while(0); + + + ADVANCE(tag_len); + } + /* Fall through */ + case 1: { + asn_TYPE_member_t *elm = &elements[ctx->step]; /* CHOICE's element */ + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + asn_dec_rval_t rval = {0,0}; + + /* + * Compute the position of the member inside a structure, + * and also a type of containment (it may be contained + * as pointer or using inline inclusion). + */ + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + /* + * A pointer to a pointer + * holding the start of the structure + */ + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + + /* Set presence to be able to free it properly at any time */ + (void)CHOICE_variant_set_presence(td, st, ctx->step + 1); + + if(specs->ext_start >= 0 && specs->ext_start <= ctx->step) { + ssize_t got = + oer_open_type_get(opt_codec_ctx, elm->type, + elm->encoding_constraints.oer_constraints, + memb_ptr2, ptr, size); + if(got < 0) ASN__DECODE_FAILED; + if(got == 0) ASN__DECODE_STARVED; + rval.code = RC_OK; + rval.consumed = got; + } else { + rval = elm->type->op->oer_decoder( + opt_codec_ctx, elm->type, + elm->encoding_constraints.oer_constraints, memb_ptr2, ptr, + size); + } + rval.consumed += consumed_myself; + switch(rval.code) { + case RC_OK: + NEXT_PHASE(ctx); + case RC_WMORE: + break; + case RC_FAIL: + SET_PHASE(ctx, 3); /* => 3 */ + } + return rval; + } + case 2: + /* Already decoded everything */ + RETURN(RC_OK); + case 3: + /* Failed to decode, after all */ + RETURN(RC_FAIL); + } + + RETURN(RC_FAIL); +} + +/* + * X.696 (08/2015) #8.7 Encoding of tags + */ +static ssize_t +oer_put_tag(ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, void *app_key) { + uint8_t tclass = BER_TAG_CLASS(tag); + ber_tlv_tag_t tval = BER_TAG_VALUE(tag); + + if(tval < 0x3F) { + uint8_t b = (uint8_t)((tclass << 6) | tval); + if(cb(&b, 1, app_key) < 0) { + return -1; + } + return 1; + } else { + uint8_t buf[1 + 2 * sizeof(tval)]; + uint8_t *b = &buf[sizeof(buf)-1]; /* Last addressable */ + size_t encoded; + for(; ; tval >>= 7) { + if(tval >> 7) { + *b-- = 0x80 | (tval & 0x7f); + } else { + *b-- = tval & 0x7f; + break; + } + } + *b = (uint8_t)((tclass << 6) | 0x3F); + encoded = sizeof(buf) - (b - buf); + if(cb(b, encoded, app_key) < 0) { + return -1; + } + return encoded; + } + +} + +/* + * Encode as Canonical OER. + */ +asn_enc_rval_t +CHOICE_encode_oer(const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, const void *sptr, + asn_app_consume_bytes_f *cb, void *app_key) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + asn_TYPE_member_t *elm; /* CHOICE element */ + unsigned present; + const void *memb_ptr; + ber_tlv_tag_t tag; + ssize_t tag_len; + asn_enc_rval_t er = {0, 0, 0}; + + (void)constraints; + + if(!sptr) ASN__ENCODE_FAILED; + + ASN_DEBUG("OER %s encoding as CHOICE", td->name); + + present = CHOICE_variant_get_presence(td, sptr); + if(present == 0 || present > td->elements_count) { + ASN_DEBUG("CHOICE %s member is not selected", td->name); + ASN__ENCODE_FAILED; + } + + elm = &td->elements[present-1]; + if(elm->flags & ATF_POINTER) { + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + if(memb_ptr == 0) { + /* Mandatory element absent */ + ASN__ENCODE_FAILED; + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + tag = asn_TYPE_outmost_tag(elm->type, memb_ptr, elm->tag_mode, elm->tag); + if(tag == 0) { + ASN__ENCODE_FAILED; + } + + tag_len = oer_put_tag(tag, cb, app_key); + if(tag_len < 0) { + ASN__ENCODE_FAILED; + } + + if(specs->ext_start >= 0 && (unsigned)specs->ext_start <= (present-1)) { + ssize_t encoded = oer_open_type_put(elm->type, + elm->encoding_constraints.oer_constraints, + memb_ptr, cb, app_key); + if(encoded < 0) ASN__ENCODE_FAILED; + er.encoded = tag_len + encoded; + } else { + er = elm->type->op->oer_encoder( + elm->type, elm->encoding_constraints.oer_constraints, memb_ptr, cb, + app_key); + if(er.encoded >= 0) er.encoded += tag_len; + } + + return er; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_print.c b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_print.c new file mode 100644 index 000000000..a97202fc2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_print.c @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +int +CHOICE_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + asn_app_consume_bytes_f *cb, void *app_key) { + const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; + unsigned present; + + if(!sptr) return (cb("", 8, app_key) < 0) ? -1 : 0; + + /* + * Figure out which CHOICE element is encoded. + */ + present = _fetch_present_idx(sptr, specs->pres_offset,specs->pres_size); + + /* + * Print that element. + */ + if(present > 0 && present <= td->elements_count) { + asn_TYPE_member_t *elm = &td->elements[present-1]; + const void *memb_ptr; + + if(elm->flags & ATF_POINTER) { + memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) return (cb("", 8, app_key) < 0) ? -1 : 0; + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + /* Print member's name and stuff */ + if(0) { + if(cb(elm->name, strlen(elm->name), app_key) < 0 + || cb(": ", 2, app_key) < 0) + return -1; + } + + return elm->type->op->print_struct(elm->type, memb_ptr, ilevel, + cb, app_key); + } else { + return (cb("", 8, app_key) < 0) ? -1 : 0; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_rfill.c b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_rfill.c new file mode 100644 index 000000000..fd0a10163 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_rfill.c @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_random_fill_result_t +CHOICE_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constr, + size_t max_length) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + asn_random_fill_result_t res; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + const asn_TYPE_member_t *elm; + unsigned present; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + void *st = *sptr; + + if(max_length == 0) return result_skipped; + + (void)constr; + + if(st == NULL) { + st = CALLOC(1, specs->struct_size); + if(st == NULL) { + return result_failed; + } + } + + present = asn_random_between(1, td->elements_count); + elm = &td->elements[present - 1]; + + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + + res = elm->type->op->random_fill(elm->type, memb_ptr2, + &elm->encoding_constraints, max_length); + _set_present_idx(st, specs->pres_offset, specs->pres_size, present); + if(res.code == ARFILL_OK) { + *sptr = st; + } else { + if(st == *sptr) { + ASN_STRUCT_RESET(*td, st); + } else { + ASN_STRUCT_FREE(*td, st); + } + } + + return res; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_uper.c b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_uper.c new file mode 100644 index 000000000..77aab6d6a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_uper.c @@ -0,0 +1,191 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +asn_dec_rval_t +CHOICE_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + asn_dec_rval_t rv; + const asn_per_constraint_t *ct; + asn_TYPE_member_t *elm; /* CHOICE's element */ + void *memb_ptr; + void **memb_ptr2; + void *st = *sptr; + int value; + + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + ASN__DECODE_FAILED; + + /* + * Create the target structure if it is not present already. + */ + if(!st) { + st = *sptr = CALLOC(1, specs->struct_size); + if(!st) ASN__DECODE_FAILED; + } + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) ct = &td->encoding_constraints.per_constraints->value; + else ct = 0; + + if(ct && ct->flags & APC_EXTENSIBLE) { + value = per_get_few_bits(pd, 1); + if(value < 0) ASN__DECODE_STARVED; + if(value) ct = 0; /* Not restricted */ + } + + if(ct && ct->range_bits >= 0) { + value = per_get_few_bits(pd, ct->range_bits); + if(value < 0) ASN__DECODE_STARVED; + ASN_DEBUG("CHOICE %s got index %d in range %d", + td->name, value, ct->range_bits); + if(value > ct->upper_bound) + ASN__DECODE_FAILED; + } else { + if(specs->ext_start == -1) + ASN__DECODE_FAILED; + value = uper_get_nsnnwn(pd); + if(value < 0) ASN__DECODE_STARVED; + value += specs->ext_start; + if((unsigned)value >= td->elements_count) + ASN__DECODE_FAILED; + } + + /* Adjust if canonical order is different from natural order */ + if(specs->from_canonical_order) { + ASN_DEBUG("CHOICE presence from wire %d", value); + value = specs->from_canonical_order[value]; + ASN_DEBUG("CHOICE presence index effective %d", value); + } + + /* Set presence to be able to free it later */ + _set_present_idx(st, specs->pres_offset, specs->pres_size, value + 1); + + elm = &td->elements[value]; + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + ASN_DEBUG("Discovered CHOICE %s encodes %s", td->name, elm->name); + + if(ct && ct->range_bits >= 0) { + rv = elm->type->op->uper_decoder(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, + memb_ptr2, pd); + } else { + rv = uper_open_type_get(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, + memb_ptr2, pd); + } + + if(rv.code != RC_OK) + ASN_DEBUG("Failed to decode %s in %s (CHOICE) %d", + elm->name, td->name, rv.code); + return rv; +} + +asn_enc_rval_t +CHOICE_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; + asn_TYPE_member_t *elm; /* CHOICE's element */ + const asn_per_constraint_t *ct; + const void *memb_ptr; + unsigned present; + int present_enc; + + if(!sptr) ASN__ENCODE_FAILED; + + ASN_DEBUG("Encoding %s as CHOICE", td->name); + + if(constraints) ct = &constraints->value; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->value; + else ct = 0; + + present = _fetch_present_idx(sptr, specs->pres_offset, specs->pres_size); + + /* + * If the structure was not initialized properly, it cannot be encoded: + * can't deduce what to encode in the choice type. + */ + if(present == 0 || present > td->elements_count) + ASN__ENCODE_FAILED; + else + present--; + + ASN_DEBUG("Encoding %s CHOICE element %d", td->name, present); + + /* Adjust if canonical order is different from natural order */ + if(specs->to_canonical_order) + present_enc = specs->to_canonical_order[present]; + else + present_enc = present; + + if(ct && ct->range_bits >= 0) { + if(present_enc < ct->lower_bound + || present_enc > ct->upper_bound) { + if(ct->flags & APC_EXTENSIBLE) { + ASN_DEBUG( + "CHOICE member %d (enc %d) is an extension (%ld..%ld)", + present, present_enc, ct->lower_bound, ct->upper_bound); + if(per_put_few_bits(po, 1, 1)) + ASN__ENCODE_FAILED; + } else { + ASN__ENCODE_FAILED; + } + ct = 0; + } + } + if(ct && ct->flags & APC_EXTENSIBLE) { + ASN_DEBUG("CHOICE member %d (enc %d) is not an extension (%ld..%ld)", + present, present_enc, ct->lower_bound, ct->upper_bound); + if(per_put_few_bits(po, 0, 1)) + ASN__ENCODE_FAILED; + } + + + elm = &td->elements[present]; + ASN_DEBUG("CHOICE member \"%s\" %d (as %d)", elm->name, present, + present_enc); + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) ASN__ENCODE_FAILED; + } else { + memb_ptr = (const char *)sptr + elm->memb_offset; + } + + if(ct && ct->range_bits >= 0) { + if(per_put_few_bits(po, present_enc, ct->range_bits)) + ASN__ENCODE_FAILED; + + return elm->type->op->uper_encoder( + elm->type, elm->encoding_constraints.per_constraints, memb_ptr, po); + } else { + asn_enc_rval_t rval = {0,0,0}; + if(specs->ext_start == -1) ASN__ENCODE_FAILED; + if(uper_put_nsnnwn(po, present_enc - specs->ext_start)) + ASN__ENCODE_FAILED; + if(uper_open_type_put(elm->type, + elm->encoding_constraints.per_constraints, + memb_ptr, po)) + ASN__ENCODE_FAILED; + rval.encoded = 0; + ASN__ENCODED_OK(rval); + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_xer.c b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_xer.c new file mode 100644 index 000000000..45b4290a8 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_CHOICE_xer.c @@ -0,0 +1,316 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * Return a standardized complex structure. + */ +#undef RETURN +#define RETURN(_code) \ + do { \ + rval.code = _code; \ + rval.consumed = consumed_myself; \ + return rval; \ + } while(0) + +#undef XER_ADVANCE +#define XER_ADVANCE(num_bytes) \ + do { \ + size_t num = num_bytes; \ + buf_ptr = (const void *)(((const char *)buf_ptr) + num); \ + size -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Decode the XER (XML) data. + */ +asn_dec_rval_t +CHOICE_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **struct_ptr, + const char *opt_mname, const void *buf_ptr, size_t size) { + /* + * Bring closer parts of structure description. + */ + const asn_CHOICE_specifics_t *specs = (const asn_CHOICE_specifics_t *)td->specifics; + const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; + + /* + * Parts of the structure being constructed. + */ + void *st = *struct_ptr; /* Target structure. */ + asn_struct_ctx_t *ctx; /* Decoder context */ + + asn_dec_rval_t rval; /* Return value of a decoder */ + ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ + size_t edx; /* Element index */ + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) RETURN(RC_FAIL); + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + if(ctx->phase == 0 && !*xml_tag) + ctx->phase = 1; /* Skip the outer tag checking phase */ + + /* + * Phases of XER/XML processing: + * Phase 0: Check that the opening tag matches our expectations. + * Phase 1: Processing body and reacting on closing tag. + * Phase 2: Processing inner type. + * Phase 3: Only waiting for closing tag. + * Phase 4: Skipping unknown extensions. + * Phase 5: PHASED OUT + */ + for(edx = ctx->step; ctx->phase <= 4;) { + pxer_chunk_type_e ch_type; /* XER chunk type */ + ssize_t ch_size; /* Chunk size */ + xer_check_tag_e tcv; /* Tag check value */ + asn_TYPE_member_t *elm; + + /* + * Go inside the member. + */ + if(ctx->phase == 2) { + asn_dec_rval_t tmprval; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + unsigned old_present; + + elm = &td->elements[edx]; + + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + + elm->memb_offset); + } else { + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + + /* Start/Continue decoding the inner member */ + tmprval = elm->type->op->xer_decoder(opt_codec_ctx, + elm->type, memb_ptr2, + elm->name, + buf_ptr, size); + XER_ADVANCE(tmprval.consumed); + ASN_DEBUG("XER/CHOICE: itdf: [%s] code=%d", + elm->type->name, tmprval.code); + old_present = _fetch_present_idx(st, + specs->pres_offset, + specs->pres_size); + assert(old_present == 0 || old_present == edx + 1); + /* Record what we've got */ + _set_present_idx(st, + specs->pres_offset, + specs->pres_size, edx + 1); + if(tmprval.code != RC_OK) + RETURN(tmprval.code); + ctx->phase = 3; + /* Fall through */ + } + + /* No need to wait for closing tag; special mode. */ + if(ctx->phase == 3 && !*xml_tag) { + ctx->phase = 5; /* Phase out */ + RETURN(RC_OK); + } + + /* + * Get the next part of the XML stream. + */ + ch_size = xer_next_token(&ctx->context, buf_ptr, size, &ch_type); + if(ch_size == -1) { + RETURN(RC_FAIL); + } else { + switch(ch_type) { + case PXER_WMORE: + RETURN(RC_WMORE); + case PXER_COMMENT: /* Got XML comment */ + case PXER_TEXT: /* Ignore free-standing text */ + XER_ADVANCE(ch_size); /* Skip silently */ + continue; + case PXER_TAG: + break; /* Check the rest down there */ + } + } + + tcv = xer_check_tag(buf_ptr, ch_size, xml_tag); + ASN_DEBUG("XER/CHOICE checked [%c%c%c%c] vs [%s], tcv=%d", + ch_size>0?((const uint8_t *)buf_ptr)[0]:'?', + ch_size>1?((const uint8_t *)buf_ptr)[1]:'?', + ch_size>2?((const uint8_t *)buf_ptr)[2]:'?', + ch_size>3?((const uint8_t *)buf_ptr)[3]:'?', + xml_tag, tcv); + + /* Skip the extensions section */ + if(ctx->phase == 4) { + ASN_DEBUG("skip_unknown(%d, %ld)", + tcv, (long)ctx->left); + switch(xer_skip_unknown(tcv, &ctx->left)) { + case -1: + ctx->phase = 5; + RETURN(RC_FAIL); + case 1: + ctx->phase = 3; + /* Fall through */ + case 0: + XER_ADVANCE(ch_size); + continue; + case 2: + ctx->phase = 3; + break; + } + } + + switch(tcv) { + case XCT_BOTH: + break; /* No CHOICE? */ + case XCT_CLOSING: + if(ctx->phase != 3) + break; + XER_ADVANCE(ch_size); + ctx->phase = 5; /* Phase out */ + RETURN(RC_OK); + case XCT_OPENING: + if(ctx->phase == 0) { + XER_ADVANCE(ch_size); + ctx->phase = 1; /* Processing body phase */ + continue; + } + /* Fall through */ + case XCT_UNKNOWN_OP: + case XCT_UNKNOWN_BO: + + if(ctx->phase != 1) + break; /* Really unexpected */ + + /* + * Search which inner member corresponds to this tag. + */ + for(edx = 0; edx < td->elements_count; edx++) { + elm = &td->elements[edx]; + tcv = xer_check_tag(buf_ptr,ch_size,elm->name); + switch(tcv) { + case XCT_BOTH: + case XCT_OPENING: + /* + * Process this member. + */ + ctx->step = edx; + ctx->phase = 2; + break; + case XCT_UNKNOWN_OP: + case XCT_UNKNOWN_BO: + continue; + default: + edx = td->elements_count; + break; /* Phase out */ + } + break; + } + if(edx != td->elements_count) + continue; + + /* It is expected extension */ + if(specs->ext_start != -1) { + ASN_DEBUG("Got anticipated extension"); + /* + * Check for (XCT_BOTH or XCT_UNKNOWN_BO) + * By using a mask. Only record a pure + * tags. + */ + if(tcv & XCT_CLOSING) { + /* Found without body */ + ctx->phase = 3; /* Terminating */ + } else { + ctx->left = 1; + ctx->phase = 4; /* Skip ...'s */ + } + XER_ADVANCE(ch_size); + continue; + } + + /* Fall through */ + default: + break; + } + + ASN_DEBUG("Unexpected XML tag [%c%c%c%c] in CHOICE [%s]" + " (ph=%d, tag=%s)", + ch_size>0?((const uint8_t *)buf_ptr)[0]:'?', + ch_size>1?((const uint8_t *)buf_ptr)[1]:'?', + ch_size>2?((const uint8_t *)buf_ptr)[2]:'?', + ch_size>3?((const uint8_t *)buf_ptr)[3]:'?', + td->name, ctx->phase, xml_tag); + break; + } + + ctx->phase = 5; /* Phase out, just in case */ + RETURN(RC_FAIL); +} + +asn_enc_rval_t +CHOICE_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, + void *app_key) { + const asn_CHOICE_specifics_t *specs = + (const asn_CHOICE_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + unsigned present = 0; + + if(!sptr) + ASN__ENCODE_FAILED; + + /* + * Figure out which CHOICE element is encoded. + */ + present = _fetch_present_idx(sptr, specs->pres_offset,specs->pres_size); + + if(present == 0 || present > td->elements_count) { + ASN__ENCODE_FAILED; + } else { + asn_enc_rval_t tmper = {0,0,0}; + asn_TYPE_member_t *elm = &td->elements[present-1]; + const void *memb_ptr = NULL; + const char *mname = elm->name; + unsigned int mlen = strlen(mname); + + if(elm->flags & ATF_POINTER) { + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) ASN__ENCODE_FAILED; + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + er.encoded = 0; + + if(!(flags & XER_F_CANONICAL)) ASN__TEXT_INDENT(1, ilevel); + ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); + + tmper = elm->type->op->xer_encoder(elm->type, memb_ptr, + ilevel + 1, flags, cb, app_key); + if(tmper.encoded == -1) return tmper; + er.encoded += tmper.encoded; + + ASN__CALLBACK3("", 1); + } + + if(!(flags & XER_F_CANONICAL)) ASN__TEXT_INDENT(1, ilevel - 1); + + ASN__ENCODED_OK(er); +cb_failed: + ASN__ENCODE_FAILED; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE.c b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE.c new file mode 100644 index 000000000..8397d0c1b --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE.c @@ -0,0 +1,197 @@ +/* + * Copyright (c) 2003-2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_TYPE_operation_t asn_OP_SEQUENCE = { + SEQUENCE_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + SEQUENCE_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + SEQUENCE_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + SEQUENCE_decode_ber, + SEQUENCE_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + SEQUENCE_decode_xer, + SEQUENCE_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + SEQUENCE_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + SEQUENCE_decode_oer, + SEQUENCE_encode_oer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + SEQUENCE_decode_uper, + SEQUENCE_encode_uper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + SEQUENCE_decode_aper, + SEQUENCE_encode_aper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + SEQUENCE_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; + +void +SEQUENCE_free(const asn_TYPE_descriptor_t *td, void *sptr, + enum asn_struct_free_method method) { + size_t edx; + const asn_SEQUENCE_specifics_t *specs = + (const asn_SEQUENCE_specifics_t *)td->specifics; + asn_struct_ctx_t *ctx; /* Decoder context */ + + if(!td || !sptr) + return; + + ASN_DEBUG("Freeing %s as SEQUENCE", td->name); + + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + void *memb_ptr; + if(elm->flags & ATF_POINTER) { + memb_ptr = *(void **)((char *)sptr + elm->memb_offset); + if(memb_ptr) + ASN_STRUCT_FREE(*elm->type, memb_ptr); + } else { + memb_ptr = (void *)((char *)sptr + elm->memb_offset); + ASN_STRUCT_FREE_CONTENTS_ONLY(*elm->type, memb_ptr); + } + } + + /* Clean parsing context */ + ctx = (asn_struct_ctx_t *)((char *)sptr + specs->ctx_offset); + FREEMEM(ctx->ptr); + + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(sptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset( + sptr, 0, + ((const asn_SEQUENCE_specifics_t *)(td->specifics))->struct_size); + break; + } +} + +int +SEQUENCE_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + size_t edx; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + /* + * Iterate over structure members and check their validity. + */ + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr; + asn_constr_check_f *constr; + int ret; + + if(elm->flags & ATF_POINTER) { + memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) { + if(elm->optional) + continue; + ASN__CTFAIL(app_key, td, sptr, + "%s: mandatory element %s absent (%s:%d)", + td->name, elm->name, __FILE__, __LINE__); + return -1; + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + constr = elm->encoding_constraints.general_constraints; + if(!constr) + constr = elm->type->encoding_constraints.general_constraints; + + ret = constr(elm->type, memb_ptr, ctfailcb, app_key); + if(ret) return ret; + } + + return 0; +} + +int +SEQUENCE_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + size_t edx; + + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *amemb; + const void *bmemb; + int ret; + + if(elm->flags & ATF_POINTER) { + amemb = + *(const void *const *)((const char *)aptr + elm->memb_offset); + bmemb = + *(const void *const *)((const char *)bptr + elm->memb_offset); + if(!amemb) { + if(!bmemb) continue; + if(elm->default_value_cmp + && elm->default_value_cmp(bmemb) == 0) { + /* A is absent, but B is present and equal to DEFAULT */ + continue; + } + return -1; + } else if(!bmemb) { + if(elm->default_value_cmp + && elm->default_value_cmp(amemb) == 0) { + /* B is absent, but A is present and equal to DEFAULT */ + continue; + } + return 1; + } + } else { + amemb = (const void *)((const char *)aptr + elm->memb_offset); + bmemb = (const void *)((const char *)bptr + elm->memb_offset); + } + + ret = elm->type->op->compare_struct(elm->type, amemb, bmemb); + if(ret != 0) return ret; + } + + return 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE.h b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE.h deleted file mode 100644 index 5ecfd8f22..000000000 --- a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE.h +++ /dev/null @@ -1,95 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _CONSTR_SEQUENCE_H_ -#define _CONSTR_SEQUENCE_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct asn_SEQUENCE_specifics_s { - /* - * Target structure description. - */ - unsigned struct_size; /* Size of the target structure. */ - unsigned ctx_offset; /* Offset of the asn_struct_ctx_t member */ - - /* - * Tags to members mapping table (sorted). - */ - const asn_TYPE_tag2member_t *tag2el; - unsigned tag2el_count; - - /* - * Optional members of the extensions root (roms) or additions (aoms). - * Meaningful for PER. - */ - const int *oms; /* Optional MemberS */ - unsigned roms_count; /* Root optional members count */ - unsigned aoms_count; /* Additions optional members count */ - - /* - * Description of an extensions group. - * Root components are clustered at the beginning of the structure, - * whereas extensions are clustered at the end. -1 means not extensible. - */ - signed first_extension; /* First extension addition */ -} asn_SEQUENCE_specifics_t; - - -/* - * A set specialized functions dealing with the SEQUENCE type. - */ -asn_struct_free_f SEQUENCE_free; - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -asn_struct_print_f SEQUENCE_print; -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -asn_struct_compare_f SEQUENCE_compare; - -asn_constr_check_f SEQUENCE_constraint; - -#if !defined(ASN_DISABLE_BER_SUPPORT) -ber_type_decoder_f SEQUENCE_decode_ber; -der_type_encoder_f SEQUENCE_encode_der; -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -xer_type_decoder_f SEQUENCE_decode_xer; -xer_type_encoder_f SEQUENCE_encode_xer; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f SEQUENCE_encode_jer; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -oer_type_decoder_f SEQUENCE_decode_oer; -oer_type_encoder_f SEQUENCE_encode_oer; -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -per_type_decoder_f SEQUENCE_decode_uper; -per_type_encoder_f SEQUENCE_encode_uper; -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -per_type_decoder_f SEQUENCE_decode_aper; -per_type_encoder_f SEQUENCE_encode_aper; -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -asn_random_fill_f SEQUENCE_random_fill; -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -extern asn_TYPE_operation_t asn_OP_SEQUENCE; - -#ifdef __cplusplus -} -#endif - -#endif /* _CONSTR_SEQUENCE_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF.c b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF.c new file mode 100644 index 000000000..9c5d6cded --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF.c @@ -0,0 +1,92 @@ +/*- + * Copyright (c) 2003, 2004, 2006 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +asn_TYPE_operation_t asn_OP_SEQUENCE_OF = { + SEQUENCE_OF_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + SEQUENCE_OF_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + SEQUENCE_OF_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + SEQUENCE_OF_decode_ber, + SEQUENCE_OF_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + SEQUENCE_OF_decode_xer, + SEQUENCE_OF_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + SEQUENCE_OF_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + SEQUENCE_OF_decode_oer, /* Same as SET OF decoder. */ + SEQUENCE_OF_encode_oer, /* Same as SET OF encoder */ +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + SEQUENCE_OF_decode_uper, /* Same as SET OF decoder */ + SEQUENCE_OF_encode_uper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + SEQUENCE_OF_decode_aper, + SEQUENCE_OF_encode_aper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + SEQUENCE_OF_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; + +int +SEQUENCE_OF_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + const asn_anonymous_sequence_ *a = _A_CSEQUENCE_FROM_VOID(aptr); + const asn_anonymous_sequence_ *b = _A_CSEQUENCE_FROM_VOID(bptr); + ssize_t idx; + + if(a && b) { + ssize_t common_length = (a->count < b->count ? a->count : b->count); + for(idx = 0; idx < common_length; idx++) { + int ret = td->elements->type->op->compare_struct( + td->elements->type, a->array[idx], b->array[idx]); + if(ret) return ret; + } + + if(idx < b->count) /* more elements in b */ + return -1; /* a is shorter, so put it first */ + if(idx < a->count) return 1; + + } else if(!a) { + return -1; + } else if(!b) { + return 1; + } + + return 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF.h b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF.h deleted file mode 100644 index 1768582bf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF.h +++ /dev/null @@ -1,67 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _CONSTR_SEQUENCE_OF_H_ -#define _CONSTR_SEQUENCE_OF_H_ - -#include -#include /* Implemented using SET OF */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * A set specialized functions dealing with the SEQUENCE OF type. - * Generally implemented using SET OF. - */ -#define SEQUENCE_OF_free SET_OF_free - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -#define SEQUENCE_OF_print SET_OF_print -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -asn_struct_compare_f SEQUENCE_OF_compare; - -#define SEQUENCE_OF_constraint SET_OF_constraint - -#if !defined(ASN_DISABLE_BER_SUPPORT) -#define SEQUENCE_OF_decode_ber SET_OF_decode_ber -der_type_encoder_f SEQUENCE_OF_encode_der; -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -#define SEQUENCE_OF_decode_xer SET_OF_decode_xer -xer_type_encoder_f SEQUENCE_OF_encode_xer; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f SEQUENCE_OF_encode_jer; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -#define SEQUENCE_OF_decode_oer SET_OF_decode_oer -#define SEQUENCE_OF_encode_oer SET_OF_encode_oer -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -#define SEQUENCE_OF_decode_uper SET_OF_decode_uper -per_type_encoder_f SEQUENCE_OF_encode_uper; -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -#define SEQUENCE_OF_decode_aper SET_OF_decode_aper -per_type_encoder_f SEQUENCE_OF_encode_aper; -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -#define SEQUENCE_OF_random_fill SET_OF_random_fill -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -extern asn_TYPE_operation_t asn_OP_SEQUENCE_OF; - -#ifdef __cplusplus -} -#endif - -#endif /* _CONSTR_SET_OF_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_aper.c b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_aper.c new file mode 100644 index 000000000..ff3ae8bc1 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_aper.c @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +asn_enc_rval_t +SEQUENCE_OF_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_anonymous_sequence_ *list; + const asn_per_constraint_t *ct; + asn_enc_rval_t er = {0,0,0}; + asn_TYPE_member_t *elm = td->elements; + int seq; + + if(!sptr) ASN__ENCODE_FAILED; + list = _A_CSEQUENCE_FROM_VOID(sptr); + + er.encoded = 0; + + ASN_DEBUG("Encoding %s as SEQUENCE OF size (%d) using ALIGNED PER", td->name, list->count); + + if(constraints) ct = &constraints->size; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->size; + else ct = 0; + + /* If extensible constraint, check if size is in root */ + if(ct) { + int not_in_root = (list->count < ct->lower_bound + || list->count > ct->upper_bound); + ASN_DEBUG("lb %lld ub %lld %s", + (long long int)ct->lower_bound, + (long long int)ct->upper_bound, + ct->flags & APC_EXTENSIBLE ? "ext" : "fix"); + if(ct->flags & APC_EXTENSIBLE) { + /* Declare whether size is in extension root */ + if(per_put_few_bits(po, not_in_root, 1)) + ASN__ENCODE_FAILED; + if(not_in_root) ct = 0; + } else if(not_in_root && ct->effective_bits >= 0) + ASN__ENCODE_FAILED; + } + + if(ct && ct->effective_bits >= 0) { + /* X.691, #19.5: No length determinant */ +/* + if(per_put_few_bits(po, list->count - ct->lower_bound, + ct->effective_bits)) + ASN__ENCODE_FAILED; +*/ + if (ct->lower_bound == ct->upper_bound && ct->upper_bound < 65536) { + /* No length determinant */ + } else if (aper_put_length(po, ct->lower_bound, ct->upper_bound, list->count - ct->lower_bound, 0) < 0) + ASN__ENCODE_FAILED; + } + + for(seq = -1; seq < list->count;) { + ssize_t mayEncode; + int need_eom = 0; + if(seq < 0) seq = 0; + if(ct && ct->effective_bits >= 0) { + mayEncode = list->count; + } else { + mayEncode = aper_put_length(po, -1, -1, list->count - seq, &need_eom); + if(mayEncode < 0) ASN__ENCODE_FAILED; + } + + while(mayEncode--) { + void *memb_ptr = list->array[seq++]; + if(!memb_ptr) ASN__ENCODE_FAILED; + er = elm->type->op->aper_encoder(elm->type, + elm->encoding_constraints.per_constraints, + memb_ptr, po); + if(er.encoded == -1) + ASN__ENCODE_FAILED; + } + + if(need_eom && (aper_put_length(po, -1, -1, 0, NULL) < 0)) + ASN__ENCODE_FAILED; /* End of Message length */ + } + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_ber.c b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_ber.c new file mode 100644 index 000000000..178f8654d --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_ber.c @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * The DER encoder of the SEQUENCE OF type. + */ +asn_enc_rval_t +SEQUENCE_OF_encode_der(const asn_TYPE_descriptor_t *td, const void *ptr, + int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_TYPE_member_t *elm = td->elements; + const asn_anonymous_sequence_ *list = _A_CSEQUENCE_FROM_VOID(ptr); + size_t computed_size = 0; + ssize_t encoding_size = 0; + asn_enc_rval_t erval = {0,0,0}; + int edx; + + ASN_DEBUG("Estimating size of SEQUENCE OF %s", td->name); + + /* + * Gather the length of the underlying members sequence. + */ + for(edx = 0; edx < list->count; edx++) { + void *memb_ptr = list->array[edx]; + if(!memb_ptr) continue; + erval = elm->type->op->der_encoder(elm->type, memb_ptr, + 0, elm->tag, + 0, 0); + if(erval.encoded == -1) + return erval; + computed_size += erval.encoded; + } + + /* + * Encode the TLV for the sequence itself. + */ + encoding_size = der_write_tags(td, computed_size, tag_mode, 1, tag, + cb, app_key); + if(encoding_size == -1) { + erval.encoded = -1; + erval.failed_type = td; + erval.structure_ptr = ptr; + return erval; + } + + computed_size += encoding_size; + if(!cb) { + erval.encoded = computed_size; + ASN__ENCODED_OK(erval); + } + + ASN_DEBUG("Encoding members of SEQUENCE OF %s", td->name); + + /* + * Encode all members. + */ + for(edx = 0; edx < list->count; edx++) { + void *memb_ptr = list->array[edx]; + if(!memb_ptr) continue; + erval = elm->type->op->der_encoder(elm->type, memb_ptr, + 0, elm->tag, + cb, app_key); + if(erval.encoded == -1) + return erval; + encoding_size += erval.encoded; + } + + if(computed_size != (size_t)encoding_size) { + /* + * Encoded size is not equal to the computed size. + */ + erval.encoded = -1; + erval.failed_type = td; + erval.structure_ptr = ptr; + } else { + erval.encoded = computed_size; + erval.structure_ptr = 0; + erval.failed_type = 0; + } + + return erval; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_uper.c b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_uper.c new file mode 100644 index 000000000..eb20a0701 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_uper.c @@ -0,0 +1,92 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +asn_enc_rval_t +SEQUENCE_OF_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_anonymous_sequence_ *list; + const asn_per_constraint_t *ct; + asn_enc_rval_t er = {0,0,0}; + const asn_TYPE_member_t *elm = td->elements; + size_t encoded_edx; + + if(!sptr) ASN__ENCODE_FAILED; + list = _A_CSEQUENCE_FROM_VOID(sptr); + + er.encoded = 0; + + ASN_DEBUG("Encoding %s as SEQUENCE OF (%d)", td->name, list->count); + + if(constraints) ct = &constraints->size; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->size; + else ct = 0; + + /* If extensible constraint, check if size is in root */ + if(ct) { + int not_in_root = + (list->count < ct->lower_bound || list->count > ct->upper_bound); + ASN_DEBUG("lb %ld ub %ld %s", ct->lower_bound, ct->upper_bound, + ct->flags & APC_EXTENSIBLE ? "ext" : "fix"); + if(ct->flags & APC_EXTENSIBLE) { + /* Declare whether size is in extension root */ + if(per_put_few_bits(po, not_in_root, 1)) ASN__ENCODE_FAILED; + if(not_in_root) ct = 0; + } else if(not_in_root && ct->effective_bits >= 0) { + ASN__ENCODE_FAILED; + } + + } + + if(ct && ct->effective_bits >= 0) { + /* X.691, #19.5: No length determinant */ + if(per_put_few_bits(po, list->count - ct->lower_bound, + ct->effective_bits)) + ASN__ENCODE_FAILED; + } else if(list->count == 0) { + /* When the list is empty add only the length determinant + * X.691, #20.6 and #11.9.4.1 + */ + if (uper_put_length(po, 0, 0)) { + ASN__ENCODE_FAILED; + } + ASN__ENCODED_OK(er); + } + + for(encoded_edx = 0; (ssize_t)encoded_edx < list->count;) { + ssize_t may_encode; + size_t edx; + int need_eom = 0; + + if(ct && ct->effective_bits >= 0) { + may_encode = list->count; + } else { + may_encode = + uper_put_length(po, list->count - encoded_edx, &need_eom); + if(may_encode < 0) ASN__ENCODE_FAILED; + } + + for(edx = encoded_edx; edx < encoded_edx + may_encode; edx++) { + void *memb_ptr = list->array[edx]; + if(!memb_ptr) ASN__ENCODE_FAILED; + er = elm->type->op->uper_encoder( + elm->type, elm->encoding_constraints.per_constraints, memb_ptr, + po); + if(er.encoded == -1) ASN__ENCODE_FAILED; + } + + if(need_eom && uper_put_length(po, 0, 0)) + ASN__ENCODE_FAILED; /* End of Message length */ + + encoded_edx += may_encode; + } + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_xer.c b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_xer.c new file mode 100644 index 000000000..7bd323677 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_OF_xer.c @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +asn_enc_rval_t +SEQUENCE_OF_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t er = {0,0,0}; + const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; + const asn_TYPE_member_t *elm = td->elements; + const asn_anonymous_sequence_ *list = _A_CSEQUENCE_FROM_VOID(sptr); + const char *mname = specs->as_XMLValueList + ? 0 + : ((*elm->name) ? elm->name : elm->type->xml_tag); + size_t mlen = mname ? strlen(mname) : 0; + int xcan = (flags & XER_F_CANONICAL); + int i; + + if(!sptr) ASN__ENCODE_FAILED; + + er.encoded = 0; + + for(i = 0; i < list->count; i++) { + asn_enc_rval_t tmper = {0,0,0}; + void *memb_ptr = list->array[i]; + if(!memb_ptr) continue; + + if(mname) { + if(!xcan) ASN__TEXT_INDENT(1, ilevel); + ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); + } + + tmper = elm->type->op->xer_encoder(elm->type, memb_ptr, ilevel + 1, + flags, cb, app_key); + if(tmper.encoded == -1) return tmper; + er.encoded += tmper.encoded; + if(tmper.encoded == 0 && specs->as_XMLValueList) { + const char *name = elm->type->xml_tag; + size_t len = strlen(name); + if(!xcan) ASN__TEXT_INDENT(1, ilevel + 1); + ASN__CALLBACK3("<", 1, name, len, "/>", 2); + } + + if(mname) { + ASN__CALLBACK3("", 1); + } + } + + if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1); + + ASN__ENCODED_OK(er); +cb_failed: + ASN__ENCODE_FAILED; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_aper.c b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_aper.c new file mode 100644 index 000000000..895b6daf3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_aper.c @@ -0,0 +1,457 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include + +/* + * Check whether we are inside the extensions group. + */ +#define IN_EXTENSION_GROUP(specs, memb_idx) \ + ((specs)->first_extension >= 0 \ + && (unsigned)(specs)->first_extension <= (memb_idx)) + +asn_dec_rval_t +SEQUENCE_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + const asn_SEQUENCE_specifics_t *specs = (const asn_SEQUENCE_specifics_t *)td->specifics; + void *st = *sptr; /* Target structure. */ + int extpresent; /* Extension additions are present */ + uint8_t *opres; /* Presence of optional root members */ + asn_per_data_t opmd; + asn_dec_rval_t rv; + size_t edx; + + (void)constraints; + + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + ASN__DECODE_FAILED; + + if(!st) { + st = *sptr = CALLOC(1, specs->struct_size); + if(!st) ASN__DECODE_FAILED; + } + + ASN_DEBUG("Decoding %s as SEQUENCE (APER)", td->name); + + /* Handle extensions */ + if(specs->first_extension < 0) { + extpresent = 0; + } else { + extpresent = per_get_few_bits(pd, 1); + if(extpresent < 0) ASN__DECODE_STARVED; + } + + /* Prepare a place and read-in the presence bitmap */ + memset(&opmd, 0, sizeof(opmd)); + if(specs->roms_count) { + opres = (uint8_t *)MALLOC(((specs->roms_count + 7) >> 3) + 1); + if(!opres) ASN__DECODE_FAILED; + /* Get the presence map */ + if(per_get_many_bits(pd, opres, 0, specs->roms_count)) { + FREEMEM(opres); + ASN__DECODE_STARVED; + } + opmd.buffer = opres; + opmd.nbits = specs->roms_count; + ASN_DEBUG("Read in presence bitmap for %s of %d bits (%x..)", + td->name, specs->roms_count, *opres); + } else { + opres = 0; + } + + /* + * Get the sequence ROOT elements. + */ + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ +#if 0 + int padding; +#endif + + if(IN_EXTENSION_GROUP(specs, edx)) + continue; + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } +#if 0 + /* Get Padding */ + padding = (8 - (pd->moved % 8)) % 8; + if(padding > 0) + ASN_DEBUG("For element %s,offset= %ld Padding bits = %d", td->name, pd->moved, padding); +#if 0 /* old way of removing padding */ + per_get_few_bits(pd, padding); +#else /* Experimental fix proposed by @mhanna123 */ + if(edx != (td->elements_count-1)) + per_get_few_bits(pd, padding); + else { + if(specs->roms_count && (padding > 0)) + ASN_DEBUG(">>>>> not skipping padding of %d bits for element:%ld out of %d", padding, edx, td->elements_count); + else + per_get_few_bits(pd, padding); + } +#endif /* dealing with padding */ +#endif + /* Deal with optionality */ + if(elm->optional) { + int present = per_get_few_bits(&opmd, 1); + ASN_DEBUG("Member %s->%s is optional, p=%d (%d->%d)", + td->name, elm->name, present, + (int)opmd.nboff, (int)opmd.nbits); + if(present == 0) { + /* This element is not present */ + if(elm->default_value_set) { + /* Fill-in DEFAULT */ + if(elm->default_value_set(memb_ptr2)) { + FREEMEM(opres); + ASN__DECODE_FAILED; + } + ASN_DEBUG("Filled-in default"); + } + /* The member is just not present */ + continue; + } + /* Fall through */ + } + + /* Fetch the member from the stream */ + ASN_DEBUG("Decoding member \"%s\" in %s", elm->name, td->name); + + if(elm->flags & ATF_OPEN_TYPE) { + if (OPEN_TYPE_aper_is_unknown_type(td, st, elm)) { + rv = OPEN_TYPE_aper_unknown_type_discard_bytes(pd); + FREEMEM(opres); + return rv; + } + rv = OPEN_TYPE_aper_get(opt_codec_ctx, td, st, elm, pd); + } else { + rv = elm->type->op->aper_decoder(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, + memb_ptr2, pd); + } + if(rv.code != RC_OK) { + ASN_DEBUG("Failed decode %s in %s", + elm->name, td->name); + FREEMEM(opres); + return rv; + } + } + + /* Optionality map is not needed anymore */ + FREEMEM(opres); + + /* + * Deal with extensions. + */ + if(extpresent) { + ssize_t bmlength; + uint8_t *epres; /* Presence of extension members */ + asn_per_data_t epmd; + + bmlength = aper_get_nslength(pd); + if(bmlength < 0) ASN__DECODE_STARVED; + + ASN_DEBUG("Extensions %" ASN_PRI_SSIZE " present in %s", bmlength, td->name); + + epres = (uint8_t *)MALLOC((bmlength + 15) >> 3); + if(!epres) ASN__DECODE_STARVED; + + /* Get the extensions map */ + if(per_get_many_bits(pd, epres, 0, bmlength)) + ASN__DECODE_STARVED; + + memset(&epmd, 0, sizeof(epmd)); + epmd.buffer = epres; + epmd.nbits = bmlength; + ASN_DEBUG("Read in extensions bitmap for %s of %zd bits (%x..)", + td->name, bmlength, *epres); + + /* Deal with padding */ + if (aper_get_align(pd) < 0) + ASN__DECODE_STARVED; + + /* Go over extensions and read them in */ + for(edx = specs->first_extension; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + int present; + + if(!IN_EXTENSION_GROUP(specs, edx)) { + ASN_DEBUG("%zu is not extension", edx); + continue; + } + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (void *)((char *)st + elm->memb_offset); + memb_ptr2 = &memb_ptr; + } + + present = per_get_few_bits(&epmd, 1); + if(present <= 0) { + if(present < 0) break; /* No more extensions */ + continue; + } + + ASN_DEBUG("Decoding member %s in %s %p", elm->name, td->name, *memb_ptr2); + rv = aper_open_type_get(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, + memb_ptr2, pd); + if(rv.code != RC_OK) { + FREEMEM(epres); + return rv; + } + } + + /* Skip over overflow extensions which aren't present + * in this system's version of the protocol */ + for(;;) { + ASN_DEBUG("Getting overflow extensions"); + switch(per_get_few_bits(&epmd, 1)) { + case -1: + break; + case 0: + continue; + default: + if(aper_open_type_skip(opt_codec_ctx, pd)) { + FREEMEM(epres); + ASN__DECODE_STARVED; + } + } + break; + } + + FREEMEM(epres); + } + + /* Fill DEFAULT members in extensions */ + for(edx = specs->roms_count; edx < specs->roms_count + + specs->aoms_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + void **memb_ptr2; /* Pointer to member pointer */ + + if(!elm->default_value_set) continue; + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + if(*memb_ptr2) continue; + } else { + continue; /* Extensions are all optionals */ + } + + /* Set default value */ + if(elm->default_value_set(memb_ptr2)) { + ASN__DECODE_FAILED; + } + } + + rv.consumed = 0; + rv.code = RC_OK; + return rv; +} + +static int +SEQUENCE_handle_extensions_aper(const asn_TYPE_descriptor_t *td, + const void *sptr, + asn_per_outp_t *po1, asn_per_outp_t *po2) { + const asn_SEQUENCE_specifics_t *specs + = (const asn_SEQUENCE_specifics_t *)td->specifics; + int exts_present = 0; + int exts_count = 0; + size_t edx; + + if(specs->first_extension < 0) { + return 0; + } + + /* Find out which extensions are present */ + for(edx = specs->first_extension; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr; /* Pointer to the member */ + const void * const *memb_ptr2; /* Pointer to that pointer */ + int present; + + if(!IN_EXTENSION_GROUP(specs, edx)) { + ASN_DEBUG("%s (@%zu) is not extension", elm->type->name, edx); + continue; + } + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (const void * const *)((const char *)sptr + elm->memb_offset); + present = (*memb_ptr2 != 0); + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + present = 1; + } + + ASN_DEBUG("checking %s (@%zu) present => %d", + elm->type->name, edx, present); + exts_count++; + exts_present += present; + + /* Encode as presence marker */ + if(po1 && per_put_few_bits(po1, present, 1)) + return -1; + /* Encode as open type field */ + if(po2 && present && aper_open_type_put(elm->type, + elm->encoding_constraints.per_constraints, + *memb_ptr2, po2)) + return -1; + + } + + return exts_present ? exts_count : 0; +} + +asn_enc_rval_t +SEQUENCE_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, asn_per_outp_t *po) { + const asn_SEQUENCE_specifics_t *specs + = (const asn_SEQUENCE_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + int n_extensions; + size_t edx; + size_t i; + + (void)constraints; + + if(!sptr) + ASN__ENCODE_FAILED; + + er.encoded = 0; + + ASN_DEBUG("Encoding %s as SEQUENCE (APER)", td->name); + + /* + * X.691#18.1 Whether structure is extensible + * and whether to encode extensions + */ + if(specs->first_extension < 0) { + n_extensions = 0; /* There are no extensions to encode */ + } else { + n_extensions = SEQUENCE_handle_extensions_aper(td, sptr, 0, 0); + if(n_extensions < 0) ASN__ENCODE_FAILED; + if(per_put_few_bits(po, n_extensions ? 1 : 0, 1)) { + ASN__ENCODE_FAILED; + } + } + + /* Encode a presence bitmap */ + for(i = 0; i < specs->roms_count; i++) { + asn_TYPE_member_t *elm; + const void *memb_ptr; /* Pointer to the member */ + const void * const *memb_ptr2; /* Pointer to that pointer */ + int present; + + edx = specs->oms[i]; + elm = &td->elements[edx]; + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (const void * const *)((const char *)sptr + elm->memb_offset); + present = (*memb_ptr2 != 0); + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + present = 1; + } + + /* Eliminate default values */ + if(present && elm->default_value_cmp + && elm->default_value_cmp(*memb_ptr2) == 0) + present = 0; + + ASN_DEBUG("Element %s %s %s->%s is %s", + elm->flags & ATF_POINTER ? "ptr" : "inline", + elm->default_value_cmp ? "def" : "wtv", + td->name, elm->name, present ? "present" : "absent"); + if(per_put_few_bits(po, present, 1)) + ASN__ENCODE_FAILED; + } + + /* + * Encode the sequence ROOT elements. + */ + ASN_DEBUG("first_extension = %d, elements = %d", specs->first_extension, + td->elements_count); + for(edx = 0; + edx < ((specs->first_extension < 0) ? td->elements_count + : (size_t)specs->first_extension); + edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr; /* Pointer to the member */ + const void * const *memb_ptr2; /* Pointer to that pointer */ + + if(IN_EXTENSION_GROUP(specs, edx)) + continue; + + ASN_DEBUG("About to encode %s", elm->type->name); + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (const void * const *)((const char *)sptr + elm->memb_offset); + if(!*memb_ptr2) { + ASN_DEBUG("Element %s %zu not present", + elm->name, edx); + if(elm->optional) + continue; + /* Mandatory element is missing */ + ASN__ENCODE_FAILED; + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + } + + /* Eliminate default values */ + if(elm->default_value_cmp && elm->default_value_cmp(*memb_ptr2) == 0) + continue; + + ASN_DEBUG("Encoding %s->%s", td->name, elm->name); + er = elm->type->op->aper_encoder(elm->type, + elm->encoding_constraints.per_constraints, + *memb_ptr2, po); + if(er.encoded == -1) + return er; + } + + /* No extensions to encode */ + if(!n_extensions) ASN__ENCODED_OK(er); + + ASN_DEBUG("Length of %d bit-map", n_extensions); + /* #18.8. Write down the presence bit-map length. */ + if(aper_put_nslength(po, n_extensions)) + ASN__ENCODE_FAILED; + + ASN_DEBUG("Bit-map of %d elements", n_extensions); + /* #18.7. Encoding the extensions presence bit-map. */ + /* TODO: act upon NOTE in #18.7 for canonical PER */ + if(SEQUENCE_handle_extensions_aper(td, sptr, po, 0) != n_extensions) + ASN__ENCODE_FAILED; + + ASN_DEBUG("Writing %d extensions", n_extensions); + /* #18.9. Encode extensions as open type fields. */ + if(SEQUENCE_handle_extensions_aper(td, sptr, 0, po) != n_extensions) + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_ber.c b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_ber.c new file mode 100644 index 000000000..e982172d3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_ber.c @@ -0,0 +1,612 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * Number of bytes left for this structure. + * (ctx->left) indicates the number of bytes _transferred_ for the structure. + * (size) contains the number of bytes in the buffer passed. + */ +#define LEFT ((size<(size_t)ctx->left)?size:(size_t)ctx->left) + +/* + * If the subprocessor function returns with an indication that it wants + * more data, it may well be a fatal decoding problem, because the + * size is constrained by the 's L, even if the buffer size allows + * reading more data. + * For example, consider the buffer containing the following TLVs: + * ... + * The TLV length clearly indicates that one byte is expected in V, but + * if the V processor returns with "want more data" even if the buffer + * contains way more data than the V processor have seen. + */ +#define SIZE_VIOLATION (ctx->left >= 0 && (size_t)ctx->left <= size) + +/* + * This macro "eats" the part of the buffer which is definitely "consumed", + * i.e. was correctly converted into local representation or rightfully skipped. + */ +#undef ADVANCE +#define ADVANCE(num_bytes) \ + do { \ + size_t num = num_bytes; \ + ptr = ((const char *)ptr) + num; \ + size -= num; \ + if(ctx->left >= 0) \ + ctx->left -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Switch to the next phase of parsing. + */ +#undef NEXT_PHASE +#define NEXT_PHASE(ctx) \ + do { \ + ctx->phase++; \ + ctx->step = 0; \ + } while(0) +#undef PHASE_OUT +#define PHASE_OUT(ctx) \ + do { \ + ctx->phase = 10; \ + } while(0) + +/* + * Return a standardized complex structure. + */ +#undef RETURN +#define RETURN(_code) \ + do { \ + rval.code = _code; \ + rval.consumed = consumed_myself; \ + return rval; \ + } while(0) + +/* + * Check whether we are inside the extensions group. + */ +#define IN_EXTENSION_GROUP(specs, memb_idx) \ + ((specs)->first_extension >= 0 \ + && (unsigned)(specs)->first_extension <= (memb_idx)) + +/* + * Tags are canonically sorted in the tag2element map. + */ +static int +_t2e_cmp(const void *ap, const void *bp) { + const asn_TYPE_tag2member_t *a = (const asn_TYPE_tag2member_t *)ap; + const asn_TYPE_tag2member_t *b = (const asn_TYPE_tag2member_t *)bp; + + int a_class = BER_TAG_CLASS(a->el_tag); + int b_class = BER_TAG_CLASS(b->el_tag); + + if(a_class == b_class) { + ber_tlv_tag_t a_value = BER_TAG_VALUE(a->el_tag); + ber_tlv_tag_t b_value = BER_TAG_VALUE(b->el_tag); + + if(a_value == b_value) { + if(a->el_no > b->el_no) + return 1; + /* + * Important: we do not check + * for a->el_no <= b->el_no! + */ + return 0; + } else if(a_value < b_value) + return -1; + else + return 1; + } else if(a_class < b_class) { + return -1; + } else { + return 1; + } +} + +/* + * The decoder of the SEQUENCE type. + */ +asn_dec_rval_t +SEQUENCE_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **struct_ptr, + const void *ptr, size_t size, int tag_mode) { + /* + * Bring closer parts of structure description. + */ + const asn_SEQUENCE_specifics_t *specs = (const asn_SEQUENCE_specifics_t *)td->specifics; + const asn_TYPE_member_t *elements = td->elements; + + /* + * Parts of the structure being constructed. + */ + void *st = *struct_ptr; /* Target structure. */ + asn_struct_ctx_t *ctx; /* Decoder context */ + + ber_tlv_tag_t tlv_tag; /* T from TLV */ + asn_dec_rval_t rval; /* Return code from subparsers */ + + ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ + size_t edx; /* SEQUENCE element's index */ + + ASN_DEBUG("Decoding %s as SEQUENCE", td->name); + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) { + RETURN(RC_FAIL); + } + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + /* + * Start to parse where left previously + */ + switch(ctx->phase) { + case 0: + /* + * PHASE 0. + * Check that the set of tags associated with given structure + * perfectly fits our expectations. + */ + + rval = ber_check_tags(opt_codec_ctx, td, ctx, ptr, size, + tag_mode, 1, &ctx->left, 0); + if(rval.code != RC_OK) { + ASN_DEBUG("%s tagging check failed: %d", + td->name, rval.code); + return rval; + } + + if(ctx->left >= 0) + ctx->left += rval.consumed; /* ?Subtracted below! */ + ADVANCE(rval.consumed); + + NEXT_PHASE(ctx); + + ASN_DEBUG("Structure consumes %ld bytes, buffer %ld", + (long)ctx->left, (long)size); + + /* Fall through */ + case 1: + /* + * PHASE 1. + * From the place where we've left it previously, + * try to decode the next member from the list of + * this structure's elements. + * (ctx->step) stores the member being processed + * between invocations and the microphase {0,1} of parsing + * that member: + * step = ( * 2 + ). + */ + for(edx = ((size_t)ctx->step >> 1); edx < td->elements_count; + edx++, ctx->step = (ctx->step & ~1) + 2) { + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + ssize_t tag_len; /* Length of TLV's T */ + size_t opt_edx_end; /* Next non-optional element */ + size_t n; + int use_bsearch; + + if(ctx->step & 1) + goto microphase2; + + /* + * MICROPHASE 1: Synchronize decoding. + */ + ASN_DEBUG("In %s SEQUENCE left %d, edx=%" ASN_PRI_SIZE " flags=%d" + " opt=%d ec=%d", + td->name, (int)ctx->left, edx, + elements[edx].flags, elements[edx].optional, + td->elements_count); + + if(ctx->left == 0 /* No more stuff is expected */ + && ( + /* Explicit OPTIONAL specification reaches the end */ + (edx + elements[edx].optional == td->elements_count) || + /* All extensions are optional */ + IN_EXTENSION_GROUP(specs, edx))) { + ASN_DEBUG("End of SEQUENCE %s", td->name); + /* + * Found the legitimate end of the structure. + */ + PHASE_OUT(ctx); + RETURN(RC_OK); + } + + /* + * Fetch the T from TLV. + */ + tag_len = ber_fetch_tag(ptr, LEFT, &tlv_tag); + ASN_DEBUG("Current tag in %s SEQUENCE for element %" ASN_PRI_SIZE " " + "(%s) is %s encoded in %d bytes, of frame %ld", + td->name, edx, elements[edx].name, + ber_tlv_tag_string(tlv_tag), (int)tag_len, (long)LEFT); + switch(tag_len) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + if(ctx->left < 0 && ((const uint8_t *)ptr)[0] == 0) { + if(LEFT < 2) { + if(SIZE_VIOLATION) { + RETURN(RC_FAIL); + } else { + RETURN(RC_WMORE); + } + } else if(((const uint8_t *)ptr)[1] == 0) { + ASN_DEBUG("edx = %" ASN_PRI_SIZE ", opt = %d, ec=%d", edx, + elements[edx].optional, td->elements_count); + if((edx + elements[edx].optional == td->elements_count) + || IN_EXTENSION_GROUP(specs, edx)) { + /* + * Yeah, baby! Found the terminator + * of the indefinite length structure. + */ + /* + * Proceed to the canonical + * finalization function. + * No advancing is necessary. + */ + goto phase3; + } + } + } + + /* + * Find the next available type with this tag. + */ + use_bsearch = 0; + opt_edx_end = edx + elements[edx].optional + 1; + if(opt_edx_end > td->elements_count) + opt_edx_end = td->elements_count; /* Cap */ + else if(opt_edx_end - edx > 8) { + /* Limit the scope of linear search... */ + opt_edx_end = edx + 8; + use_bsearch = 1; + /* ... and resort to bsearch() */ + } + for(n = edx; n < opt_edx_end; n++) { + if(BER_TAGS_EQUAL(tlv_tag, elements[n].tag)) { + /* + * Found element corresponding to the tag + * being looked at. + * Reposition over the right element. + */ + edx = n; + ctx->step = 1 + 2 * edx; /* Remember! */ + goto microphase2; + } else if(elements[n].flags & ATF_ANY_TYPE) { + /* + * This is the ANY type, which may bear + * any flag whatsoever. + */ + edx = n; + ctx->step = 1 + 2 * edx; /* Remember! */ + goto microphase2; + } else if(elements[n].tag == (ber_tlv_tag_t)-1) { + use_bsearch = 1; + break; + } + } + if(use_bsearch) { + /* + * Resort to a binary search over + * sorted array of tags. + */ + const asn_TYPE_tag2member_t *t2m; + asn_TYPE_tag2member_t key = {0, 0, 0, 0}; + key.el_tag = tlv_tag; + key.el_no = edx; + t2m = (const asn_TYPE_tag2member_t *)bsearch(&key, + specs->tag2el, specs->tag2el_count, + sizeof(specs->tag2el[0]), _t2e_cmp); + if(t2m) { + const asn_TYPE_tag2member_t *best = 0; + const asn_TYPE_tag2member_t *t2m_f, *t2m_l; + size_t edx_max = edx + elements[edx].optional; + /* + * Rewind to the first element with that tag, + * `cause bsearch() does not guarantee order. + */ + t2m_f = t2m + t2m->toff_first; + t2m_l = t2m + t2m->toff_last; + for(t2m = t2m_f; t2m <= t2m_l; t2m++) { + if(t2m->el_no > edx_max) break; + if(t2m->el_no < edx) continue; + best = t2m; + } + if(best) { + edx = best->el_no; + ctx->step = 1 + 2 * edx; + goto microphase2; + } + } + n = opt_edx_end; + } + if(n == opt_edx_end) { + /* + * If tag is unknown, it may be either + * an unknown (thus, incorrect) tag, + * or an extension (...), + * or an end of the indefinite-length structure. + */ + if(!IN_EXTENSION_GROUP(specs, + edx + elements[edx].optional)) { + ASN_DEBUG("Unexpected tag %s (at %" ASN_PRI_SIZE ")", + ber_tlv_tag_string(tlv_tag), edx); + ASN_DEBUG("Expected tag %s (%s)%s", + ber_tlv_tag_string(elements[edx].tag), + elements[edx].name, + elements[edx].optional ?" or alternatives":""); + RETURN(RC_FAIL); + } else { + /* Skip this tag */ + ssize_t skip; + edx += elements[edx].optional; + + ASN_DEBUG("Skipping unexpected %s (at %" ASN_PRI_SIZE ")", + ber_tlv_tag_string(tlv_tag), edx); + skip = ber_skip_length(opt_codec_ctx, + BER_TLV_CONSTRUCTED(ptr), + (const char *)ptr + tag_len, + LEFT - tag_len); + ASN_DEBUG("Skip length %d in %s", + (int)skip, td->name); + switch(skip) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + ADVANCE(skip + tag_len); + ctx->step -= 2; + edx--; + continue; /* Try again with the next tag */ + } + } + + /* + * MICROPHASE 2: Invoke the member-specific decoder. + */ + ctx->step |= 1; /* Confirm entering next microphase */ + microphase2: + ASN_DEBUG("Inside SEQUENCE %s MF2", td->name); + + /* + * Compute the position of the member inside a structure, + * and also a type of containment (it may be contained + * as pointer or using inline inclusion). + */ + if(elements[edx].flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elements[edx].memb_offset); + } else { + /* + * A pointer to a pointer + * holding the start of the structure + */ + memb_ptr = (char *)st + elements[edx].memb_offset; + memb_ptr2 = &memb_ptr; + } + /* + * Invoke the member fetch routine according to member's type + */ + if(elements[edx].flags & ATF_OPEN_TYPE) { + rval = OPEN_TYPE_ber_get(opt_codec_ctx, td, st, &elements[edx], ptr, LEFT); + } else { + rval = elements[edx].type->op->ber_decoder(opt_codec_ctx, + elements[edx].type, + memb_ptr2, ptr, LEFT, + elements[edx].tag_mode); + } + ASN_DEBUG("In %s SEQUENCE decoded %" ASN_PRI_SIZE " %s of %d " + "in %d bytes rval.code %d, size=%d", + td->name, edx, elements[edx].type->name, + (int)LEFT, (int)rval.consumed, rval.code, (int)size); + switch(rval.code) { + case RC_OK: + break; + case RC_WMORE: /* More data expected */ + if(!SIZE_VIOLATION) { + ADVANCE(rval.consumed); + RETURN(RC_WMORE); + } + ASN_DEBUG("Size violation (c->l=%ld <= s=%ld)", + (long)ctx->left, (long)size); + /* Fall through */ + case RC_FAIL: /* Fatal error */ + RETURN(RC_FAIL); + } /* switch(rval) */ + + ADVANCE(rval.consumed); + } /* for(all structure members) */ + + phase3: + ctx->phase = 3; + /* Fall through */ + case 3: /* 00 and other tags expected */ + case 4: /* only 00's expected */ + + ASN_DEBUG("SEQUENCE %s Leftover: %ld, size = %ld", + td->name, (long)ctx->left, (long)size); + + /* + * Skip everything until the end of the SEQUENCE. + */ + while(ctx->left) { + ssize_t tl, ll; + + tl = ber_fetch_tag(ptr, LEFT, &tlv_tag); + switch(tl) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + /* + * If expected <0><0>... + */ + if(ctx->left < 0 && ((const uint8_t *)ptr)[0] == 0) { + if(LEFT < 2) { + if(SIZE_VIOLATION) + RETURN(RC_FAIL); + else + RETURN(RC_WMORE); + } else if(((const uint8_t *)ptr)[1] == 0) { + /* + * Correctly finished with <0><0>. + */ + ADVANCE(2); + ctx->left++; + ctx->phase = 4; + continue; + } + } + + if(!IN_EXTENSION_GROUP(specs, td->elements_count) + || ctx->phase == 4) { + ASN_DEBUG("Unexpected continuation " + "of a non-extensible type " + "%s (SEQUENCE): %s", + td->name, + ber_tlv_tag_string(tlv_tag)); + RETURN(RC_FAIL); + } + + ll = ber_skip_length(opt_codec_ctx, + BER_TLV_CONSTRUCTED(ptr), + (const char *)ptr + tl, LEFT - tl); + switch(ll) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + ADVANCE(tl + ll); + } + + PHASE_OUT(ctx); + } + + RETURN(RC_OK); +} + + +/* + * The DER encoder of the SEQUENCE type. + */ +asn_enc_rval_t +SEQUENCE_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, + asn_app_consume_bytes_f *cb, void *app_key) { + size_t computed_size = 0; + asn_enc_rval_t erval = {0,0,0}; + ssize_t ret; + size_t edx; + + ASN_DEBUG("%s %s as SEQUENCE", + cb?"Encoding":"Estimating", td->name); + + /* + * Gather the length of the underlying members sequence. + */ + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + + const void *memb_ptr; /* Pointer to the member */ + const void *const *memb_ptr2; /* Pointer to that pointer */ + + if(elm->flags & ATF_POINTER) { + memb_ptr2 = + (const void *const *)((const char *)sptr + elm->memb_offset); + if(!*memb_ptr2) { + ASN_DEBUG("Element %s %" ASN_PRI_SIZE " not present", + elm->name, edx); + if(elm->optional) + continue; + /* Mandatory element is missing */ + ASN__ENCODE_FAILED; + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + } + + /* Eliminate default values */ + if(elm->default_value_cmp && elm->default_value_cmp(*memb_ptr2) == 0) + continue; + + erval = elm->type->op->der_encoder(elm->type, *memb_ptr2, + elm->tag_mode, elm->tag, + 0, 0); + if(erval.encoded == -1) + return erval; + computed_size += erval.encoded; + ASN_DEBUG("Member %" ASN_PRI_SIZE " %s estimated %ld bytes", + edx, elm->name, (long)erval.encoded); + } + + /* + * Encode the TLV for the sequence itself. + */ + ret = der_write_tags(td, computed_size, tag_mode, 1, tag, cb, app_key); + ASN_DEBUG("Wrote tags: %ld (+%ld)", (long)ret, (long)computed_size); + if(ret == -1) + ASN__ENCODE_FAILED; + erval.encoded = computed_size + ret; + + if(!cb) ASN__ENCODED_OK(erval); + + /* + * Encode all members. + */ + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + asn_enc_rval_t tmperval = {0,0,0}; + const void *memb_ptr; /* Pointer to the member */ + const void *const *memb_ptr2; /* Pointer to that pointer */ + + if(elm->flags & ATF_POINTER) { + memb_ptr2 = + (const void *const *)((const char *)sptr + elm->memb_offset); + if(!*memb_ptr2) continue; + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + } + + /* Eliminate default values */ + if(elm->default_value_cmp && elm->default_value_cmp(*memb_ptr2) == 0) + continue; + + tmperval = elm->type->op->der_encoder(elm->type, *memb_ptr2, + elm->tag_mode, elm->tag, cb, app_key); + if(tmperval.encoded == -1) + return tmperval; + computed_size -= tmperval.encoded; + ASN_DEBUG("Member %" ASN_PRI_SIZE " %s of SEQUENCE %s encoded in %ld bytes", + edx, elm->name, td->name, (long)tmperval.encoded); + } + + if(computed_size != 0) + /* + * Encoded size is not equal to the computed size. + */ + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(erval); +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_oer.c b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_oer.c new file mode 100644 index 000000000..a3bdb7bda --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_oer.c @@ -0,0 +1,557 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include + +/* + * This macro "eats" the part of the buffer which is definitely "consumed", + * i.e. was correctly converted into local representation or rightfully skipped. + */ +#undef ADVANCE +#define ADVANCE(num_bytes) \ + do { \ + size_t num = num_bytes; \ + ptr = ((const char *)ptr) + num; \ + size -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Switch to the next phase of parsing. + */ +#undef NEXT_PHASE +#undef PHASE_OUT +#define NEXT_PHASE(ctx) \ + do { \ + ctx->phase++; \ + ctx->step = 0; \ + } while(0) + +/* + * Check whether we are inside the extensions group. + */ +#define IN_EXTENSION_GROUP(specs, memb_idx) \ + ((specs)->first_extension >= 0 \ + && (unsigned)(specs)->first_extension <= (memb_idx)) + +#define IN_ROOT_GROUP_PRED(edx) \ + edx < (specs->first_extension < 0 ? td->elements_count \ + : (size_t)specs->first_extension) + +#define FOR_IN_ROOT_GROUP(edx) for(edx = 0; IN_ROOT_GROUP_PRED(edx); edx++) + +/* + * Return a standardized complex structure. + */ +#undef RETURN +#define RETURN(_code) do { \ + rval.code = _code; \ + rval.consumed = consumed_myself;\ + return rval; \ + } while(0) + +/* + * Return pointer to a member. + */ +static void ** +element_ptrptr(void *struct_ptr, asn_TYPE_member_t *elm, void **tmp_save_ptr) { + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + return (void **)((char *)struct_ptr + elm->memb_offset); + } else { + assert(tmp_save_ptr); + *tmp_save_ptr = (void *)((char *)struct_ptr + elm->memb_offset); + return tmp_save_ptr; + } +} + +static const void * +element_ptr(const void *struct_ptr, const asn_TYPE_member_t *elm) { + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + return *(const void *const *)((const char *)struct_ptr + + elm->memb_offset); + } else { + return (const void *)((const char *)struct_ptr + elm->memb_offset); + } +} + +asn_dec_rval_t +SEQUENCE_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, void **struct_ptr, + const void *ptr, size_t size) { + const asn_SEQUENCE_specifics_t *specs = + (const asn_SEQUENCE_specifics_t *)td->specifics; + asn_dec_rval_t rval = {RC_OK, 0}; + void *st = *struct_ptr; /* Target structure */ + asn_struct_ctx_t *ctx; /* Decoder context */ + size_t consumed_myself = 0; /* Consumed bytes from ptr. */ + + (void)constraints; + + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + ASN__DECODE_FAILED; + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) { + RETURN(RC_FAIL); + } + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + /* + * Start to parse where left previously. + */ + switch(ctx->phase) { + case 0: { + /* + * Fetch preamble. + */ + asn_bit_data_t *preamble; + int has_extensions_bit = (specs->first_extension >= 0); + size_t preamble_bits = (has_extensions_bit + specs->roms_count); + size_t preamble_bytes = ((7 + preamble_bits) >> 3); + + ASN_DEBUG("OER SEQUENCE %s Decoding PHASE 0", td->name); + + ASN_DEBUG( + "Expecting preamble bits %" ASN_PRI_SIZE " for %s (including %d extension bits)", + preamble_bits, td->name, has_extensions_bit); + + if(preamble_bytes > size) { + ASN__DECODE_STARVED; + } + + preamble = asn_bit_data_new_contiguous(ptr, preamble_bits); + if(!preamble) { + RETURN(RC_FAIL); + } + preamble->nboff = has_extensions_bit; + ctx->ptr = preamble; + ADVANCE(preamble_bytes); + } + NEXT_PHASE(ctx); + /* FALL THROUGH */ + case 1: { + /* Decode components of the extension root */ + asn_bit_data_t *preamble = ctx->ptr; + size_t edx; + + ASN_DEBUG("OER SEQUENCE %s Decoding PHASE 1 (Root)", td->name); + + assert(preamble); + + for(edx = (ctx->step >> 1); IN_ROOT_GROUP_PRED(edx); + edx++, ctx->step = (ctx->step & ~1) + 2) { + asn_TYPE_member_t *elm = &td->elements[edx]; + + ASN_DEBUG("Decoding %s->%s", td->name, elm->name); + + assert(!IN_EXTENSION_GROUP(specs, edx)); + + if(ctx->step & 1) { + goto microphase2_decode_continues; + } + + + if(elm->optional) { + int32_t present = asn_get_few_bits(preamble, 1); + if(present < 0) { + ASN_DEBUG("Presence map ended prematurely: %d", present); + RETURN(RC_FAIL); + } else if(present == 0) { + if(elm->default_value_set) { + /* Fill-in DEFAULT */ + void *tmp; + if(elm->default_value_set( + element_ptrptr(st, elm, &tmp))) { + RETURN(RC_FAIL); + } + } + /* The member is not present. */ + continue; + } + /* Present OPTIONAL or DEFAULT component. */ + } + + /* + * MICROPHASE 2: Invoke the member-specific decoder. + */ + ctx->step |= 1; /* Confirm entering next microphase */ + microphase2_decode_continues: + if(elm->flags & ATF_OPEN_TYPE) { + rval = OPEN_TYPE_oer_get(opt_codec_ctx, td, st, elm, ptr, size); + } else { + void *save_memb_ptr; /* Temporary reference. */ + void **memb_ptr2; /* Pointer to a pointer to a memmber */ + + memb_ptr2 = element_ptrptr(st, elm, &save_memb_ptr); + + rval = elm->type->op->oer_decoder( + opt_codec_ctx, elm->type, + elm->encoding_constraints.oer_constraints, memb_ptr2, ptr, + size); + } + switch(rval.code) { + case RC_OK: + ADVANCE(rval.consumed); + break; + case RC_WMORE: + ASN_DEBUG("More bytes needed at element %s \"%s\"", td->name, + elm->name); + ADVANCE(rval.consumed); + RETURN(RC_WMORE); + case RC_FAIL: + ASN_DEBUG("Decoding failed at element %s \"%s\"", td->name, + elm->name); + RETURN(RC_FAIL); + } + } /* for(all root members) */ + + } + NEXT_PHASE(ctx); + /* FALL THROUGH */ + case 2: + assert(ctx->ptr); + { + /* Cleanup preamble. */ + asn_bit_data_t *preamble = ctx->ptr; + asn_bit_data_t *extadds; + int has_extensions_bit = (specs->first_extension >= 0); + int extensions_present = + has_extensions_bit + && (preamble->buffer == NULL + || (((const uint8_t *)preamble->buffer)[0] & 0x80)); + uint8_t unused_bits; + size_t len = 0; + ssize_t len_len; + + ASN_DEBUG("OER SEQUENCE %s Decoding PHASE 2", td->name); + + preamble->buffer = 0; /* Will do extensions_present==1 next time. */ + + if(!extensions_present) { + ctx->phase = 10; + RETURN(RC_OK); + } + + /* + * X.696 (08/2015) #16.1 (c), #16.4 + * Read in the extension addition presence bitmap. + */ + + len_len = oer_fetch_length(ptr, size, &len); + if(len_len > 0) { + ADVANCE(len_len); + } else if(len_len < 0) { + RETURN(RC_FAIL); + } else { + RETURN(RC_WMORE); + } + + if(len == 0) { + /* 16.4.1-2 */ + RETURN(RC_FAIL); + } else if(len > size) { + RETURN(RC_WMORE); + } + + /* Account for unused bits */ + unused_bits = 0x7 & *(const uint8_t *)ptr; + ADVANCE(1); + len--; + if(unused_bits && len == 0) { + RETURN(RC_FAIL); + } + + /* Get the extensions map */ + extadds = asn_bit_data_new_contiguous(ptr, len * 8 - unused_bits); + if(!extadds) { + RETURN(RC_FAIL); + } + FREEMEM(preamble); + ctx->ptr = extadds; + ADVANCE(len); + } + NEXT_PHASE(ctx); + ctx->step = + (specs->first_extension < 0 ? td->elements_count + : (size_t)specs->first_extension); + /* Fall through */ + case 3: + ASN_DEBUG("OER SEQUENCE %s Decoding PHASE 3 (Extensions)", td->name); + for(; ctx->step < (signed)td->elements_count; ctx->step++) { + asn_bit_data_t *extadds = ctx->ptr; + size_t edx = ctx->step; + asn_TYPE_member_t *elm = &td->elements[edx]; + void *tmp_memb_ptr; + void **memb_ptr2 = element_ptrptr(st, elm, &tmp_memb_ptr); + + switch(asn_get_few_bits(extadds, 1)) { + case -1: + /* + * Not every one of our extensions is known to the remote side. + * Continue filling in their defaults though. + */ + /* Fall through */ + case 0: + /* Fill-in DEFAULT */ + if(elm->default_value_set + && elm->default_value_set(memb_ptr2)) { + RETURN(RC_FAIL); + } + continue; + case 1: { + /* Read OER open type */ + ssize_t ot_size = + oer_open_type_get(opt_codec_ctx, elm->type, + elm->encoding_constraints.oer_constraints, + memb_ptr2, ptr, size); + assert(ot_size <= (ssize_t)size); + if(ot_size > 0) { + ADVANCE(ot_size); + } else if(ot_size < 0) { + RETURN(RC_FAIL); + } else { + /* Roll back open type parsing */ + asn_get_undo(extadds, 1); + RETURN(RC_WMORE); + } + break; + } + default: + RETURN(RC_FAIL); + } + } + + NEXT_PHASE(ctx); + /* Fall through */ + case 4: + ASN_DEBUG("OER SEQUENCE %s Decoding PHASE 4", td->name); + /* Read in the rest of Open Types while ignoring them */ + for(;;) { + asn_bit_data_t *extadds = ctx->ptr; + switch(asn_get_few_bits(extadds, 1)) { + case 0: + continue; + case 1: { + ssize_t skipped = oer_open_type_skip(ptr, size); + if(skipped > 0) { + ADVANCE(skipped); + } else if(skipped < 0) { + RETURN(RC_FAIL); + } else { + asn_get_undo(extadds, 1); + RETURN(RC_WMORE); + } + continue; + } + case -1: + /* No more Open Type encoded components */ + break; + default: + RETURN(RC_FAIL); + } + break; + } + } + + RETURN(RC_OK); +} + +/* + * Encode as Canonical OER. + */ +asn_enc_rval_t +SEQUENCE_encode_oer(const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, const void *sptr, + asn_app_consume_bytes_f *cb, void *app_key) { + const asn_SEQUENCE_specifics_t *specs = (const asn_SEQUENCE_specifics_t *)td->specifics; + size_t computed_size = 0; + int has_extensions_bit = (specs->first_extension >= 0); + size_t preamble_bits = (has_extensions_bit + specs->roms_count); + uint32_t has_extensions = 0; + size_t edx; + int ret; + + (void)constraints; + + if(preamble_bits) { + asn_bit_outp_t preamble; + + memset(&preamble, 0, sizeof(preamble)); + preamble.output = cb; + preamble.op_key = app_key; + + if(has_extensions_bit) { + for(edx = specs->first_extension; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr = element_ptr(sptr, elm); + if(memb_ptr) { + if(elm->default_value_cmp + && elm->default_value_cmp(memb_ptr) == 0) { + /* Do not encode default values in extensions */ + } else { + has_extensions = 1; + break; + } + } + } + ret = asn_put_few_bits(&preamble, has_extensions, 1); + assert(ret == 0); + if(ret < 0) { + ASN__ENCODE_FAILED; + } + } + + /* + * Encode optional components bitmap. + */ + if(specs->roms_count) { + FOR_IN_ROOT_GROUP(edx) { + asn_TYPE_member_t *elm = &td->elements[edx]; + + if(IN_EXTENSION_GROUP(specs, edx)) break; + + if(elm->optional) { + const void *memb_ptr = element_ptr(sptr, elm); + uint32_t has_component = memb_ptr != NULL; + if(has_component && elm->default_value_cmp + && elm->default_value_cmp(memb_ptr) == 0) { + has_component = 0; + } + ret = asn_put_few_bits(&preamble, has_component, 1); + if(ret < 0) { + ASN__ENCODE_FAILED; + } + } + } + } + + asn_put_aligned_flush(&preamble); + computed_size += preamble.flushed_bytes; + } /* if(preamble_bits) */ + + /* + * Put root components and extensions root. + */ + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + asn_enc_rval_t er = {0,0,0}; + const void *memb_ptr; + + if(IN_EXTENSION_GROUP(specs, edx)) break; + + memb_ptr = element_ptr(sptr, elm); + if(memb_ptr) { + if(elm->default_value_cmp + && elm->default_value_cmp(memb_ptr) == 0) { + /* Skip default values in encoding */ + continue; + } + } else { + if(elm->optional) continue; + /* Mandatory element is missing */ + ASN__ENCODE_FAILED; + } + if(!elm->type->op->oer_encoder) { + ASN_DEBUG("OER encoder is not defined for type %s", elm->type->name); + ASN__ENCODE_FAILED; + } + er = elm->type->op->oer_encoder( + elm->type, elm->encoding_constraints.oer_constraints, memb_ptr, cb, + app_key); + if(er.encoded == -1) { + ASN_DEBUG("... while encoding %s member \"%s\"\n", td->name, + elm->name); + return er; + } + computed_size += er.encoded; + } + + /* + * Before encode extensions, encode extensions additions presence bitmap + # X.696 (08/2015) #16.4. + */ + if(has_extensions) { + asn_bit_outp_t extadds; + + /* Special case allowing us to use exactly one byte for #8.6 */ + size_t aoms_length_bits = specs->aoms_count; + size_t aoms_length_bytes = (7 + aoms_length_bits) >> 3; + uint8_t unused_bits = 0x07 & (8 - (aoms_length_bits & 0x07)); + + assert(1 + aoms_length_bytes <= 127); + + memset(&extadds, 0, sizeof(extadds)); + extadds.output = cb; + extadds.op_key = app_key; + + /* #8.6 length determinant */ + ret = asn_put_few_bits(&extadds, (1 + aoms_length_bytes), 8); + if(ret < 0) ASN__ENCODE_FAILED; + + /* Number of unused bytes, #16.4.2 */ + ret = asn_put_few_bits(&extadds, unused_bits, 8); + if(ret < 0) ASN__ENCODE_FAILED; + + /* Encode presence bitmap #16.4.3 */ + for(edx = specs->first_extension; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr = element_ptr(sptr, elm); + if(memb_ptr && elm->default_value_cmp + && elm->default_value_cmp(memb_ptr) == 0) { + memb_ptr = 0; /* Do not encode default value. */ + } + ret |= asn_put_few_bits(&extadds, memb_ptr ? 1 : 0, 1); + } + if(ret < 0) ASN__ENCODE_FAILED; + + asn_put_aligned_flush(&extadds); + computed_size += extadds.flushed_bytes; + + /* Now, encode extensions */ + for(edx = specs->first_extension; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr = element_ptr(sptr, elm); + + if(memb_ptr) { + if(elm->default_value_cmp + && elm->default_value_cmp(memb_ptr) == 0) { + /* Do not encode default value. */ + } else { + ssize_t wrote = oer_open_type_put( + elm->type, elm->encoding_constraints.oer_constraints, + memb_ptr, cb, app_key); + if(wrote == -1) { + ASN__ENCODE_FAILED; + } + computed_size += wrote; + } + } else if(!elm->optional) { + ASN__ENCODE_FAILED; + } + } + } /* if(has_extensions) */ + + + { + asn_enc_rval_t er = {0, 0, 0}; + er.encoded = computed_size; + ASN__ENCODED_OK(er); + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_print.c b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_print.c new file mode 100644 index 000000000..7f9e231a4 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_print.c @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +int +SEQUENCE_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + asn_app_consume_bytes_f *cb, void *app_key) { + size_t edx; + int ret; + + if(!sptr) return (cb("", 8, app_key) < 0) ? -1 : 0; + + /* Dump preamble */ + if(cb(td->name, strlen(td->name), app_key) < 0 + || cb(" ::= {", 6, app_key) < 0) + return -1; + + for(edx = 0; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr; + + if(elm->flags & ATF_POINTER) { + memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) { + if(elm->optional) continue; + /* Print line */ + /* Fall through */ + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + /* Indentation */ + _i_INDENT(1); + + /* Print the member's name and stuff */ + if(cb(elm->name, strlen(elm->name), app_key) < 0 + || cb(": ", 2, app_key) < 0) + return -1; + + /* Print the member itself */ + ret = elm->type->op->print_struct(elm->type, memb_ptr, ilevel + 1, + cb, app_key); + if(ret) return ret; + } + + ilevel--; + _i_INDENT(1); + + return (cb("}", 1, app_key) < 0) ? -1 : 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_rfill.c b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_rfill.c new file mode 100644 index 000000000..b464f5722 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_rfill.c @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_random_fill_result_t +SEQUENCE_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constr, + size_t max_length) { + const asn_SEQUENCE_specifics_t *specs = + (const asn_SEQUENCE_specifics_t *)td->specifics; + asn_random_fill_result_t result_ok = {ARFILL_OK, 0}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + void *st = *sptr; + size_t edx; + + if(max_length == 0) return result_skipped; + + (void)constr; + + if(st == NULL) { + st = CALLOC(1, specs->struct_size); + if(st == NULL) { + return result_failed; + } + } + + for(edx = 0; edx < td->elements_count; edx++) { + const asn_TYPE_member_t *elm = &td->elements[edx]; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + asn_random_fill_result_t tmpres; + + if(elm->optional && asn_random_between(0, 4) == 2) { + /* Sometimes decide not to fill the optional value */ + continue; + } + + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + + tmpres = elm->type->op->random_fill( + elm->type, memb_ptr2, &elm->encoding_constraints, + max_length > result_ok.length ? max_length - result_ok.length : 0); + switch(tmpres.code) { + case ARFILL_OK: + result_ok.length += tmpres.length; + continue; + case ARFILL_SKIPPED: + assert(!(elm->flags & ATF_POINTER) || *memb_ptr2 == NULL); + continue; + case ARFILL_FAILED: + if(st == *sptr) { + ASN_STRUCT_RESET(*td, st); + } else { + ASN_STRUCT_FREE(*td, st); + } + return tmpres; + } + } + + *sptr = st; + + return result_ok; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_uper.c b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_uper.c new file mode 100644 index 000000000..b235f4de9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_uper.c @@ -0,0 +1,429 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include + +/* + * Check whether we are inside the extensions group. + */ +#define IN_EXTENSION_GROUP(specs, memb_idx) \ + ((specs)->first_extension >= 0 \ + && (unsigned)(specs)->first_extension <= (memb_idx)) + +asn_dec_rval_t +SEQUENCE_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + const asn_SEQUENCE_specifics_t *specs = (const asn_SEQUENCE_specifics_t *)td->specifics; + void *st = *sptr; /* Target structure. */ + int extpresent; /* Extension additions are present */ + uint8_t *opres; /* Presence of optional root members */ + asn_per_data_t opmd; + asn_dec_rval_t rv; + size_t edx; + + (void)constraints; + + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + ASN__DECODE_FAILED; + + if(!st) { + st = *sptr = CALLOC(1, specs->struct_size); + if(!st) ASN__DECODE_FAILED; + } + + ASN_DEBUG("Decoding %s as SEQUENCE (UPER)", td->name); + + /* Handle extensions */ + if(specs->first_extension < 0) { + extpresent = 0; + } else { + extpresent = per_get_few_bits(pd, 1); + if(extpresent < 0) ASN__DECODE_STARVED; + } + + /* Prepare a place and read-in the presence bitmap */ + memset(&opmd, 0, sizeof(opmd)); + if(specs->roms_count) { + opres = (uint8_t *)MALLOC(((specs->roms_count + 7) >> 3) + 1); + if(!opres) ASN__DECODE_FAILED; + /* Get the presence map */ + if(per_get_many_bits(pd, opres, 0, specs->roms_count)) { + FREEMEM(opres); + ASN__DECODE_STARVED; + } + opmd.buffer = opres; + opmd.nbits = specs->roms_count; + ASN_DEBUG("Read in presence bitmap for %s of %d bits (%x..)", + td->name, specs->roms_count, *opres); + } else { + opres = 0; + } + + /* + * Get the sequence ROOT elements. + */ + for(edx = 0; + edx < (specs->first_extension < 0 ? td->elements_count + : (size_t)specs->first_extension); + edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + + assert(!IN_EXTENSION_GROUP(specs, edx)); + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr; + } + + /* Deal with optionality */ + if(elm->optional) { + int present = per_get_few_bits(&opmd, 1); + ASN_DEBUG("Member %s->%s is optional, p=%d (%d->%d)", + td->name, elm->name, present, + (int)opmd.nboff, (int)opmd.nbits); + if(present == 0) { + /* This element is not present */ + if(elm->default_value_set) { + /* Fill-in DEFAULT */ + if(elm->default_value_set(memb_ptr2)) { + FREEMEM(opres); + ASN__DECODE_FAILED; + } + ASN_DEBUG("Filled-in default"); + } + /* The member is just not present */ + continue; + } + /* Fall through */ + } + + /* Fetch the member from the stream */ + ASN_DEBUG("Decoding member \"%s\" in %s", elm->name, td->name); + + if(elm->flags & ATF_OPEN_TYPE) { + rv = OPEN_TYPE_uper_get(opt_codec_ctx, td, st, elm, pd); + } else { + rv = elm->type->op->uper_decoder(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, + memb_ptr2, pd); + } + if(rv.code != RC_OK) { + ASN_DEBUG("Failed decode %s in %s", + elm->name, td->name); + FREEMEM(opres); + return rv; + } + } + + /* Optionality map is not needed anymore */ + FREEMEM(opres); + + /* + * Deal with extensions. + */ + if(extpresent) { + ssize_t bmlength; + uint8_t *epres; /* Presence of extension members */ + asn_per_data_t epmd; + + bmlength = uper_get_nslength(pd); + if(bmlength < 0) ASN__DECODE_STARVED; + + ASN_DEBUG("Extensions %" ASN_PRI_SSIZE " present in %s", bmlength, td->name); + + epres = (uint8_t *)MALLOC((bmlength + 15) >> 3); + if(!epres) ASN__DECODE_STARVED; + + /* Get the extensions map */ + if(per_get_many_bits(pd, epres, 0, bmlength)) { + FREEMEM(epres); + ASN__DECODE_STARVED; + } + + memset(&epmd, 0, sizeof(epmd)); + epmd.buffer = epres; + epmd.nbits = bmlength; + ASN_DEBUG("Read in extensions bitmap for %s of %ld bits (%x..)", + td->name, (long)bmlength, *epres); + + /* Go over extensions and read them in */ + for(edx = specs->first_extension; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + void *memb_ptr; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + int present; + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr = (void *)((char *)st + elm->memb_offset); + memb_ptr2 = &memb_ptr; + } + + present = per_get_few_bits(&epmd, 1); + if(present <= 0) { + if(present < 0) break; /* No more extensions */ + continue; + } + + ASN_DEBUG("Decoding member %s in %s %p", elm->name, td->name, + *memb_ptr2); + rv = uper_open_type_get(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, + memb_ptr2, pd); + if(rv.code != RC_OK) { + FREEMEM(epres); + return rv; + } + } + + /* Skip over overflow extensions which aren't present + * in this system's version of the protocol */ + for(;;) { + ASN_DEBUG("Getting overflow extensions"); + switch(per_get_few_bits(&epmd, 1)) { + case -1: break; + case 0: continue; + default: + if(uper_open_type_skip(opt_codec_ctx, pd)) { + FREEMEM(epres); + ASN__DECODE_STARVED; + } + ASN_DEBUG("Skipped overflow extension"); + continue; + } + break; + } + + FREEMEM(epres); + } + + if(specs->first_extension >= 0) { + unsigned i; + /* Fill DEFAULT members in extensions */ + for(i = specs->roms_count; i < specs->roms_count + specs->aoms_count; + i++) { + asn_TYPE_member_t *elm; + void **memb_ptr2; /* Pointer to member pointer */ + + edx = specs->oms[i]; + elm = &td->elements[edx]; + + if(!elm->default_value_set) continue; + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + if(*memb_ptr2) continue; + } else { + continue; /* Extensions are all optionals */ + } + + /* Set default value */ + if(elm->default_value_set(memb_ptr2)) { + ASN__DECODE_FAILED; + } + } + } + + rv.consumed = 0; + rv.code = RC_OK; + return rv; +} + +static int +SEQUENCE__handle_extensions(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_per_outp_t *po1, asn_per_outp_t *po2) { + const asn_SEQUENCE_specifics_t *specs = + (const asn_SEQUENCE_specifics_t *)td->specifics; + int exts_present = 0; + int exts_count = 0; + size_t edx; + + if(specs->first_extension < 0) { + return 0; + } + + /* Find out which extensions are present */ + for(edx = specs->first_extension; edx < td->elements_count; edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr; /* Pointer to the member */ + const void *const *memb_ptr2; /* Pointer to that pointer */ + int present; + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = + (const void *const *)((const char *)sptr + elm->memb_offset); + present = (*memb_ptr2 != 0); + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + present = 1; + } + + ASN_DEBUG("checking %s:%s (@%" ASN_PRI_SIZE ") present => %d", elm->name, + elm->type->name, edx, present); + exts_count++; + exts_present += present; + + /* Encode as presence marker */ + if(po1 && per_put_few_bits(po1, present, 1)) { + return -1; + } + /* Encode as open type field */ + if(po2 && present + && uper_open_type_put(elm->type, + elm->encoding_constraints.per_constraints, + *memb_ptr2, po2)) + return -1; + } + + return exts_present ? exts_count : 0; +} + +asn_enc_rval_t +SEQUENCE_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const asn_SEQUENCE_specifics_t *specs + = (const asn_SEQUENCE_specifics_t *)td->specifics; + asn_enc_rval_t er = {0,0,0}; + int n_extensions; + size_t edx; + size_t i; + + (void)constraints; + + if(!sptr) + ASN__ENCODE_FAILED; + + er.encoded = 0; + + ASN_DEBUG("Encoding %s as SEQUENCE (UPER)", td->name); + + /* + * X.691#18.1 Whether structure is extensible + * and whether to encode extensions + */ + if(specs->first_extension < 0) { + n_extensions = 0; /* There are no extensions to encode */ + } else { + n_extensions = SEQUENCE__handle_extensions(td, sptr, 0, 0); + if(n_extensions < 0) ASN__ENCODE_FAILED; + if(per_put_few_bits(po, n_extensions ? 1 : 0, 1)) { + ASN__ENCODE_FAILED; + } + } + + /* Encode a presence bitmap */ + for(i = 0; i < specs->roms_count; i++) { + asn_TYPE_member_t *elm; + const void *memb_ptr; /* Pointer to the member */ + const void *const *memb_ptr2; /* Pointer to that pointer */ + int present; + + edx = specs->oms[i]; + elm = &td->elements[edx]; + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = + (const void *const *)((const char *)sptr + elm->memb_offset); + present = (*memb_ptr2 != 0); + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + present = 1; + } + + /* Eliminate default values */ + if(present && elm->default_value_cmp + && elm->default_value_cmp(*memb_ptr2) == 0) + present = 0; + + ASN_DEBUG("Element %s %s %s->%s is %s", + elm->flags & ATF_POINTER ? "ptr" : "inline", + elm->default_value_cmp ? "def" : "wtv", + td->name, elm->name, present ? "present" : "absent"); + if(per_put_few_bits(po, present, 1)) + ASN__ENCODE_FAILED; + } + + /* + * Encode the sequence ROOT elements. + */ + ASN_DEBUG("first_extension = %d, elements = %d", specs->first_extension, + td->elements_count); + for(edx = 0; + edx < ((specs->first_extension < 0) ? td->elements_count + : (size_t)specs->first_extension); + edx++) { + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr; /* Pointer to the member */ + const void *const *memb_ptr2; /* Pointer to that pointer */ + + ASN_DEBUG("About to encode %s", elm->type->name); + + /* Fetch the pointer to this member */ + if(elm->flags & ATF_POINTER) { + memb_ptr2 = + (const void *const *)((const char *)sptr + elm->memb_offset); + if(!*memb_ptr2) { + ASN_DEBUG("Element %s %" ASN_PRI_SIZE " not present", + elm->name, edx); + if(elm->optional) + continue; + /* Mandatory element is missing */ + ASN__ENCODE_FAILED; + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + memb_ptr2 = &memb_ptr; + } + + /* Eliminate default values */ + if(elm->default_value_cmp && elm->default_value_cmp(*memb_ptr2) == 0) + continue; + + ASN_DEBUG("Encoding %s->%s:%s", td->name, elm->name, elm->type->name); + er = elm->type->op->uper_encoder( + elm->type, elm->encoding_constraints.per_constraints, *memb_ptr2, + po); + if(er.encoded == -1) return er; + } + + /* No extensions to encode */ + if(!n_extensions) ASN__ENCODED_OK(er); + + ASN_DEBUG("Length of extensions %d bit-map", n_extensions); + /* #18.8. Write down the presence bit-map length. */ + if(uper_put_nslength(po, n_extensions)) + ASN__ENCODE_FAILED; + + ASN_DEBUG("Bit-map of %d elements", n_extensions); + /* #18.7. Encoding the extensions presence bit-map. */ + /* TODO: act upon NOTE in #18.7 for canonical PER */ + if(SEQUENCE__handle_extensions(td, sptr, po, 0) != n_extensions) + ASN__ENCODE_FAILED; + + ASN_DEBUG("Writing %d extensions", n_extensions); + /* #18.9. Encode extensions as open type fields. */ + if(SEQUENCE__handle_extensions(td, sptr, 0, po) != n_extensions) + ASN__ENCODE_FAILED; + + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_xer.c b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_xer.c new file mode 100644 index 000000000..c6475f78a --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SEQUENCE_xer.c @@ -0,0 +1,348 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * Return a standardized complex structure. + */ +#undef RETURN +#define RETURN(_code) \ + do { \ + rval.code = _code; \ + rval.consumed = consumed_myself; \ + return rval; \ + } while(0) + +/* + * Check whether we are inside the extensions group. + */ +#define IN_EXTENSION_GROUP(specs, memb_idx) \ + ((specs)->first_extension >= 0 \ + && (unsigned)(specs)->first_extension <= (memb_idx)) + +#undef XER_ADVANCE +#define XER_ADVANCE(num_bytes) \ + do { \ + size_t num = (num_bytes); \ + ptr = ((const char *)ptr) + num; \ + size -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Decode the XER (XML) data. + */ +asn_dec_rval_t +SEQUENCE_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **struct_ptr, + const char *opt_mname, const void *ptr, size_t size) { + /* + * Bring closer parts of structure description. + */ + const asn_SEQUENCE_specifics_t *specs + = (const asn_SEQUENCE_specifics_t *)td->specifics; + asn_TYPE_member_t *elements = td->elements; + const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; + + /* + * ... and parts of the structure being constructed. + */ + void *st = *struct_ptr; /* Target structure. */ + asn_struct_ctx_t *ctx; /* Decoder context */ + + asn_dec_rval_t rval; /* Return value from a decoder */ + ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ + size_t edx; /* Element index */ + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) RETURN(RC_FAIL); + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + + /* + * Phases of XER/XML processing: + * Phase 0: Check that the opening tag matches our expectations. + * Phase 1: Processing body and reacting on closing tag. + * Phase 2: Processing inner type. + * Phase 3: Skipping unknown extensions. + * Phase 4: PHASED OUT + */ + for(edx = ctx->step; ctx->phase <= 3;) { + pxer_chunk_type_e ch_type; /* XER chunk type */ + ssize_t ch_size; /* Chunk size */ + xer_check_tag_e tcv; /* Tag check value */ + asn_TYPE_member_t *elm; + + /* + * Go inside the inner member of a sequence. + */ + if(ctx->phase == 2) { + asn_dec_rval_t tmprval; + void *memb_ptr_dontuse; /* Pointer to the member */ + void **memb_ptr2; /* Pointer to that pointer */ + + elm = &td->elements[edx]; + + if(elm->flags & ATF_POINTER) { + /* Member is a pointer to another structure */ + memb_ptr2 = (void **)((char *)st + elm->memb_offset); + } else { + memb_ptr_dontuse = (char *)st + elm->memb_offset; + memb_ptr2 = &memb_ptr_dontuse; /* Only use of memb_ptr_dontuse */ + } + + if(elm->flags & ATF_OPEN_TYPE) { + tmprval = OPEN_TYPE_xer_get(opt_codec_ctx, td, st, elm, ptr, size); + } else { + /* Invoke the inner type decoder, m.b. multiple times */ + tmprval = elm->type->op->xer_decoder(opt_codec_ctx, + elm->type, memb_ptr2, elm->name, + ptr, size); + } + XER_ADVANCE(tmprval.consumed); + if(tmprval.code != RC_OK) + RETURN(tmprval.code); + ctx->phase = 1; /* Back to body processing */ + ctx->step = ++edx; + ASN_DEBUG("XER/SEQUENCE phase => %d, step => %d", + ctx->phase, ctx->step); + /* Fall through */ + } + + /* + * Get the next part of the XML stream. + */ + ch_size = xer_next_token(&ctx->context, ptr, size, + &ch_type); + if(ch_size == -1) { + RETURN(RC_FAIL); + } else { + switch(ch_type) { + case PXER_WMORE: + RETURN(RC_WMORE); + case PXER_COMMENT: /* Got XML comment */ + case PXER_TEXT: /* Ignore free-standing text */ + XER_ADVANCE(ch_size); /* Skip silently */ + continue; + case PXER_TAG: + break; /* Check the rest down there */ + } + } + + tcv = xer_check_tag(ptr, ch_size, xml_tag); + ASN_DEBUG("XER/SEQUENCE: tcv = %d, ph=%d [%s]", + tcv, ctx->phase, xml_tag); + + /* Skip the extensions section */ + if(ctx->phase == 3) { + switch(xer_skip_unknown(tcv, &ctx->left)) { + case -1: + ctx->phase = 4; + RETURN(RC_FAIL); + case 0: + XER_ADVANCE(ch_size); + continue; + case 1: + XER_ADVANCE(ch_size); + ctx->phase = 1; + continue; + case 2: + ctx->phase = 1; + break; + } + } + + switch(tcv) { + case XCT_CLOSING: + if(ctx->phase == 0) break; + ctx->phase = 0; + /* Fall through */ + case XCT_BOTH: + if(ctx->phase == 0) { + if(edx >= td->elements_count || + /* Explicit OPTIONAL specs reaches the end */ + (edx + elements[edx].optional == td->elements_count) || + /* All extensions are optional */ + IN_EXTENSION_GROUP(specs, edx)) { + XER_ADVANCE(ch_size); + ctx->phase = 4; /* Phase out */ + RETURN(RC_OK); + } else { + ASN_DEBUG("Premature end of XER SEQUENCE"); + RETURN(RC_FAIL); + } + } + /* Fall through */ + case XCT_OPENING: + if(ctx->phase == 0) { + XER_ADVANCE(ch_size); + ctx->phase = 1; /* Processing body phase */ + continue; + } + /* Fall through */ + case XCT_UNKNOWN_OP: + case XCT_UNKNOWN_BO: + + ASN_DEBUG("XER/SEQUENCE: tcv=%d, ph=%d, edx=%" ASN_PRI_SIZE "", + tcv, ctx->phase, edx); + if(ctx->phase != 1) { + break; /* Really unexpected */ + } + + if(edx < td->elements_count) { + /* + * Search which member corresponds to this tag. + */ + size_t n; + size_t edx_end = edx + elements[edx].optional + 1; + if(edx_end > td->elements_count) + edx_end = td->elements_count; + for(n = edx; n < edx_end; n++) { + elm = &td->elements[n]; + tcv = xer_check_tag(ptr, ch_size, elm->name); + switch(tcv) { + case XCT_BOTH: + case XCT_OPENING: + /* + * Process this member. + */ + ctx->step = edx = n; + ctx->phase = 2; + break; + case XCT_UNKNOWN_OP: + case XCT_UNKNOWN_BO: + continue; + default: + n = edx_end; + break; /* Phase out */ + } + break; + } + if(n != edx_end) + continue; + } else { + ASN_DEBUG("Out of defined members: %" ASN_PRI_SIZE "/%u", + edx, td->elements_count); + } + + /* It is expected extension */ + if(IN_EXTENSION_GROUP(specs, + edx + (edx < td->elements_count + ? elements[edx].optional : 0))) { + ASN_DEBUG("Got anticipated extension at %" ASN_PRI_SIZE "", + edx); + /* + * Check for (XCT_BOTH or XCT_UNKNOWN_BO) + * By using a mask. Only record a pure + * tags. + */ + if(tcv & XCT_CLOSING) { + /* Found without body */ + } else { + ctx->left = 1; + ctx->phase = 3; /* Skip ...'s */ + } + XER_ADVANCE(ch_size); + continue; + } + + /* Fall through */ + default: + break; + } + + ASN_DEBUG("Unexpected XML tag in SEQUENCE [%c%c%c%c%c%c]", + size>0?((const char *)ptr)[0]:'.', + size>1?((const char *)ptr)[1]:'.', + size>2?((const char *)ptr)[2]:'.', + size>3?((const char *)ptr)[3]:'.', + size>4?((const char *)ptr)[4]:'.', + size>5?((const char *)ptr)[5]:'.'); + break; + } + + ctx->phase = 4; /* "Phase out" on hard failure */ + RETURN(RC_FAIL); +} + +asn_enc_rval_t +SEQUENCE_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, + int ilevel, enum xer_encoder_flags_e flags, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_enc_rval_t er = {0,0,0}; + int xcan = (flags & XER_F_CANONICAL); + asn_TYPE_descriptor_t *tmp_def_val_td = 0; + void *tmp_def_val = 0; + size_t edx; + + if(!sptr) ASN__ENCODE_FAILED; + + er.encoded = 0; + + for(edx = 0; edx < td->elements_count; edx++) { + asn_enc_rval_t tmper = {0,0,0}; + asn_TYPE_member_t *elm = &td->elements[edx]; + const void *memb_ptr; + const char *mname = elm->name; + unsigned int mlen = strlen(mname); + + if(elm->flags & ATF_POINTER) { + memb_ptr = + *(const void *const *)((const char *)sptr + elm->memb_offset); + if(!memb_ptr) { + assert(tmp_def_val == 0); + if(elm->default_value_set) { + if(elm->default_value_set(&tmp_def_val)) { + ASN__ENCODE_FAILED; + } else { + memb_ptr = tmp_def_val; + tmp_def_val_td = elm->type; + } + } else if(elm->optional) { + continue; + } else { + /* Mandatory element is missing */ + ASN__ENCODE_FAILED; + } + } + } else { + memb_ptr = (const void *)((const char *)sptr + elm->memb_offset); + } + + if(!xcan) ASN__TEXT_INDENT(1, ilevel); + ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); + + /* Print the member itself */ + tmper = elm->type->op->xer_encoder(elm->type, memb_ptr, ilevel + 1, + flags, cb, app_key); + if(tmp_def_val) { + ASN_STRUCT_FREE(*tmp_def_val_td, tmp_def_val); + tmp_def_val = 0; + } + if(tmper.encoded == -1) return tmper; + er.encoded += tmper.encoded; + + ASN__CALLBACK3("", 1); + } + + if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1); + + ASN__ENCODED_OK(er); +cb_failed: + if(tmp_def_val) ASN_STRUCT_FREE(*tmp_def_val_td, tmp_def_val); + ASN__ENCODE_FAILED; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SET_OF.c b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF.c new file mode 100644 index 000000000..97a7cac0c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF.c @@ -0,0 +1,371 @@ +/* + * Copyright (c) 2003-2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_TYPE_operation_t asn_OP_SET_OF = { + SET_OF_free, +#if !defined(ASN_DISABLE_PRINT_SUPPORT) + SET_OF_print, +#else + 0, +#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ + SET_OF_compare, +#if !defined(ASN_DISABLE_BER_SUPPORT) + SET_OF_decode_ber, + SET_OF_encode_der, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_XER_SUPPORT) + SET_OF_decode_xer, + SET_OF_encode_xer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ +#if !defined(ASN_DISABLE_JER_SUPPORT) + SET_OF_encode_jer, +#else + 0, +#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ +#if !defined(ASN_DISABLE_OER_SUPPORT) + SET_OF_decode_oer, + SET_OF_encode_oer, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + SET_OF_decode_uper, + SET_OF_encode_uper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + SET_OF_decode_aper, + SET_OF_encode_aper, +#else + 0, + 0, +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ +#if !defined(ASN_DISABLE_RFILL_SUPPORT) + SET_OF_random_fill, +#else + 0, +#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ + 0 /* Use generic outmost tag fetcher */ +}; + +/* Append bytes to the above structure */ +static int _el_addbytes(const void *buffer, size_t size, void *el_buf_ptr) { + struct _el_buffer *el_buf = (struct _el_buffer *)el_buf_ptr; + + if(el_buf->length + size > el_buf->allocated_size) { + size_t new_size = el_buf->allocated_size ? el_buf->allocated_size : 8; + void *p; + + do { + new_size <<= 2; + } while(el_buf->length + size > new_size); + + p = REALLOC(el_buf->buf, new_size); + if(p) { + el_buf->buf = p; + el_buf->allocated_size = new_size; + } else { + return -1; + } + } + + memcpy(el_buf->buf + el_buf->length, buffer, size); + + el_buf->length += size; + return 0; +} + +static void assert_unused_bits(const struct _el_buffer* p) { + if(p->length) { + assert((p->buf[p->length-1] & ~(0xff << p->bits_unused)) == 0); + } else { + assert(p->bits_unused == 0); + } +} + +static int _el_buf_cmp(const void *ap, const void *bp) { + const struct _el_buffer *a = (const struct _el_buffer *)ap; + const struct _el_buffer *b = (const struct _el_buffer *)bp; + size_t common_len; + int ret = 0; + + if(a->length < b->length) + common_len = a->length; + else + common_len = b->length; + + if (a->buf && b->buf) { + ret = memcmp(a->buf, b->buf, common_len); + } + if(ret == 0) { + if(a->length < b->length) + ret = -1; + else if(a->length > b->length) + ret = 1; + /* Ignore unused bits. */ + assert_unused_bits(a); + assert_unused_bits(b); + } + + return ret; +} + +void +SET_OF__encode_sorted_free(struct _el_buffer *el_buf, size_t count) { + size_t i; + + for(i = 0; i < count; i++) { + FREEMEM(el_buf[i].buf); + } + + FREEMEM(el_buf); +} + +struct _el_buffer * +SET_OF__encode_sorted(const asn_TYPE_member_t *elm, + const asn_anonymous_set_ *list, + enum SET_OF__encode_method method) { + struct _el_buffer *encoded_els; + int edx; + + encoded_els = + (struct _el_buffer *)CALLOC(list->count, sizeof(encoded_els[0])); + if(encoded_els == NULL) { + return NULL; + } + + /* + * Encode all members. + */ + for(edx = 0; edx < list->count; edx++) { + const void *memb_ptr = list->array[edx]; + struct _el_buffer *encoding_el = &encoded_els[edx]; + asn_enc_rval_t erval = {0,0,0}; + + if(!memb_ptr) break; + + /* + * Encode the member into the prepared space. + */ + switch(method) { +#if !defined(ASN_DISABLE_BER_SUPPORT) + case SOES_DER: + erval = elm->type->op->der_encoder(elm->type, memb_ptr, 0, elm->tag, + _el_addbytes, encoding_el); + break; +#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ +#if !defined(ASN_DISABLE_UPER_SUPPORT) + case SOES_CUPER: + erval = uper_encode(elm->type, + elm->encoding_constraints.per_constraints, + memb_ptr, _el_addbytes, encoding_el); + if(erval.encoded != -1) { + size_t extra_bits = erval.encoded % 8; + assert(encoding_el->length == (size_t)(erval.encoded + 7) / 8); + encoding_el->bits_unused = (8 - extra_bits) & 0x7; + } + break; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ +#if !defined(ASN_DISABLE_APER_SUPPORT) + case SOES_CAPER: + erval = aper_encode(elm->type, + elm->encoding_constraints.per_constraints, + memb_ptr, _el_addbytes, encoding_el); + if(erval.encoded != -1) { + size_t extra_bits = erval.encoded % 8; + assert(encoding_el->length == (size_t)(erval.encoded + 7) / 8); + encoding_el->bits_unused = (8 - extra_bits) & 0x7; + } + break; +#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ + + default: + assert(!"Unreachable"); + break; + } + if(erval.encoded < 0) break; + } + + if(edx == list->count) { + /* + * Sort the encoded elements according to their encoding. + */ + qsort(encoded_els, list->count, sizeof(encoded_els[0]), _el_buf_cmp); + + return encoded_els; + } else { + SET_OF__encode_sorted_free(encoded_els, edx); + return NULL; + } +} + +void +SET_OF_free(const asn_TYPE_descriptor_t *td, void *ptr, + enum asn_struct_free_method method) { + if(td && ptr) { + const asn_SET_OF_specifics_t *specs; + asn_TYPE_member_t *elm = td->elements; + asn_anonymous_set_ *list = _A_SET_FROM_VOID(ptr); + asn_struct_ctx_t *ctx; /* Decoder context */ + int i; + + /* + * Could not use set_of_empty() because of (*free) + * incompatibility. + */ + for(i = 0; i < list->count; i++) { + void *memb_ptr = list->array[i]; + if(memb_ptr) + ASN_STRUCT_FREE(*elm->type, memb_ptr); + } + list->count = 0; /* No meaningful elements left */ + + asn_set_empty(list); /* Remove (list->array) */ + + specs = (const asn_SET_OF_specifics_t *)td->specifics; + ctx = (asn_struct_ctx_t *)((char *)ptr + specs->ctx_offset); + if(ctx->ptr) { + ASN_STRUCT_FREE(*elm->type, ctx->ptr); + ctx->ptr = 0; + } + + switch(method) { + case ASFM_FREE_EVERYTHING: + FREEMEM(ptr); + break; + case ASFM_FREE_UNDERLYING: + break; + case ASFM_FREE_UNDERLYING_AND_RESET: + memset(ptr, 0, specs->struct_size); + break; + } + } +} + +int +SET_OF_constraint(const asn_TYPE_descriptor_t *td, const void *sptr, + asn_app_constraint_failed_f *ctfailcb, void *app_key) { + const asn_TYPE_member_t *elm = td->elements; + asn_constr_check_f *constr; + const asn_anonymous_set_ *list = _A_CSET_FROM_VOID(sptr); + int i; + + if(!sptr) { + ASN__CTFAIL(app_key, td, sptr, + "%s: value not given (%s:%d)", + td->name, __FILE__, __LINE__); + return -1; + } + + constr = elm->encoding_constraints.general_constraints; + if(!constr) constr = elm->type->encoding_constraints.general_constraints; + + /* + * Iterate over the members of an array. + * Validate each in turn, until one fails. + */ + for(i = 0; i < list->count; i++) { + const void *memb_ptr = list->array[i]; + int ret; + + if(!memb_ptr) continue; + + ret = constr(elm->type, memb_ptr, ctfailcb, app_key); + if(ret) return ret; + } + + return 0; +} + +struct comparable_ptr { + const asn_TYPE_descriptor_t *td; + const void *sptr; +}; + +static int +SET_OF__compare_cb(const void *aptr, const void *bptr) { + const struct comparable_ptr *a = aptr; + const struct comparable_ptr *b = bptr; + assert(a->td == b->td); + return a->td->op->compare_struct(a->td, a->sptr, b->sptr); +} + +int +SET_OF_compare(const asn_TYPE_descriptor_t *td, const void *aptr, + const void *bptr) { + const asn_anonymous_set_ *a = _A_CSET_FROM_VOID(aptr); + const asn_anonymous_set_ *b = _A_CSET_FROM_VOID(bptr); + + if(a && b) { + struct comparable_ptr *asorted; + struct comparable_ptr *bsorted; + ssize_t common_length; + ssize_t idx; + + if(a->count == 0) { + if(b->count) return -1; + return 0; + } else if(b->count == 0) { + return 1; + } + + asorted = MALLOC(a->count * sizeof(asorted[0])); + bsorted = MALLOC(b->count * sizeof(bsorted[0])); + if(!asorted || !bsorted) { + FREEMEM(asorted); + FREEMEM(bsorted); + return -1; + } + + for(idx = 0; idx < a->count; idx++) { + asorted[idx].td = td->elements->type; + asorted[idx].sptr = a->array[idx]; + } + + for(idx = 0; idx < b->count; idx++) { + bsorted[idx].td = td->elements->type; + bsorted[idx].sptr = b->array[idx]; + } + + qsort(asorted, a->count, sizeof(asorted[0]), SET_OF__compare_cb); + qsort(bsorted, b->count, sizeof(bsorted[0]), SET_OF__compare_cb); + + common_length = (a->count < b->count ? a->count : b->count); + for(idx = 0; idx < common_length; idx++) { + int ret = td->elements->type->op->compare_struct( + td->elements->type, asorted[idx].sptr, bsorted[idx].sptr); + if(ret) { + FREEMEM(asorted); + FREEMEM(bsorted); + return ret; + } + } + + FREEMEM(asorted); + FREEMEM(bsorted); + + if(idx < b->count) /* more elements in b */ + return -1; /* a is shorter, so put it first */ + if(idx < a->count) return 1; + } else if(!a) { + return -1; + } else if(!b) { + return 1; + } + + return 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SET_OF.h b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF.h deleted file mode 100644 index 0e9dd39a1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/constr_SET_OF.h +++ /dev/null @@ -1,102 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef CONSTR_SET_OF_H -#define CONSTR_SET_OF_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct asn_SET_OF_specifics_s { - /* - * Target structure description. - */ - unsigned struct_size; /* Size of the target structure. */ - unsigned ctx_offset; /* Offset of the asn_struct_ctx_t member */ - - /* XER-specific stuff */ - int as_XMLValueList; /* The member type must be encoded like this */ -} asn_SET_OF_specifics_t; - -/* - * A set specialized functions dealing with the SET OF type. - */ -asn_struct_free_f SET_OF_free; - -#if !defined(ASN_DISABLE_PRINT_SUPPORT) -asn_struct_print_f SET_OF_print; -#endif /* !defined(ASN_DISABLE_PRINT_SUPPORT) */ - -asn_struct_compare_f SET_OF_compare; - -asn_constr_check_f SET_OF_constraint; - -#if !defined(ASN_DISABLE_BER_SUPPORT) -ber_type_decoder_f SET_OF_decode_ber; -der_type_encoder_f SET_OF_encode_der; -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -xer_type_decoder_f SET_OF_decode_xer; -xer_type_encoder_f SET_OF_encode_xer; -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -jer_type_encoder_f SET_OF_encode_jer; -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -oer_type_decoder_f SET_OF_decode_oer; -oer_type_encoder_f SET_OF_encode_oer; -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) -per_type_decoder_f SET_OF_decode_uper; -per_type_encoder_f SET_OF_encode_uper; -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) */ -#if !defined(ASN_DISABLE_APER_SUPPORT) -per_type_decoder_f SET_OF_decode_aper; -per_type_encoder_f SET_OF_encode_aper; -#endif /* !defined(ASN_DISABLE_APER_SUPPORT) */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -asn_random_fill_f SET_OF_random_fill; -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -extern asn_TYPE_operation_t asn_OP_SET_OF; - -/* - * Internally visible buffer holding a single encoded element. - */ -struct _el_buffer { - uint8_t *buf; - size_t length; - size_t allocated_size; - unsigned bits_unused; -}; - -enum SET_OF__encode_method { - SOES_DER, /* Distinguished Encoding Rules */ - SOES_CUPER, /* Canonical Unaligned Packed Encoding Rules */ - SOES_CAPER /* Canonical Aligned Packed Encoding Rules */ -}; - -struct _el_buffer * SET_OF__encode_sorted( - const asn_TYPE_member_t *elm, - const asn_anonymous_set_ *list, - enum SET_OF__encode_method method); - -void SET_OF__encode_sorted_free( - struct _el_buffer *el_buf, - size_t count); - -#ifdef __cplusplus -} -#endif - -#endif /* CONSTR_SET_OF_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_aper.c b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_aper.c new file mode 100644 index 000000000..87c341e0f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_aper.c @@ -0,0 +1,186 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_enc_rval_t +SET_OF_encode_aper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const asn_anonymous_set_ *list; + const asn_per_constraint_t *ct; + const asn_TYPE_member_t *elm = td->elements; + struct _el_buffer *encoded_els; + asn_enc_rval_t er = {0,0,0}; + int seq; + + if(!sptr) ASN__ENCODE_FAILED; + + list = _A_CSET_FROM_VOID(sptr); + + er.encoded = 0; + + ASN_DEBUG("Encoding %s as SET OF (%d)", td->name, list->count); + + if(constraints) ct = &constraints->size; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->size; + else ct = 0; + + /* If extensible constraint, check if size is in root */ + if(ct) { + int not_in_root = + (list->count < ct->lower_bound || list->count > ct->upper_bound); + ASN_DEBUG("lb %lld ub %lld %s", + (long long int)ct->lower_bound, + (long long int)ct->upper_bound, + ct->flags & APC_EXTENSIBLE ? "ext" : "fix"); + if(ct->flags & APC_EXTENSIBLE) { + /* Declare whether size is in extension root */ + if(per_put_few_bits(po, not_in_root, 1)) ASN__ENCODE_FAILED; + if(not_in_root) ct = 0; + } else if(not_in_root && ct->effective_bits >= 0) { + ASN__ENCODE_FAILED; + } + + } + + if(ct && ct->effective_bits >= 0) { + /* X.691, #19.5: No length determinant */ + /*if(per_put_few_bits(po, list->count - ct->lower_bound, + ct->effective_bits)) + ASN__ENCODE_FAILED;*/ + + if (aper_put_length(po, ct->lower_bound, ct->upper_bound, list->count - ct->lower_bound, 0) < 0) { + ASN__ENCODE_FAILED; + } + } + + /* + * Canonical PER #22.1 mandates dynamic sorting of the SET OF elements + * according to their encodings. Build an array of the encoded elements. + */ + encoded_els = SET_OF__encode_sorted(elm, list, SOES_CAPER); + + for(seq = 0; seq < list->count;) { + ssize_t may_encode; + int need_eom = 0; + if(ct && ct->effective_bits >= 0) { + may_encode = list->count; + } else { + may_encode = + aper_put_length(po, -1, -1, list->count - seq, &need_eom); + if(may_encode < 0) ASN__ENCODE_FAILED; + } + + while(may_encode--) { + const struct _el_buffer *el = &encoded_els[seq++]; + if(asn_put_many_bits(po, el->buf, + (8 * el->length) - el->bits_unused) < 0) { + break; + } + } + if(need_eom && (aper_put_length(po, -1, -1, 0, NULL) < 0)) + ASN__ENCODE_FAILED; /* End of Message length */ + } + + SET_OF__encode_sorted_free(encoded_els, list->count); + + ASN__ENCODED_OK(er); +} + +asn_dec_rval_t +SET_OF_decode_aper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, asn_per_data_t *pd) { + asn_dec_rval_t rv = {RC_OK, 0}; + const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; + const asn_TYPE_member_t *elm = td->elements; /* Single one */ + void *st = *sptr; + asn_anonymous_set_ *list; + const asn_per_constraint_t *ct; + int repeat = 0; + ssize_t nelems; + + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + ASN__DECODE_FAILED; + + /* + * Create the target structure if it is not present already. + */ + if(!st) { + st = *sptr = CALLOC(1, specs->struct_size); + if(!st) ASN__DECODE_FAILED; + } + list = _A_SET_FROM_VOID(st); + + /* Figure out which constraints to use */ + if(constraints) ct = &constraints->size; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->size; + else ct = 0; + + if(ct && ct->flags & APC_EXTENSIBLE) { + int value = per_get_few_bits(pd, 1); + if(value < 0) ASN__DECODE_STARVED; + if(value) ct = 0; /* Not restricted! */ + } + + if(ct && ct->effective_bits >= 0) { + /* X.691, #19.5: No length determinant */ + nelems = aper_get_nsnnwn(pd, ct->upper_bound - ct->lower_bound + 1); + ASN_DEBUG("Preparing to fetch %ld+%lld elements from %s", + (long)nelems, (long long int)ct->lower_bound, td->name); + if(nelems < 0) ASN__DECODE_STARVED; + nelems += ct->lower_bound; + } else { + nelems = -1; + } + + do { + int i; + if(nelems < 0) { + if (ct) + nelems = aper_get_length(pd, ct->lower_bound, ct->upper_bound, + ct->effective_bits, &repeat); + else + nelems = aper_get_length(pd, -1, -1, -1, &repeat); + ASN_DEBUG("Got to decode %d elements (eff %d)", + (int)nelems, (int)(ct ? ct->effective_bits : -1)); + if(nelems < 0) ASN__DECODE_STARVED; + } + + for(i = 0; i < nelems; i++) { + void *ptr = 0; + ASN_DEBUG("SET OF %s decoding", elm->type->name); + rv = elm->type->op->aper_decoder(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, &ptr, pd); + ASN_DEBUG("%s SET OF %s decoded %d, %p", + td->name, elm->type->name, rv.code, ptr); + if(rv.code == RC_OK) { + if(ASN_SET_ADD(list, ptr) == 0) + continue; + ASN_DEBUG("Failed to add element into %s", + td->name); + /* Fall through */ + rv.code = RC_FAIL; + } else { + ASN_DEBUG("Failed decoding %s of %s (SET OF)", + elm->type->name, td->name); + } + if(ptr) ASN_STRUCT_FREE(*elm->type, ptr); + return rv; + } + + nelems = -1; /* Allow uper_get_length() */ + } while(repeat); + + ASN_DEBUG("Decoded %s as SET OF", td->name); + + rv.code = RC_OK; + rv.consumed = 0; + return rv; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_ber.c b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_ber.c new file mode 100644 index 000000000..4187e2999 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_ber.c @@ -0,0 +1,355 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * Number of bytes left for this structure. + * (ctx->left) indicates the number of bytes _transferred_ for the structure. + * (size) contains the number of bytes in the buffer passed. + */ +#define LEFT ((size<(size_t)ctx->left)?size:(size_t)ctx->left) + +/* + * If the subprocessor function returns with an indication that it wants + * more data, it may well be a fatal decoding problem, because the + * size is constrained by the 's L, even if the buffer size allows + * reading more data. + * For example, consider the buffer containing the following TLVs: + * ... + * The TLV length clearly indicates that one byte is expected in V, but + * if the V processor returns with "want more data" even if the buffer + * contains way more data than the V processor have seen. + */ +#define SIZE_VIOLATION (ctx->left >= 0 && (size_t)ctx->left <= size) + +/* + * This macro "eats" the part of the buffer which is definitely "consumed", + * i.e. was correctly converted into local representation or rightfully skipped. + */ +#undef ADVANCE +#define ADVANCE(num_bytes) \ + do { \ + size_t num = num_bytes; \ + ptr = ((const char *)ptr) + num; \ + size -= num; \ + if(ctx->left >= 0) \ + ctx->left -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Switch to the next phase of parsing. + */ +#undef NEXT_PHASE +#define NEXT_PHASE(ctx) \ + do { \ + ctx->phase++; \ + ctx->step = 0; \ + } while(0) +#undef PHASE_OUT +#define PHASE_OUT(ctx) \ + do { \ + ctx->phase = 10; \ + } while(0) + +/* + * Return a standardized complex structure. + */ +#undef RETURN +#define RETURN(_code) \ + do { \ + rval.code = _code; \ + rval.consumed = consumed_myself; \ + return rval; \ + } while(0) + +/* + * The decoder of the SET OF type. + */ +asn_dec_rval_t +SET_OF_decode_ber(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **struct_ptr, + const void *ptr, size_t size, int tag_mode) { + /* + * Bring closer parts of structure description. + */ + const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; + const asn_TYPE_member_t *elm = td->elements; /* Single one */ + + /* + * Parts of the structure being constructed. + */ + void *st = *struct_ptr; /* Target structure. */ + asn_struct_ctx_t *ctx; /* Decoder context */ + + ber_tlv_tag_t tlv_tag; /* T from TLV */ + asn_dec_rval_t rval; /* Return code from subparsers */ + + ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ + + ASN_DEBUG("Decoding %s as SET OF", td->name); + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) { + RETURN(RC_FAIL); + } + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + /* + * Start to parse where left previously + */ + switch(ctx->phase) { + case 0: + /* + * PHASE 0. + * Check that the set of tags associated with given structure + * perfectly fits our expectations. + */ + + rval = ber_check_tags(opt_codec_ctx, td, ctx, ptr, size, + tag_mode, 1, &ctx->left, 0); + if(rval.code != RC_OK) { + ASN_DEBUG("%s tagging check failed: %d", + td->name, rval.code); + return rval; + } + + if(ctx->left >= 0) + ctx->left += rval.consumed; /* ?Subtracted below! */ + ADVANCE(rval.consumed); + + ASN_DEBUG("Structure consumes %ld bytes, " + "buffer %ld", (long)ctx->left, (long)size); + + NEXT_PHASE(ctx); + /* Fall through */ + case 1: + /* + * PHASE 1. + * From the place where we've left it previously, + * try to decode the next item. + */ + for(;; ctx->step = 0) { + ssize_t tag_len; /* Length of TLV's T */ + + if(ctx->step & 1) + goto microphase2; + + /* + * MICROPHASE 1: Synchronize decoding. + */ + + if(ctx->left == 0) { + ASN_DEBUG("End of SET OF %s", td->name); + /* + * No more things to decode. + * Exit out of here. + */ + PHASE_OUT(ctx); + RETURN(RC_OK); + } + + /* + * Fetch the T from TLV. + */ + tag_len = ber_fetch_tag(ptr, LEFT, &tlv_tag); + switch(tag_len) { + case 0: if(!SIZE_VIOLATION) RETURN(RC_WMORE); + /* Fall through */ + case -1: RETURN(RC_FAIL); + } + + if(ctx->left < 0 && ((const uint8_t *)ptr)[0] == 0) { + if(LEFT < 2) { + if(SIZE_VIOLATION) + RETURN(RC_FAIL); + else + RETURN(RC_WMORE); + } else if(((const uint8_t *)ptr)[1] == 0) { + /* + * Found the terminator of the + * indefinite length structure. + */ + break; + } + } + + /* Outmost tag may be unknown and cannot be fetched/compared */ + if(elm->tag != (ber_tlv_tag_t)-1) { + if(BER_TAGS_EQUAL(tlv_tag, elm->tag)) { + /* + * The new list member of expected type has arrived. + */ + } else { + ASN_DEBUG("Unexpected tag %s fixed SET OF %s", + ber_tlv_tag_string(tlv_tag), td->name); + ASN_DEBUG("%s SET OF has tag %s", + td->name, ber_tlv_tag_string(elm->tag)); + RETURN(RC_FAIL); + } + } + + /* + * MICROPHASE 2: Invoke the member-specific decoder. + */ + ctx->step |= 1; /* Confirm entering next microphase */ + microphase2: + + /* + * Invoke the member fetch routine according to member's type + */ + rval = elm->type->op->ber_decoder(opt_codec_ctx, + elm->type, &ctx->ptr, + ptr, LEFT, 0); + ASN_DEBUG("In %s SET OF %s code %d consumed %d", + td->name, elm->type->name, + rval.code, (int)rval.consumed); + switch(rval.code) { + case RC_OK: + { + asn_anonymous_set_ *list = _A_SET_FROM_VOID(st); + if(ASN_SET_ADD(list, ctx->ptr) != 0) + RETURN(RC_FAIL); + else + ctx->ptr = 0; + } + break; + case RC_WMORE: /* More data expected */ + if(!SIZE_VIOLATION) { + ADVANCE(rval.consumed); + RETURN(RC_WMORE); + } + /* Fall through */ + case RC_FAIL: /* Fatal error */ + ASN_STRUCT_FREE(*elm->type, ctx->ptr); + ctx->ptr = 0; + RETURN(RC_FAIL); + } /* switch(rval) */ + + ADVANCE(rval.consumed); + } /* for(all list members) */ + + NEXT_PHASE(ctx); + case 2: + /* + * Read in all "end of content" TLVs. + */ + while(ctx->left < 0) { + if(LEFT < 2) { + if(LEFT > 0 && ((const char *)ptr)[0] != 0) { + /* Unexpected tag */ + RETURN(RC_FAIL); + } else { + RETURN(RC_WMORE); + } + } + if(((const char *)ptr)[0] == 0 + && ((const char *)ptr)[1] == 0) { + ADVANCE(2); + ctx->left++; + } else { + RETURN(RC_FAIL); + } + } + + PHASE_OUT(ctx); + } + + RETURN(RC_OK); +} + +/* + * The DER encoder of the SET OF type. + */ +asn_enc_rval_t +SET_OF_encode_der(const asn_TYPE_descriptor_t *td, const void *sptr, + int tag_mode, ber_tlv_tag_t tag, asn_app_consume_bytes_f *cb, + void *app_key) { + const asn_TYPE_member_t *elm = td->elements; + const asn_anonymous_set_ *list = _A_CSET_FROM_VOID(sptr); + size_t computed_size = 0; + ssize_t encoding_size = 0; + struct _el_buffer *encoded_els; + int edx; + + ASN_DEBUG("Estimating size for SET OF %s", td->name); + + /* + * Gather the length of the underlying members sequence. + */ + for(edx = 0; edx < list->count; edx++) { + void *memb_ptr = list->array[edx]; + asn_enc_rval_t erval = {0,0,0}; + + if(!memb_ptr) ASN__ENCODE_FAILED; + + erval = + elm->type->op->der_encoder(elm->type, memb_ptr, 0, elm->tag, 0, 0); + if(erval.encoded == -1) return erval; + computed_size += erval.encoded; + } + + /* + * Encode the TLV for the sequence itself. + */ + encoding_size = + der_write_tags(td, computed_size, tag_mode, 1, tag, cb, app_key); + if(encoding_size < 0) { + ASN__ENCODE_FAILED; + } + computed_size += encoding_size; + + if(!cb || list->count == 0) { + asn_enc_rval_t erval = {0,0,0}; + erval.encoded = computed_size; + ASN__ENCODED_OK(erval); + } + + ASN_DEBUG("Encoding members of %s SET OF", td->name); + + /* + * DER mandates dynamic sorting of the SET OF elements + * according to their encodings. Build an array of the + * encoded elements. + */ + encoded_els = SET_OF__encode_sorted(elm, list, SOES_DER); + + /* + * Report encoded elements to the application. + * Dispose of temporary sorted members table. + */ + for(edx = 0; edx < list->count; edx++) { + struct _el_buffer *encoded_el = &encoded_els[edx]; + /* Report encoded chunks to the application */ + if(cb(encoded_el->buf, encoded_el->length, app_key) < 0) { + break; + } else { + encoding_size += encoded_el->length; + } + } + + SET_OF__encode_sorted_free(encoded_els, list->count); + + if(edx == list->count) { + asn_enc_rval_t erval = {0,0,0}; + assert(computed_size == (size_t)encoding_size); + erval.encoded = computed_size; + ASN__ENCODED_OK(erval); + } else { + ASN__ENCODE_FAILED; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_oer.c b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_oer.c new file mode 100644 index 000000000..a0f0140dc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_oer.c @@ -0,0 +1,281 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include + +/* + * This macro "eats" the part of the buffer which is definitely "consumed", + * i.e. was correctly converted into local representation or rightfully skipped. + */ +#undef ADVANCE +#define ADVANCE(num_bytes) \ + do { \ + size_t num = num_bytes; \ + ptr = ((const char *)ptr) + num; \ + size -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Switch to the next phase of parsing. + */ +#undef NEXT_PHASE +#define NEXT_PHASE(ctx) \ + do { \ + ctx->phase++; \ + ctx->step = 0; \ + } while(0) +#undef SET_PHASE +#define SET_PHASE(ctx, value) \ + do { \ + ctx->phase = value; \ + ctx->step = 0; \ + } while(0) + +/* + * Return a standardized complex structure. + */ +#undef RETURN +#define RETURN(_code) \ + do { \ + asn_dec_rval_t _rval; \ + _rval.code = _code; \ + _rval.consumed = consumed_myself; \ + return _rval; \ + } while(0) + +/* + * The SEQUENCE OF and SET OF values utilize a "quantity field". + * It is is a pointless combination of #8.6 (length determinant, capable + * of encoding tiny and huge numbers in the shortest possible number of octets) + * and the variable sized integer. What could have been encoded by #8.6 alone + * is required to be encoded by #8.6 followed by that number of unsigned octets. + * This doesn't make too much sense. It seems that the original version of OER + * standard have been using the unconstrained unsigned integer as a quantity + * field, and this legacy have gone through ISO/ITU-T standardization process. + */ +static ssize_t +oer_fetch_quantity(const void *ptr, size_t size, size_t *qty_r) { + const uint8_t *b; + const uint8_t *bend; + size_t len = 0; + size_t qty; + + ssize_t len_len = oer_fetch_length(ptr, size, &len); + if(len_len <= 0) { + *qty_r = 0; + return len_len; + } + + if((len_len + len) > size) { + *qty_r = 0; + return 0; + } + + b = (const uint8_t *)ptr + len_len; + bend = b + len; + + /* Skip the leading 0-bytes */ + for(; b < bend && *b == 0; b++) { + } + + if((bend - b) > (ssize_t)sizeof(size_t)) { + /* Length is not representable by the native size_t type */ + *qty_r = 0; + return -1; + } + + for(qty = 0; b < bend; b++) { + qty = (qty << 8) + *b; + } + + if(qty > RSIZE_MAX) { /* A bit of C11 validation */ + *qty_r = 0; + return -1; + } + + *qty_r = qty; + assert((size_t)len_len + len == (size_t)(bend - (const uint8_t *)ptr)); + return len_len + len; +} + +asn_dec_rval_t +SET_OF_decode_oer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, void **struct_ptr, + const void *ptr, size_t size) { + const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; + asn_dec_rval_t rval = {RC_OK, 0}; + void *st = *struct_ptr; /* Target structure */ + asn_struct_ctx_t *ctx; /* Decoder context */ + size_t consumed_myself = 0; /* Consumed bytes from ptr. */ + + (void)constraints; + + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + ASN__DECODE_FAILED; + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) { + RETURN(RC_FAIL); + } + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + /* + * Start to parse where left previously. + */ + switch(ctx->phase) { + case 0: { + /* + * Fetch number of elements to decode. + */ + size_t length = 0; + size_t len_size = oer_fetch_quantity(ptr, size, &length); + switch(len_size) { + case 0: + RETURN(RC_WMORE); + case -1: + RETURN(RC_FAIL); + default: + ADVANCE(len_size); + ctx->left = length; + } + } + NEXT_PHASE(ctx); + /* FALL THROUGH */ + case 1: { + /* Decode components of the extension root */ + asn_TYPE_member_t *elm = td->elements; + asn_anonymous_set_ *list = _A_SET_FROM_VOID(st); + const void *base_ptr = ptr; + ber_tlv_len_t base_ctx_left = ctx->left; + + assert(td->elements_count == 1); + + ASN_DEBUG("OER SET OF %s Decoding PHASE 1", td->name); + + for(; ctx->left > 0; ctx->left--) { + asn_dec_rval_t rv = elm->type->op->oer_decoder( + opt_codec_ctx, elm->type, + elm->encoding_constraints.oer_constraints, &ctx->ptr, ptr, + size); + ADVANCE(rv.consumed); + switch(rv.code) { + case RC_OK: + if(ASN_SET_ADD(list, ctx->ptr) != 0) { + RETURN(RC_FAIL); + } else { + ctx->ptr = 0; + /* + * This check is to avoid compression bomb with + * specs like SEQUENCE/SET OF NULL which don't + * consume data at all. + */ + if(rv.consumed == 0 && base_ptr == ptr + && (base_ctx_left - ctx->left) > 200) { + ASN__DECODE_FAILED; + } + break; + } + case RC_WMORE: + RETURN(RC_WMORE); + case RC_FAIL: + ASN_STRUCT_FREE(*elm->type, ctx->ptr); + ctx->ptr = 0; + SET_PHASE(ctx, 3); + RETURN(RC_FAIL); + } + } + /* Decoded decently. */ + NEXT_PHASE(ctx); + } + /* Fall through */ + case 2: + /* Ignore fully decoded */ + assert(ctx->left == 0); + RETURN(RC_OK); + case 3: + /* Failed to decode. */ + RETURN(RC_FAIL); + } + + return rval; +} + +static ssize_t +oer_put_quantity(size_t qty, asn_app_consume_bytes_f *cb, void *app_key) { + uint8_t buf[1 + sizeof(size_t)]; + uint8_t *b = &buf[sizeof(size_t)]; /* Last addressable */ + size_t encoded; + + do { + *b-- = qty; + qty >>= 8; + } while(qty); + + *b = sizeof(buf) - (b-buf) - 1; + encoded = sizeof(buf) - (b-buf); + if(cb(b, encoded, app_key) < 0) + return -1; + return encoded; +} + +/* + * Encode as Canonical OER. + */ +asn_enc_rval_t +SET_OF_encode_oer(const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, const void *sptr, + asn_app_consume_bytes_f *cb, void *app_key) { + const asn_TYPE_member_t *elm; + const asn_anonymous_set_ *list; + size_t computed_size = 0; + ssize_t qty_len; + int n; + + (void)constraints; + + if(!sptr) ASN__ENCODE_FAILED; + + elm = td->elements; + list = _A_CSET_FROM_VOID(sptr); + + qty_len = oer_put_quantity(list->count, cb, app_key); + if(qty_len < 0) { + ASN__ENCODE_FAILED; + } + computed_size += qty_len; + + for(n = 0; n < list->count; n++) { + void *memb_ptr = list->array[n]; + asn_enc_rval_t er = {0,0,0}; + er = elm->type->op->oer_encoder( + elm->type, elm->encoding_constraints.oer_constraints, memb_ptr, cb, + app_key); + if(er.encoded < 0) { + return er; + } else { + computed_size += er.encoded; + } + } + + { + asn_enc_rval_t erval = {0,0,0}; + erval.encoded = computed_size; + ASN__ENCODED_OK(erval); + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_print.c b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_print.c new file mode 100644 index 000000000..748dba767 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_print.c @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +int +SET_OF_print(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_TYPE_member_t *elm = td->elements; + const asn_anonymous_set_ *list = _A_CSET_FROM_VOID(sptr); + int ret; + int i; + + if(!sptr) return (cb("", 8, app_key) < 0) ? -1 : 0; + + /* Dump preamble */ + if(cb(td->name, strlen(td->name), app_key) < 0 + || cb(" ::= {", 6, app_key) < 0) + return -1; + + for(i = 0; i < list->count; i++) { + const void *memb_ptr = list->array[i]; + if(!memb_ptr) continue; + + _i_INDENT(1); + + ret = elm->type->op->print_struct(elm->type, memb_ptr, + ilevel + 1, cb, app_key); + if(ret) return ret; + } + + ilevel--; + _i_INDENT(1); + + return (cb("}", 1, app_key) < 0) ? -1 : 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_rfill.c b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_rfill.c new file mode 100644 index 000000000..9b2ac5ed2 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_rfill.c @@ -0,0 +1,152 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_random_fill_result_t +SET_OF_random_fill(const asn_TYPE_descriptor_t *td, void **sptr, + const asn_encoding_constraints_t *constraints, + size_t max_length) { + const asn_SET_OF_specifics_t *specs = + (const asn_SET_OF_specifics_t *)td->specifics; + asn_random_fill_result_t res_ok = {ARFILL_OK, 0}; + asn_random_fill_result_t result_failed = {ARFILL_FAILED, 0}; + asn_random_fill_result_t result_skipped = {ARFILL_SKIPPED, 0}; + const asn_TYPE_member_t *elm = td->elements; + void *st = *sptr; + long max_elements = 5; + long slb = 0; /* Lower size bound */ + long sub = 0; /* Upper size bound */ + size_t rnd_len; + + if(max_length == 0) return result_skipped; + + if(st == NULL) { + st = (*sptr = CALLOC(1, specs->struct_size)); + if(st == NULL) { + return result_failed; + } + } + + switch(asn_random_between(0, 6)) { + case 0: max_elements = 0; break; + case 1: max_elements = 1; break; + case 2: max_elements = 5; break; + case 3: max_elements = max_length; break; + case 4: max_elements = max_length / 2; break; + case 5: max_elements = max_length / 4; break; + default: break; + } + sub = slb + max_elements; + +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + if(!constraints || !constraints->per_constraints) + constraints = &td->encoding_constraints; + if(constraints->per_constraints) { + const asn_per_constraint_t *pc = &constraints->per_constraints->size; + if(pc->flags & APC_SEMI_CONSTRAINED) { + slb = pc->lower_bound; + sub = pc->lower_bound + max_elements; + } else if(pc->flags & APC_CONSTRAINED) { + slb = pc->lower_bound; + sub = pc->upper_bound; + if(sub - slb > max_elements) sub = slb + max_elements; + } + } +#else + if(!constraints) constraints = &td->encoding_constraints; +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + + /* Bias towards edges of allowed space */ + switch(asn_random_between(-1, 4)) { + default: + case -1: +#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) + /* Prepare lengths somewhat outside of constrained range. */ + if(constraints->per_constraints + && (constraints->per_constraints->size.flags & APC_EXTENSIBLE)) { + switch(asn_random_between(0, 5)) { + default: + case 0: + rnd_len = 0; + break; + case 1: + if(slb > 0) { + rnd_len = slb - 1; + } else { + rnd_len = 0; + } + break; + case 2: + rnd_len = asn_random_between(0, slb); + break; + case 3: + if(sub < (ssize_t)max_length) { + rnd_len = sub + 1; + } else { + rnd_len = max_length; + } + break; + case 4: + if(sub < (ssize_t)max_length) { + rnd_len = asn_random_between(sub + 1, max_length); + } else { + rnd_len = max_length; + } + break; + case 5: + rnd_len = max_length; + break; + } + break; + } +#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ + /* Fall through */ + case 0: + rnd_len = asn_random_between(slb, sub); + break; + case 1: + if(slb < sub) { + rnd_len = asn_random_between(slb + 1, sub); + break; + } + /* Fall through */ + case 2: + rnd_len = asn_random_between(slb, slb); + break; + case 3: + if(slb < sub) { + rnd_len = asn_random_between(slb, sub - 1); + break; + } + /* Fall through */ + case 4: + rnd_len = asn_random_between(sub, sub); + break; + } + + for(; rnd_len > 0; rnd_len--) { + asn_anonymous_set_ *list = _A_SET_FROM_VOID(st); + void *ptr = 0; + asn_random_fill_result_t tmpres = elm->type->op->random_fill( + elm->type, &ptr, &elm->encoding_constraints, + (max_length > res_ok.length ? max_length - res_ok.length : 0) + / rnd_len); + switch(tmpres.code) { + case ARFILL_OK: + ASN_SET_ADD(list, ptr); + res_ok.length += tmpres.length; + break; + case ARFILL_SKIPPED: + break; + case ARFILL_FAILED: + assert(ptr == 0); + return tmpres; + } + } + + return res_ok; +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_uper.c b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_uper.c new file mode 100644 index 000000000..b99a2449e --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_uper.c @@ -0,0 +1,201 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +asn_dec_rval_t +SET_OF_decode_uper(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + asn_dec_rval_t rv = {RC_OK, 0}; + const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; + const asn_TYPE_member_t *elm = td->elements; /* Single one */ + void *st = *sptr; + asn_anonymous_set_ *list; + const asn_per_constraint_t *ct; + int repeat = 0; + ssize_t nelems; + + if(ASN__STACK_OVERFLOW_CHECK(opt_codec_ctx)) + ASN__DECODE_FAILED; + + /* + * Create the target structure if it is not present already. + */ + if(!st) { + st = *sptr = CALLOC(1, specs->struct_size); + if(!st) ASN__DECODE_FAILED; + } + list = _A_SET_FROM_VOID(st); + + /* Figure out which constraints to use */ + if(constraints) ct = &constraints->size; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->size; + else ct = 0; + + if(ct && ct->flags & APC_EXTENSIBLE) { + int value = per_get_few_bits(pd, 1); + if(value < 0) ASN__DECODE_STARVED; + if(value) ct = 0; /* Not restricted! */ + } + + if(ct && ct->effective_bits >= 0) { + /* X.691, #19.5: No length determinant */ + nelems = per_get_few_bits(pd, ct->effective_bits); + ASN_DEBUG("Preparing to fetch %ld+%ld elements from %s", + (long)nelems, ct->lower_bound, td->name); + if(nelems < 0) ASN__DECODE_STARVED; + nelems += ct->lower_bound; + } else { + nelems = -1; + } + + do { + int i; + if(nelems < 0) { + nelems = uper_get_length(pd, -1, 0, &repeat); + ASN_DEBUG("Got to decode %" ASN_PRI_SSIZE " elements (eff %d)", + nelems, (int)(ct ? ct->effective_bits : -1)); + if(nelems < 0) ASN__DECODE_STARVED; + } + + for(i = 0; i < nelems; i++) { + void *ptr = 0; + ASN_DEBUG("SET OF %s decoding", elm->type->name); + rv = elm->type->op->uper_decoder(opt_codec_ctx, elm->type, + elm->encoding_constraints.per_constraints, + &ptr, pd); + ASN_DEBUG("%s SET OF %s decoded %d, %p", + td->name, elm->type->name, rv.code, ptr); + if(rv.code == RC_OK) { + if(ASN_SET_ADD(list, ptr) == 0) { + if(rv.consumed == 0 && nelems > 200) { + /* Protect from SET OF NULL compression bombs. */ + ASN__DECODE_FAILED; + } + continue; + } + ASN_DEBUG("Failed to add element into %s", + td->name); + /* Fall through */ + rv.code = RC_FAIL; + } else { + ASN_DEBUG("Failed decoding %s of %s (SET OF)", + elm->type->name, td->name); + } + if(ptr) ASN_STRUCT_FREE(*elm->type, ptr); + return rv; + } + + nelems = -1; /* Allow uper_get_length() */ + } while(repeat); + + ASN_DEBUG("Decoded %s as SET OF", td->name); + + rv.code = RC_OK; + rv.consumed = 0; + return rv; +} + +asn_enc_rval_t +SET_OF_encode_uper(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + const asn_anonymous_set_ *list; + const asn_per_constraint_t *ct; + const asn_TYPE_member_t *elm = td->elements; + struct _el_buffer *encoded_els; + asn_enc_rval_t er = {0,0,0}; + size_t encoded_edx; + + if(!sptr) ASN__ENCODE_FAILED; + + list = _A_CSET_FROM_VOID(sptr); + + er.encoded = 0; + + ASN_DEBUG("Encoding %s as SEQUENCE OF (%d)", td->name, list->count); + + if(constraints) ct = &constraints->size; + else if(td->encoding_constraints.per_constraints) + ct = &td->encoding_constraints.per_constraints->size; + else ct = 0; + + /* If extensible constraint, check if size is in root */ + if(ct) { + int not_in_root = + (list->count < ct->lower_bound || list->count > ct->upper_bound); + ASN_DEBUG("lb %ld ub %ld %s", ct->lower_bound, ct->upper_bound, + ct->flags & APC_EXTENSIBLE ? "ext" : "fix"); + if(ct->flags & APC_EXTENSIBLE) { + /* Declare whether size is in extension root */ + if(per_put_few_bits(po, not_in_root, 1)) ASN__ENCODE_FAILED; + if(not_in_root) ct = 0; + } else if(not_in_root && ct->effective_bits >= 0) { + ASN__ENCODE_FAILED; + } + + } + + if(ct && ct->effective_bits >= 0) { + /* X.691, #19.5: No length determinant */ + if(per_put_few_bits(po, list->count - ct->lower_bound, + ct->effective_bits)) + ASN__ENCODE_FAILED; + } else if(list->count == 0) { + /* When the list is empty add only the length determinant + * X.691, #20.6 and #11.9.4.1 + */ + if (uper_put_length(po, 0, 0)) { + ASN__ENCODE_FAILED; + } + ASN__ENCODED_OK(er); + } + + + /* + * Canonical UPER #22.1 mandates dynamic sorting of the SET OF elements + * according to their encodings. Build an array of the encoded elements. + */ + encoded_els = SET_OF__encode_sorted(elm, list, SOES_CUPER); + + for(encoded_edx = 0; (ssize_t)encoded_edx < list->count;) { + ssize_t may_encode; + size_t edx; + int need_eom = 0; + + if(ct && ct->effective_bits >= 0) { + may_encode = list->count; + } else { + may_encode = + uper_put_length(po, list->count - encoded_edx, &need_eom); + if(may_encode < 0) ASN__ENCODE_FAILED; + } + + for(edx = encoded_edx; edx < encoded_edx + may_encode; edx++) { + const struct _el_buffer *el = &encoded_els[edx]; + if(asn_put_many_bits(po, el->buf, + (8 * el->length) - el->bits_unused) < 0) { + break; + } + } + + if(need_eom && uper_put_length(po, 0, 0)) + ASN__ENCODE_FAILED; /* End of Message length */ + + encoded_edx += may_encode; + } + + SET_OF__encode_sorted_free(encoded_els, list->count); + + if((ssize_t)encoded_edx == list->count) { + ASN__ENCODED_OK(er); + } else { + ASN__ENCODE_FAILED; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_xer.c b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_xer.c new file mode 100644 index 000000000..1d97e5be3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_SET_OF_xer.c @@ -0,0 +1,314 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * Return a standardized complex structure. + */ +#undef RETURN +#define RETURN(_code) \ + do { \ + rval.code = _code; \ + rval.consumed = consumed_myself; \ + return rval; \ + } while(0) + +#undef XER_ADVANCE +#define XER_ADVANCE(num_bytes) \ + do { \ + size_t num = num_bytes; \ + buf_ptr = ((const char *)buf_ptr) + num; \ + size -= num; \ + consumed_myself += num; \ + } while(0) + +/* + * Decode the XER (XML) data. + */ +asn_dec_rval_t +SET_OF_decode_xer(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **struct_ptr, + const char *opt_mname, const void *buf_ptr, size_t size) { + /* + * Bring closer parts of structure description. + */ + const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; + const asn_TYPE_member_t *element = td->elements; + const char *elm_tag; + const char *xml_tag = opt_mname ? opt_mname : td->xml_tag; + + /* + * ... and parts of the structure being constructed. + */ + void *st = *struct_ptr; /* Target structure. */ + asn_struct_ctx_t *ctx; /* Decoder context */ + + asn_dec_rval_t rval = {RC_OK, 0}; /* Return value from a decoder */ + ssize_t consumed_myself = 0; /* Consumed bytes from ptr */ + + /* + * Create the target structure if it is not present already. + */ + if(st == 0) { + st = *struct_ptr = CALLOC(1, specs->struct_size); + if(st == 0) RETURN(RC_FAIL); + } + + /* Which tag is expected for the downstream */ + if(specs->as_XMLValueList) { + elm_tag = (specs->as_XMLValueList == 1) ? 0 : ""; + } else { + elm_tag = (*element->name) + ? element->name : element->type->xml_tag; + } + + /* + * Restore parsing context. + */ + ctx = (asn_struct_ctx_t *)((char *)st + specs->ctx_offset); + + /* + * Phases of XER/XML processing: + * Phase 0: Check that the opening tag matches our expectations. + * Phase 1: Processing body and reacting on closing tag. + * Phase 2: Processing inner type. + */ + for(; ctx->phase <= 2;) { + pxer_chunk_type_e ch_type; /* XER chunk type */ + ssize_t ch_size; /* Chunk size */ + xer_check_tag_e tcv; /* Tag check value */ + + /* + * Go inside the inner member of a set. + */ + if(ctx->phase == 2) { + asn_dec_rval_t tmprval = {RC_OK, 0}; + + /* Invoke the inner type decoder, m.b. multiple times */ + ASN_DEBUG("XER/SET OF element [%s]", elm_tag); + tmprval = element->type->op->xer_decoder(opt_codec_ctx, + element->type, + &ctx->ptr, elm_tag, + buf_ptr, size); + if(tmprval.code == RC_OK) { + asn_anonymous_set_ *list = _A_SET_FROM_VOID(st); + if(ASN_SET_ADD(list, ctx->ptr) != 0) + RETURN(RC_FAIL); + ctx->ptr = 0; + XER_ADVANCE(tmprval.consumed); + } else { + XER_ADVANCE(tmprval.consumed); + RETURN(tmprval.code); + } + ctx->phase = 1; /* Back to body processing */ + ASN_DEBUG("XER/SET OF phase => %d", ctx->phase); + /* Fall through */ + } + + /* + * Get the next part of the XML stream. + */ + ch_size = xer_next_token(&ctx->context, + buf_ptr, size, &ch_type); + if(ch_size == -1) { + RETURN(RC_FAIL); + } else { + switch(ch_type) { + case PXER_WMORE: + RETURN(RC_WMORE); + case PXER_COMMENT: /* Got XML comment */ + case PXER_TEXT: /* Ignore free-standing text */ + XER_ADVANCE(ch_size); /* Skip silently */ + continue; + case PXER_TAG: + break; /* Check the rest down there */ + } + } + + tcv = xer_check_tag(buf_ptr, ch_size, xml_tag); + ASN_DEBUG("XER/SET OF: tcv = %d, ph=%d t=%s", + tcv, ctx->phase, xml_tag); + switch(tcv) { + case XCT_CLOSING: + if(ctx->phase == 0) break; + ctx->phase = 0; + /* Fall through */ + case XCT_BOTH: + if(ctx->phase == 0) { + /* No more things to decode */ + XER_ADVANCE(ch_size); + ctx->phase = 3; /* Phase out */ + RETURN(RC_OK); + } + /* Fall through */ + case XCT_OPENING: + if(ctx->phase == 0) { + XER_ADVANCE(ch_size); + ctx->phase = 1; /* Processing body phase */ + continue; + } + /* Fall through */ + case XCT_UNKNOWN_OP: + case XCT_UNKNOWN_BO: + + ASN_DEBUG("XER/SET OF: tcv=%d, ph=%d", tcv, ctx->phase); + if(ctx->phase == 1) { + /* + * Process a single possible member. + */ + ctx->phase = 2; + continue; + } + /* Fall through */ + default: + break; + } + + ASN_DEBUG("Unexpected XML tag in SET OF"); + break; + } + + ctx->phase = 3; /* "Phase out" on hard failure */ + RETURN(RC_FAIL); +} + +typedef struct xer_tmp_enc_s { + void *buffer; + size_t offset; + size_t size; +} xer_tmp_enc_t; + +static int +SET_OF_encode_xer_callback(const void *buffer, size_t size, void *key) { + xer_tmp_enc_t *t = (xer_tmp_enc_t *)key; + if(t->offset + size >= t->size) { + size_t newsize = (t->size << 2) + size; + void *p = REALLOC(t->buffer, newsize); + if(!p) return -1; + t->buffer = p; + t->size = newsize; + } + memcpy((char *)t->buffer + t->offset, buffer, size); + t->offset += size; + return 0; +} + +static int +SET_OF_xer_order(const void *aptr, const void *bptr) { + const xer_tmp_enc_t *a = (const xer_tmp_enc_t *)aptr; + const xer_tmp_enc_t *b = (const xer_tmp_enc_t *)bptr; + size_t minlen = a->offset; + int ret; + if(b->offset < minlen) minlen = b->offset; + /* Well-formed UTF-8 has this nice lexicographical property... */ + ret = memcmp(a->buffer, b->buffer, minlen); + if(ret != 0) return ret; + if(a->offset == b->offset) + return 0; + if(a->offset == minlen) + return -1; + return 1; +} + +asn_enc_rval_t +SET_OF_encode_xer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel, + enum xer_encoder_flags_e flags, asn_app_consume_bytes_f *cb, + void *app_key) { + asn_enc_rval_t er = {0,0,0}; + const asn_SET_OF_specifics_t *specs = (const asn_SET_OF_specifics_t *)td->specifics; + const asn_TYPE_member_t *elm = td->elements; + const asn_anonymous_set_ *list = _A_CSET_FROM_VOID(sptr); + const char *mname = specs->as_XMLValueList + ? 0 : ((*elm->name) ? elm->name : elm->type->xml_tag); + size_t mlen = mname ? strlen(mname) : 0; + int xcan = (flags & XER_F_CANONICAL); + xer_tmp_enc_t *encs = 0; + size_t encs_count = 0; + void *original_app_key = app_key; + asn_app_consume_bytes_f *original_cb = cb; + int i; + + if(!sptr) ASN__ENCODE_FAILED; + + if(xcan) { + encs = (xer_tmp_enc_t *)MALLOC(list->count * sizeof(encs[0])); + if(!encs) ASN__ENCODE_FAILED; + cb = SET_OF_encode_xer_callback; + } + + er.encoded = 0; + + for(i = 0; i < list->count; i++) { + asn_enc_rval_t tmper = {0,0,0}; + + void *memb_ptr = list->array[i]; + if(!memb_ptr) continue; + + if(encs) { + memset(&encs[encs_count], 0, sizeof(encs[0])); + app_key = &encs[encs_count]; + encs_count++; + } + + if(mname) { + if(!xcan) ASN__TEXT_INDENT(1, ilevel); + ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); + } + + if(!xcan && specs->as_XMLValueList == 1) + ASN__TEXT_INDENT(1, ilevel + 1); + tmper = elm->type->op->xer_encoder(elm->type, memb_ptr, + ilevel + (specs->as_XMLValueList != 2), + flags, cb, app_key); + if(tmper.encoded == -1) return tmper; + er.encoded += tmper.encoded; + if(tmper.encoded == 0 && specs->as_XMLValueList) { + const char *name = elm->type->xml_tag; + size_t len = strlen(name); + ASN__CALLBACK3("<", 1, name, len, "/>", 2); + } + + if(mname) { + ASN__CALLBACK3("", 1); + } + + } + + if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1); + + if(encs) { + xer_tmp_enc_t *enc = encs; + xer_tmp_enc_t *end = encs + encs_count; + ssize_t control_size = 0; + + er.encoded = 0; + cb = original_cb; + app_key = original_app_key; + qsort(encs, encs_count, sizeof(encs[0]), SET_OF_xer_order); + + for(; enc < end; enc++) { + ASN__CALLBACK(enc->buffer, enc->offset); + FREEMEM(enc->buffer); + enc->buffer = 0; + control_size += enc->offset; + } + assert(control_size == er.encoded); + } + + goto cleanup; +cb_failed: + ASN__ENCODE_FAILED; +cleanup: + if(encs) { + size_t n; + for(n = 0; n < encs_count; n++) { + FREEMEM(encs[n].buffer); + } + FREEMEM(encs); + } + ASN__ENCODED_OK(er); +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_TYPE.c b/src/tmx/Asn_J2735/src/r2024/constr_TYPE.c new file mode 100644 index 000000000..e634e750f --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constr_TYPE.c @@ -0,0 +1,80 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * Version of the ASN.1 infrastructure shipped with compiler. + */ +int get_asn1c_environment_version() { return ASN1C_ENVIRONMENT_VERSION; } + +static asn_app_consume_bytes_f _print2fp; + +/* + * Return the outmost tag of the type. + */ +ber_tlv_tag_t +asn_TYPE_outmost_tag(const asn_TYPE_descriptor_t *type_descriptor, + const void *struct_ptr, int tag_mode, ber_tlv_tag_t tag) { + + if(tag_mode) + return tag; + + if(type_descriptor->tags_count) + return type_descriptor->tags[0]; + + return type_descriptor->op->outmost_tag(type_descriptor, struct_ptr, 0, 0); +} + +/* + * Print the target language's structure in human readable form. + */ +int +asn_fprint(FILE *stream, const asn_TYPE_descriptor_t *td, + const void *struct_ptr) { + if(!stream) stream = stdout; + if(!td || !struct_ptr) { + errno = EINVAL; + return -1; + } + + /* Invoke type-specific printer */ + if(td->op->print_struct(td, struct_ptr, 1, _print2fp, stream)) { + return -1; + } + + /* Terminate the output */ + if(_print2fp("\n", 1, stream)) { + return -1; + } + + return fflush(stream); +} + +/* Dump the data into the specified stdio stream */ +static int +_print2fp(const void *buffer, size_t size, void *app_key) { + FILE *stream = (FILE *)app_key; + + if(fwrite(buffer, 1, size, stream) != size) + return -1; + + return 0; +} + + +/* + * Some compilers do not support variable args macros. + * This function is a replacement of ASN_DEBUG() macro. + */ +void CC_PRINTFLIKE(1, 2) ASN_DEBUG_f(const char *fmt, ...); +void ASN_DEBUG_f(const char *fmt, ...) { + va_list ap; + va_start(ap, fmt); + vfprintf(stderr, fmt, ap); + fprintf(stderr, "\n"); + va_end(ap); +} diff --git a/src/tmx/Asn_J2735/src/r2024/constr_TYPE.h b/src/tmx/Asn_J2735/src/r2024/constr_TYPE.h deleted file mode 100644 index 55c2574a1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/constr_TYPE.h +++ /dev/null @@ -1,295 +0,0 @@ -/* - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -/* - * This file contains the declaration structure called "ASN.1 Type Definition", - * which holds all information necessary for encoding and decoding routines. - * This structure even contains pointer to these encoding and decoding routines - * for each defined ASN.1 type. - */ -#ifndef _CONSTR_TYPE_H_ -#define _CONSTR_TYPE_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ -struct asn_TYPE_member_s; /* Forward declaration */ - -/* - * This type provides the context information for various ASN.1 routines, - * primarily ones doing decoding. A member _asn_ctx of this type must be - * included into certain target language's structures, such as compound types. - */ -typedef struct asn_struct_ctx_s { - short phase; /* Decoding phase */ - short step; /* Elementary step of a phase */ - int context; /* Other context information */ - void *ptr; /* Decoder-specific stuff (stack elements) */ - ber_tlv_len_t left; /* Number of bytes left, -1 for indefinite */ -} asn_struct_ctx_t; - -#if !defined(ASN_DISABLE_BER_SUPPORT) -#include /* Basic Encoding Rules decoder */ -#include /* Distinguished Encoding Rules encoder */ -#else -typedef void (ber_type_decoder_f)(void); -typedef void (der_type_encoder_f)(void); -#endif /* !defined(ASN_DISABLE_BER_SUPPORT) */ - -#if !defined(ASN_DISABLE_XER_SUPPORT) -#include /* Decoder of XER (XML, text) */ -#include /* Encoder into XER (XML, text) */ -#else -typedef void (xer_type_decoder_f)(void); -typedef void (xer_type_encoder_f)(void); -#endif /* !defined(ASN_DISABLE_XER_SUPPORT) */ - -#if !defined(ASN_DISABLE_JER_SUPPORT) -#include /* Encoder into JER (JSON, text) */ -#else -typedef void (jer_type_encoder_f)(void); -#endif /* !defined(ASN_DISABLE_JER_SUPPORT) */ - -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) -#include /* Packet Encoding Rules decoder */ -#include /* Packet Encoding Rules encoder */ -#else -typedef void (per_type_decoder_f)(void); -typedef void (per_type_encoder_f)(void); -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - -#include /* Subtype constraints support */ - -#if !defined(ASN_DISABLE_RFILL_SUPPORT) -#include /* Random structures support */ -#else -typedef void (asn_random_fill_f)(void); -#endif /* !defined(ASN_DISABLE_RFILL_SUPPORT) */ - -#if !defined(ASN_DISABLE_OER_SUPPORT) -#include /* Octet Encoding Rules encoder */ -#include /* Octet Encoding Rules encoder */ -#else -typedef void (oer_type_decoder_f)(void); -typedef void (oer_type_encoder_f)(void); -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ - -/* - * Free the structure according to its specification. - * Use one of ASN_STRUCT_{FREE,RESET,CONTENTS_ONLY} macros instead. - * Do not use directly. - */ -enum asn_struct_free_method { - ASFM_FREE_EVERYTHING, /* free(struct_ptr) and underlying members */ - ASFM_FREE_UNDERLYING, /* free underlying members */ - ASFM_FREE_UNDERLYING_AND_RESET /* FREE_UNDERLYING + memset(0) */ -}; -typedef void (asn_struct_free_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - void *struct_ptr, enum asn_struct_free_method); - -/* - * Free the structure including freeing the memory pointed to by ptr itself. - */ -#define ASN_STRUCT_FREE(asn_DEF, ptr) \ - (asn_DEF).op->free_struct(&(asn_DEF), (ptr), ASFM_FREE_EVERYTHING) - -/* - * Free the memory used by the members of the structure without freeing the - * the structure pointer itself. - * ZERO-OUT the structure to the safe clean state. - * (Retaining the pointer may be useful in case the structure is allocated - * statically or arranged on the stack, yet its elements are dynamic.) - */ -#define ASN_STRUCT_RESET(asn_DEF, ptr) \ - (asn_DEF).op->free_struct(&(asn_DEF), (ptr), ASFM_FREE_UNDERLYING_AND_RESET) - -/* - * Free memory used by the members of the structure without freeing - * the structure pointer itself. - * (Retaining the pointer may be useful in case the structure is allocated - * statically or arranged on the stack, yet its elements are dynamic.) - * AVOID using it in the application code; - * Use a safer ASN_STRUCT_RESET() instead. - */ -#define ASN_STRUCT_FREE_CONTENTS_ONLY(asn_DEF, ptr) \ - (asn_DEF).op->free_struct(&(asn_DEF), (ptr), ASFM_FREE_UNDERLYING) - -/* - * Print the structure according to its specification. - */ -typedef int(asn_struct_print_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, - int level, /* Indentation level */ - asn_app_consume_bytes_f *callback, void *app_key); - -/* - * Compare two structs between each other. - * Returns <0 if struct_A is "smaller" than struct_B, >0 if "greater", - * and =0 if "equal to", for some type-specific, stable definition of - * "smaller", "greater" and "equal to". - */ -typedef int (asn_struct_compare_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_A, - const void *struct_B); - -/* - * Return the outmost tag of the type. - * If the type is untagged CHOICE, the dynamic operation is performed. - * NOTE: This function pointer type is only useful internally. - * Do not use it in your application. - */ -typedef ber_tlv_tag_t (asn_outmost_tag_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, int tag_mode, ber_tlv_tag_t tag); -/* The instance of the above function type; used internally. */ -asn_outmost_tag_f asn_TYPE_outmost_tag; - -/* - * Fetch the desired type of the Open Type based on the - * Information Object Set driven constraints. - */ -typedef struct asn_type_selector_result_s { - const struct asn_TYPE_descriptor_s *type_descriptor; /* Type encoded. */ - unsigned presence_index; /* Associated choice variant. */ -} asn_type_selector_result_t; -typedef asn_type_selector_result_t(asn_type_selector_f)( - const struct asn_TYPE_descriptor_s *parent_type_descriptor, - const void *parent_structure_ptr); - -/* - * Generalized functions for dealing with the speciic type. - * May be directly invoked by applications. - */ -typedef struct asn_TYPE_operation_s { - asn_struct_free_f *free_struct; /* Free the structure */ - asn_struct_print_f *print_struct; /* Human readable output */ - asn_struct_compare_f *compare_struct; /* Compare two structures */ - ber_type_decoder_f *ber_decoder; /* Generic BER decoder */ - der_type_encoder_f *der_encoder; /* Canonical DER encoder */ - xer_type_decoder_f *xer_decoder; /* Generic XER decoder */ - xer_type_encoder_f *xer_encoder; /* [Canonical] XER encoder */ - jer_type_encoder_f *jer_encoder; /* Generic JER encoder */ - oer_type_decoder_f *oer_decoder; /* Generic OER decoder */ - oer_type_encoder_f *oer_encoder; /* Canonical OER encoder */ - per_type_decoder_f *uper_decoder; /* Unaligned PER decoder */ - per_type_encoder_f *uper_encoder; /* Unaligned PER encoder */ - per_type_decoder_f *aper_decoder; /* Aligned PER decoder */ - per_type_encoder_f *aper_encoder; /* Aligned PER encoder */ - asn_random_fill_f *random_fill; /* Initialize with a random value */ - asn_outmost_tag_f *outmost_tag; /* */ -} asn_TYPE_operation_t; - -/* - * A constraints tuple specifying both the OER and PER constraints. - */ -typedef struct asn_encoding_constraints_s { -#if !defined(ASN_DISABLE_OER_SUPPORT) - const struct asn_oer_constraints_s *oer_constraints; -#endif /* !defined(ASN_DISABLE_OER_SUPPORT) */ -#if !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) - const struct asn_per_constraints_s *per_constraints; -#endif /* !defined(ASN_DISABLE_UPER_SUPPORT) || !defined(ASN_DISABLE_APER_SUPPORT) */ - asn_constr_check_f *general_constraints; -} asn_encoding_constraints_t; - -/* - * The definitive description of the destination language's structure. - */ -typedef struct asn_TYPE_descriptor_s { - const char *name; /* A name of the ASN.1 type. "" in some cases. */ - const char *xml_tag; /* Name used in XML tag */ - - /* - * Generalized functions for dealing with the specific type. - * May be directly invoked by applications. - */ - asn_TYPE_operation_t *op; - - /*********************************************************************** - * Internally useful members. Not to be used by applications directly. * - **********************************************************************/ - - /* - * Tags that are expected to occur. - */ - const ber_tlv_tag_t *tags; /* Effective tags sequence for this type */ - unsigned tags_count; /* Number of tags which are expected */ - const ber_tlv_tag_t *all_tags; /* Every tag for BER/containment */ - unsigned all_tags_count; /* Number of tags */ - - /* OER, PER, and general constraints */ - asn_encoding_constraints_t encoding_constraints; - - /* - * An ASN.1 production type members (members of SEQUENCE, SET, CHOICE). - */ - struct asn_TYPE_member_s *elements; - unsigned elements_count; - - /* - * Additional information describing the type, used by appropriate - * functions above. - */ - const void *specifics; -} asn_TYPE_descriptor_t; - -/* - * This type describes an element of the constructed type, - * i.e. SEQUENCE, SET, CHOICE, etc. - */ - enum asn_TYPE_flags_e { - ATF_NOFLAGS, - ATF_POINTER = 0x01, /* Represented by the pointer */ - ATF_OPEN_TYPE = 0x02, /* Open Type */ - ATF_ANY_TYPE = 0x04 /* ANY type (deprecated!) */ - }; -typedef struct asn_TYPE_member_s { - enum asn_TYPE_flags_e flags; /* Element's presentation flags */ - unsigned optional; /* Following optional members, including current */ - unsigned memb_offset; /* Offset of the element */ - ber_tlv_tag_t tag; /* Outmost (most immediate) tag */ - int tag_mode; /* IMPLICIT/no/EXPLICIT tag at current level */ - asn_TYPE_descriptor_t *type; /* Member type descriptor */ - asn_type_selector_f *type_selector; /* IoS runtime type selector */ - asn_encoding_constraints_t encoding_constraints; - int (*default_value_cmp)(const void *sptr); /* Compare DEFAULT */ - int (*default_value_set)(void **sptr); /* Set DEFAULT */ - const char *name; /* ASN.1 identifier of the element */ -} asn_TYPE_member_t; - -/* - * BER tag to element number mapping. - */ -typedef struct asn_TYPE_tag2member_s { - ber_tlv_tag_t el_tag; /* Outmost tag of the member */ - unsigned el_no; /* Index of the associated member, base 0 */ - int toff_first; /* First occurrence of the el_tag, relative */ - int toff_last; /* Last occurrence of the el_tag, relative */ -} asn_TYPE_tag2member_t; - -/* - * This function prints out the contents of the target language's structure - * (struct_ptr) into the file pointer (stream) in human readable form. - * RETURN VALUES: - * 0: The structure is printed. - * -1: Problem dumping the structure. - * (See also xer_fprint() in xer_encoder.h) - */ -int asn_fprint(FILE *stream, /* Destination stream descriptor */ - const asn_TYPE_descriptor_t *td, /* ASN.1 type descriptor */ - const void *struct_ptr); /* Structure to be printed */ - -#ifdef __cplusplus -} -#endif - -#endif /* _CONSTR_TYPE_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/constraints.c b/src/tmx/Asn_J2735/src/r2024/constraints.c new file mode 100644 index 000000000..72137cc5c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/constraints.c @@ -0,0 +1,94 @@ +#include +#include + +int +asn_generic_no_constraint(const asn_TYPE_descriptor_t *type_descriptor, + const void *struct_ptr, + asn_app_constraint_failed_f *cb, void *key) { + (void)type_descriptor; /* Unused argument */ + (void)struct_ptr; /* Unused argument */ + (void)cb; /* Unused argument */ + (void)key; /* Unused argument */ + + /* Nothing to check */ + return 0; +} + +int +asn_generic_unknown_constraint(const asn_TYPE_descriptor_t *type_descriptor, + const void *struct_ptr, + asn_app_constraint_failed_f *cb, void *key) { + (void)type_descriptor; /* Unused argument */ + (void)struct_ptr; /* Unused argument */ + (void)cb; /* Unused argument */ + (void)key; /* Unused argument */ + + /* Unknown how to check */ + return 0; +} + +struct errbufDesc { + const asn_TYPE_descriptor_t *failed_type; + const void *failed_struct_ptr; + char *errbuf; + size_t errlen; +}; + +static void +CC_PRINTFLIKE(4, 5) +_asn_i_ctfailcb(void *key, const asn_TYPE_descriptor_t *td, const void *sptr, + const char *fmt, ...) { + struct errbufDesc *arg = key; + va_list ap; + ssize_t vlen; + ssize_t maxlen; + + arg->failed_type = td; + arg->failed_struct_ptr = sptr; + + maxlen = arg->errlen; + if(maxlen <= 0) + return; + + va_start(ap, fmt); + vlen = vsnprintf(arg->errbuf, maxlen, fmt, ap); + va_end(ap); + if(vlen >= maxlen) { + arg->errbuf[maxlen-1] = '\0'; /* Ensuring libc correctness */ + arg->errlen = maxlen - 1; /* Not counting termination */ + return; + } else if(vlen >= 0) { + arg->errbuf[vlen] = '\0'; /* Ensuring libc correctness */ + arg->errlen = vlen; /* Not counting termination */ + } else { + /* + * The libc on this system is broken. + */ + vlen = sizeof("") - 1; + maxlen--; + arg->errlen = vlen < maxlen ? vlen : maxlen; + memcpy(arg->errbuf, "", arg->errlen); + arg->errbuf[arg->errlen] = 0; + } + + return; +} + +int +asn_check_constraints(const asn_TYPE_descriptor_t *type_descriptor, + const void *struct_ptr, char *errbuf, size_t *errlen) { + struct errbufDesc arg; + int ret; + + arg.failed_type = 0; + arg.failed_struct_ptr = 0; + arg.errbuf = errbuf; + arg.errlen = errlen ? *errlen : 0; + + ret = type_descriptor->encoding_constraints.general_constraints( + type_descriptor, struct_ptr, _asn_i_ctfailcb, &arg); + if(ret == -1 && errlen) *errlen = arg.errlen; + + return ret; +} + diff --git a/src/tmx/Asn_J2735/src/r2024/constraints.h b/src/tmx/Asn_J2735/src/r2024/constraints.h deleted file mode 100644 index 0c093fa82..000000000 --- a/src/tmx/Asn_J2735/src/r2024/constraints.h +++ /dev/null @@ -1,63 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef ASN1_CONSTRAINTS_VALIDATOR_H -#define ASN1_CONSTRAINTS_VALIDATOR_H - -#include /* Platform-dependent types */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * Validate the structure according to the ASN.1 constraints. - * If errbuf and errlen are given, they shall be pointing to the appropriate - * buffer space and its length before calling this function. Alternatively, - * they could be passed as NULL's. If constraints validation fails, - * errlen will contain the actual number of bytes taken from the errbuf - * to encode an error message (properly 0-terminated). - * - * RETURN VALUES: - * This function returns 0 in case all ASN.1 constraints are met - * and -1 if one or more constraints were failed. - */ -int asn_check_constraints( - const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, /* Target language's structure */ - char *errbuf, /* Returned error description */ - size_t *errlen /* Length of the error description */ -); - - -/* - * Generic type for constraint checking callback, - * associated with every type descriptor. - */ -typedef int(asn_constr_check_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, const void *struct_ptr, - asn_app_constraint_failed_f *optional_callback, /* Log the error */ - void *optional_app_key /* Opaque key passed to a callback */ -); - -/******************************* - * INTERNALLY USEFUL FUNCTIONS * - *******************************/ - -asn_constr_check_f asn_generic_no_constraint; /* No constraint whatsoever */ -asn_constr_check_f asn_generic_unknown_constraint; /* Not fully supported */ - -/* - * Invoke the callback with a complete error message. - */ -#define ASN__CTFAIL if(ctfailcb) ctfailcb - -#ifdef __cplusplus -} -#endif - -#endif /* ASN1_CONSTRAINTS_VALIDATOR_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/der_encoder.c b/src/tmx/Asn_J2735/src/r2024/der_encoder.c new file mode 100644 index 000000000..2c6a6f769 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/der_encoder.c @@ -0,0 +1,194 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +static ssize_t der_write_TL(ber_tlv_tag_t tag, ber_tlv_len_t len, + asn_app_consume_bytes_f *cb, void *app_key, int constructed); + +/* + * The DER encoder of any type. + */ +asn_enc_rval_t +der_encode(const asn_TYPE_descriptor_t *type_descriptor, const void *struct_ptr, + asn_app_consume_bytes_f *consume_bytes, void *app_key) { + ASN_DEBUG("DER encoder invoked for %s", + type_descriptor->name); + + /* + * Invoke type-specific encoder. + */ + return type_descriptor->op->der_encoder( + type_descriptor, struct_ptr, /* Pointer to the destination structure */ + 0, 0, consume_bytes, app_key); +} + +/* + * Argument type and callback necessary for der_encode_to_buffer(). + */ +typedef struct enc_to_buf_arg { + void *buffer; + size_t left; +} enc_to_buf_arg; +static int encode_to_buffer_cb(const void *buffer, size_t size, void *key) { + enc_to_buf_arg *arg = (enc_to_buf_arg *)key; + + if(arg->left < size) + return -1; /* Data exceeds the available buffer size */ + + memcpy(arg->buffer, buffer, size); + arg->buffer = ((char *)arg->buffer) + size; + arg->left -= size; + + return 0; +} + +/* + * A variant of the der_encode() which encodes the data into the provided buffer + */ +asn_enc_rval_t +der_encode_to_buffer(const asn_TYPE_descriptor_t *type_descriptor, + const void *struct_ptr, void *buffer, size_t buffer_size) { + enc_to_buf_arg arg; + asn_enc_rval_t ec; + + arg.buffer = buffer; + arg.left = buffer_size; + + ec = type_descriptor->op->der_encoder(type_descriptor, + struct_ptr, /* Pointer to the destination structure */ + 0, 0, encode_to_buffer_cb, &arg); + if(ec.encoded != -1) { + assert(ec.encoded == (ssize_t)(buffer_size - arg.left)); + /* Return the encoded contents size */ + } + return ec; +} + + +/* + * Write out leading TL[v] sequence according to the type definition. + */ +ssize_t +der_write_tags(const asn_TYPE_descriptor_t *sd, size_t struct_length, + int tag_mode, int last_tag_form, + ber_tlv_tag_t tag, /* EXPLICIT or IMPLICIT tag */ + asn_app_consume_bytes_f *cb, void *app_key) { +#define ASN1_DER_MAX_TAGS_COUNT 4 + ber_tlv_tag_t + tags_buf_scratch[ASN1_DER_MAX_TAGS_COUNT * sizeof(ber_tlv_tag_t)]; + ssize_t lens[ASN1_DER_MAX_TAGS_COUNT * sizeof(ssize_t)]; + const ber_tlv_tag_t *tags; /* Copy of tags stream */ + int tags_count; /* Number of tags */ + size_t overall_length; + int i; + + ASN_DEBUG("Writing tags (%s, tm=%d, tc=%d, tag=%s, mtc=%d)", + sd->name, tag_mode, sd->tags_count, + ber_tlv_tag_string(tag), + tag_mode + ?(sd->tags_count+1 + -((tag_mode == -1) && sd->tags_count)) + :sd->tags_count + ); + + if(sd->tags_count + 1 > ASN1_DER_MAX_TAGS_COUNT) { + ASN_DEBUG("System limit %d on tags count", ASN1_DER_MAX_TAGS_COUNT); + return -1; + } + + if(tag_mode) { + /* + * Instead of doing shaman dance like we do in ber_check_tags(), + * allocate a small array on the stack + * and initialize it appropriately. + */ + int stag_offset; + ber_tlv_tag_t *tags_buf = tags_buf_scratch; + tags_count = sd->tags_count + + 1 /* EXPLICIT or IMPLICIT tag is given */ + - ((tag_mode == -1) && sd->tags_count); + /* Copy tags over */ + tags_buf[0] = tag; + stag_offset = -1 + ((tag_mode == -1) && sd->tags_count); + for(i = 1; i < tags_count; i++) + tags_buf[i] = sd->tags[i + stag_offset]; + tags = tags_buf; + } else { + tags = sd->tags; + tags_count = sd->tags_count; + } + + /* No tags to write */ + if(tags_count == 0) + return 0; + + /* + * Array of tags is initialized. + * Now, compute the size of the TLV pairs, from right to left. + */ + overall_length = struct_length; + for(i = tags_count - 1; i >= 0; --i) { + lens[i] = der_write_TL(tags[i], overall_length, 0, 0, 0); + if(lens[i] == -1) return -1; + overall_length += lens[i]; + lens[i] = overall_length - lens[i]; + } + + if(!cb) return overall_length - struct_length; + + ASN_DEBUG("Encoding %s TL sequence (%d elements)", sd->name, + tags_count); + + /* + * Encode the TL sequence for real. + */ + for(i = 0; i < tags_count; i++) { + ssize_t len; + int _constr; + + /* Check if this tag happens to be constructed */ + _constr = (last_tag_form || i < (tags_count - 1)); + + len = der_write_TL(tags[i], lens[i], cb, app_key, _constr); + if(len == -1) return -1; + } + + return overall_length - struct_length; +} + +static ssize_t +der_write_TL(ber_tlv_tag_t tag, ber_tlv_len_t len, + asn_app_consume_bytes_f *cb, void *app_key, + int constructed) { + uint8_t buf[32]; + size_t size = 0; + int buf_size = cb?sizeof(buf):0; + ssize_t tmp; + + /* Serialize tag (T from TLV) into possibly zero-length buffer */ + tmp = ber_tlv_tag_serialize(tag, buf, buf_size); + if(tmp == -1 || tmp > (ssize_t)sizeof(buf)) return -1; + size += tmp; + + /* Serialize length (L from TLV) into possibly zero-length buffer */ + tmp = der_tlv_length_serialize(len, buf+size, buf_size?buf_size-size:0); + if(tmp == -1) return -1; + size += tmp; + + if(size > sizeof(buf)) + return -1; + + /* + * If callback is specified, invoke it, and check its return value. + */ + if(cb) { + if(constructed) *buf |= 0x20; + if(cb(buf, size, app_key) < 0) + return -1; + } + + return size; +} diff --git a/src/tmx/Asn_J2735/src/r2024/der_encoder.h b/src/tmx/Asn_J2735/src/r2024/der_encoder.h deleted file mode 100644 index e93944edc..000000000 --- a/src/tmx/Asn_J2735/src/r2024/der_encoder.h +++ /dev/null @@ -1,68 +0,0 @@ -/*- - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _DER_ENCODER_H_ -#define _DER_ENCODER_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * The DER encoder of any type. May be invoked by the application. - * Produces DER- and BER-compliant encoding. (DER is a subset of BER). - * - * NOTE: Use the ber_decode() function (ber_decoder.h) to decode data - * produced by der_encode(). - */ -asn_enc_rval_t der_encode(const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, /* Structure to be encoded */ - asn_app_consume_bytes_f *consume_bytes_cb, - void *app_key /* Arbitrary callback argument */ -); - -/* A variant of der_encode() which encodes data into the pre-allocated buffer */ -asn_enc_rval_t der_encode_to_buffer( - const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, /* Structure to be encoded */ - void *buffer, /* Pre-allocated buffer */ - size_t buffer_size /* Initial buffer size (maximum) */ -); - -/* - * Type of the generic DER encoder. - */ -typedef asn_enc_rval_t(der_type_encoder_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, /* Structure to be encoded */ - int tag_mode, /* {-1,0,1}: IMPLICIT, no, EXPLICIT */ - ber_tlv_tag_t tag, asn_app_consume_bytes_f *consume_bytes_cb, /* Callback */ - void *app_key /* Arbitrary callback argument */ -); - - -/******************************* - * INTERNALLY USEFUL FUNCTIONS * - *******************************/ - -/* - * Write out leading TL[v] sequence according to the type definition. - */ -ssize_t der_write_tags(const struct asn_TYPE_descriptor_s *type_descriptor, - size_t struct_length, - int tag_mode, /* {-1,0,1}: IMPLICIT, no, EXPLICIT */ - int last_tag_form, /* {0,!0}: prim, constructed */ - ber_tlv_tag_t tag, - asn_app_consume_bytes_f *consume_bytes_cb, - void *app_key); - -#ifdef __cplusplus -} -#endif - -#endif /* _DER_ENCODER_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/oer_decoder.c b/src/tmx/Asn_J2735/src/r2024/oer_decoder.c new file mode 100644 index 000000000..070173826 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/oer_decoder.c @@ -0,0 +1,152 @@ +/* + * Copyright (c) 2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * The OER decoder of any type. + */ +asn_dec_rval_t +oer_decode(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *type_descriptor, void **struct_ptr, + const void *ptr, size_t size) { + asn_codec_ctx_t s_codec_ctx; + + /* + * Stack checker requires that the codec context + * must be allocated on the stack. + */ + if(opt_codec_ctx) { + if(opt_codec_ctx->max_stack_size) { + s_codec_ctx = *opt_codec_ctx; + opt_codec_ctx = &s_codec_ctx; + } + } else { + /* If context is not given, be security-conscious anyway */ + memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); + s_codec_ctx.max_stack_size = ASN__DEFAULT_STACK_MAX; + opt_codec_ctx = &s_codec_ctx; + } + + /* + * Invoke type-specific decoder. + */ + return type_descriptor->op->oer_decoder(opt_codec_ctx, type_descriptor, 0, + struct_ptr, /* Pointer to the destination structure */ + ptr, size /* Buffer and its size */ + ); +} + +/* + * Open Type is encoded as a length (#8.6) followed by that number of bytes. + * Since we're just skipping, reading the length would be enough. + */ +ssize_t +oer_open_type_skip(const void *bufptr, size_t size) { + size_t len = 0; + return oer_fetch_length(bufptr, size, &len); +} + +/* + * Read the Open Type (X.696 (08/2015), #30). + * RETURN VALUES: + * 0: More data expected than bufptr contains. + * -1: Fatal error deciphering length. + * >0: Number of bytes used from bufptr. + */ +ssize_t +oer_open_type_get(const asn_codec_ctx_t *opt_codec_ctx, + const struct asn_TYPE_descriptor_s *td, + const asn_oer_constraints_t *constraints, void **struct_ptr, + const void *bufptr, size_t size) { + asn_dec_rval_t dr; + size_t container_len = 0; + ssize_t len_len; + enum asn_struct_free_method dispose_method = + (*struct_ptr) ? ASFM_FREE_UNDERLYING_AND_RESET : ASFM_FREE_EVERYTHING; + + /* Get the size of a length determinant */ + len_len = oer_fetch_length(bufptr, size, &container_len); + if(len_len <= 0) { + return len_len; /* Error or more data expected */ + } + + /* + * len_len can't be bigger than size, but size without len_len + * should be bigger or equal to container length + */ + if(size - len_len < container_len) { + /* More data is expected */ + return 0; + } + + dr = td->op->oer_decoder(opt_codec_ctx, td, constraints, struct_ptr, + (const uint8_t *)bufptr + len_len, container_len); + if(dr.code == RC_OK) { + return len_len + container_len; + } else { + /* Even if RC_WMORE, we can't get more data into a closed container. */ + td->op->free_struct(td, *struct_ptr, dispose_method); + *struct_ptr = NULL; + return -1; + } +} + + +asn_dec_rval_t +oer_decode_primitive(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, void **sptr, + const void *ptr, size_t size) { + ASN__PRIMITIVE_TYPE_t *st = (ASN__PRIMITIVE_TYPE_t *)*sptr; + asn_dec_rval_t rval = {RC_OK, 0}; + size_t expected_length = 0; + ssize_t len_len; + + (void)td; + (void)opt_codec_ctx; + (void)constraints; + + if(!st) { + st = (ASN__PRIMITIVE_TYPE_t *)(*sptr = CALLOC( + 1, sizeof(ASN__PRIMITIVE_TYPE_t))); + if(!st) ASN__DECODE_FAILED; + } + + + /* + * X.696 (08/2015) #27.2 + * Encode length determinant as _number of octets_, but only + * if upper bound is not equal to lower bound. + */ + len_len = oer_fetch_length(ptr, size, &expected_length); + if(len_len > 0) { + rval.consumed = len_len; + ptr = (const char *)ptr + len_len; + size -= len_len; + } else if(len_len == 0) { + ASN__DECODE_STARVED; + } else if(len_len < 0) { + ASN__DECODE_FAILED; + } + + if(size < expected_length) { + ASN__DECODE_STARVED; + } else { + uint8_t *buf = MALLOC(expected_length + 1); + if(buf == NULL) { + ASN__DECODE_FAILED; + } else { + memcpy(buf, ptr, expected_length); + buf[expected_length] = '\0'; + } + FREEMEM(st->buf); + st->buf = buf; + st->size = expected_length; + + rval.consumed += expected_length; + return rval; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/oer_decoder.h b/src/tmx/Asn_J2735/src/r2024/oer_decoder.h deleted file mode 100644 index 40992e948..000000000 --- a/src/tmx/Asn_J2735/src/r2024/oer_decoder.h +++ /dev/null @@ -1,72 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef OER_DECODER_H -#define OER_DECODER_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ -struct asn_codec_ctx_s; /* Forward declaration */ - -/* - * The Octet Encoding Rules (OER, X.696 08/2015) decoder for any given type. - * This function may be invoked directly by the application. - * Parses CANONICAL-OER and BASIC-OER. - */ -asn_dec_rval_t oer_decode(const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, - void **struct_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of that buffer */ - ); - -/* - * Type of generic function which decodes the byte stream into the structure. - */ -typedef asn_dec_rval_t(oer_type_decoder_f)( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_oer_constraints_t *constraints, - void **struct_ptr, - const void *buf_ptr, - size_t size); - -/* - * Swallow the Open Type (X.696 (08/2015), #30) into /dev/null. - * RETURN VALUES: - * -1: Fatal error deciphering length. - * 0: More data expected than bufptr contains. - * >0: Number of bytes used from bufptr. - */ -ssize_t oer_open_type_skip(const void *bufptr, size_t size); - -/* - * Read the Open Type (X.696 (08/2015), #30). - * RETURN VALUES: - * 0: More data expected than bufptr contains. - * -1: Fatal error deciphering length. - * >0: Number of bytes used from bufptr. - */ -ssize_t oer_open_type_get(const asn_codec_ctx_t *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *td, - const asn_oer_constraints_t *constraints, - void **struct_ptr, const void *bufptr, size_t size); - -/* - * Length-prefixed buffer decoding for primitive types. - */ -oer_type_decoder_f oer_decode_primitive; - - -#ifdef __cplusplus -} -#endif - -#endif /* OER_DECODER_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/oer_encoder.c b/src/tmx/Asn_J2735/src/r2024/oer_encoder.c new file mode 100644 index 000000000..a284cc2f3 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/oer_encoder.c @@ -0,0 +1,141 @@ +/* + * Copyright (c) 2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* + * The OER encoder of any type. + */ +asn_enc_rval_t +oer_encode(const asn_TYPE_descriptor_t *type_descriptor, const void *struct_ptr, + asn_app_consume_bytes_f *consume_bytes, void *app_key) { + ASN_DEBUG("OER encoder invoked for %s", type_descriptor->name); + + /* + * Invoke type-specific encoder. + */ + return type_descriptor->op->oer_encoder( + type_descriptor, 0, + struct_ptr, /* Pointer to the destination structure */ + consume_bytes, app_key); +} + +/* + * Argument type and callback necessary for oer_encode_to_buffer(). + */ +typedef struct enc_to_buf_arg { + void *buffer; + size_t left; +} enc_to_buf_arg; +static int +encode_to_buffer_cb(const void *buffer, size_t size, void *key) { + enc_to_buf_arg *arg = (enc_to_buf_arg *)key; + + if(arg->left < size) return -1; /* Data exceeds the available buffer size */ + + memcpy(arg->buffer, buffer, size); + arg->buffer = ((char *)arg->buffer) + size; + arg->left -= size; + + return 0; +} + +/* + * A variant of the oer_encode() which encodes the data into the provided buffer + */ +asn_enc_rval_t +oer_encode_to_buffer(const asn_TYPE_descriptor_t *type_descriptor, + const asn_oer_constraints_t *constraints, + const void *struct_ptr, /* Structure to be encoded */ + void *buffer, /* Pre-allocated buffer */ + size_t buffer_size /* Initial buffer size (maximum) */ +) { + enc_to_buf_arg arg; + asn_enc_rval_t ec; + + arg.buffer = buffer; + arg.left = buffer_size; + + if(type_descriptor->op->oer_encoder == NULL) { + ec.encoded = -1; + ec.failed_type = type_descriptor; + ec.structure_ptr = struct_ptr; + ASN_DEBUG("OER encoder is not defined for %s", + type_descriptor->name); + } else { + ec = type_descriptor->op->oer_encoder( + type_descriptor, constraints, + struct_ptr, /* Pointer to the destination structure */ + encode_to_buffer_cb, &arg); + if(ec.encoded != -1) { + assert(ec.encoded == (ssize_t)(buffer_size - arg.left)); + /* Return the encoded contents size */ + } + } + return ec; +} + +asn_enc_rval_t +oer_encode_primitive(const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, const void *sptr, + asn_app_consume_bytes_f *cb, void *app_key) { + const ASN__PRIMITIVE_TYPE_t *st = (const ASN__PRIMITIVE_TYPE_t *)sptr; + asn_enc_rval_t er = {0, 0, 0}; + ssize_t ret; + + (void)constraints; + + if(!st) ASN__ENCODE_FAILED; + + ASN_DEBUG("Encoding %s (%" ASN_PRI_SIZE " bytes)", td ? td->name : "", st->size); + + /* + * X.696 (08/2015) #27.2 + */ + ret = oer_serialize_length(st->size, cb, app_key); + if(ret < 0) { + ASN__ENCODE_FAILED; + } + er.encoded += ret; + + er.encoded += st->size; + if(cb(st->buf, st->size, app_key) < 0) { + ASN__ENCODE_FAILED; + } else { + ASN__ENCODED_OK(er); + } +} + +static int +oer__count_bytes(const void *buffer, size_t size, void *bytes_ptr) { + size_t *bytes = bytes_ptr; + (void)buffer; + *bytes += size; + return 0; +} + +ssize_t +oer_open_type_put(const asn_TYPE_descriptor_t *td, + const asn_oer_constraints_t *constraints, const void *sptr, + asn_app_consume_bytes_f *cb, void *app_key) { + size_t serialized_byte_count = 0; + asn_enc_rval_t er = {0,0,0}; + ssize_t len_len; + + er = td->op->oer_encoder(td, constraints, sptr, oer__count_bytes, + &serialized_byte_count); + if(er.encoded < 0) return -1; + assert(serialized_byte_count == (size_t)er.encoded); + + len_len = oer_serialize_length(serialized_byte_count, cb, app_key); + if(len_len == -1) return -1; + + er = td->op->oer_encoder(td, constraints, sptr, cb, app_key); + if(er.encoded < 0) return -1; + assert(serialized_byte_count == (size_t)er.encoded); + + return len_len + er.encoded; +} + diff --git a/src/tmx/Asn_J2735/src/r2024/oer_encoder.h b/src/tmx/Asn_J2735/src/r2024/oer_encoder.h deleted file mode 100644 index 6a7b68125..000000000 --- a/src/tmx/Asn_J2735/src/r2024/oer_encoder.h +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef OER_ENCODER_H -#define OER_ENCODER_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * The Octet Encoding Rules (OER, X.696 08/2015) encoder for any type. - * This function may be invoked directly by the application. - * Produces CANONICAL-OER output compatible with CANONICAL-OER - * and BASIC-OER decoders. - */ -asn_enc_rval_t oer_encode(const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, /* Structure to be encoded */ - asn_app_consume_bytes_f *consume_bytes_cb, - void *app_key /* Arbitrary callback argument */ -); - -/* A variant of oer_encode() which encodes data into the pre-allocated buffer */ -asn_enc_rval_t oer_encode_to_buffer( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_oer_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - void *buffer, /* Pre-allocated buffer */ - size_t buffer_size /* Initial buffer size (maximum) */ -); - -/* - * Type of the generic OER encoder. - */ -typedef asn_enc_rval_t(oer_type_encoder_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_oer_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - asn_app_consume_bytes_f *consume_bytes_cb, /* Callback */ - void *app_key /* Arbitrary callback argument */ -); - -/* - * Write out the Open Type (X.696 (08/2015), #30). - * RETURN VALUES: - * -1: Fatal error encoding the type. - * >0: Number of bytes serialized. - */ -ssize_t oer_open_type_put(const struct asn_TYPE_descriptor_s *td, - const asn_oer_constraints_t *constraints, - const void *struct_ptr, - asn_app_consume_bytes_f *consume_bytes_cb, - void *app_key); - - -/* - * Length-prefixed buffer encoding for primitive types. - */ -oer_type_encoder_f oer_encode_primitive; - -#ifdef __cplusplus -} -#endif - -#endif /* OER_ENCODER_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/oer_support.c b/src/tmx/Asn_J2735/src/r2024/oer_support.c new file mode 100644 index 000000000..b15a3bc93 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/oer_support.c @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2017 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +#include + +/* + * Fetch the length determinant (X.696 08/2015, #8.6) into *len_r. + * RETURN VALUES: + * 0: More data expected than bufptr contains. + * -1: Fatal error deciphering length. + * >0: Number of bytes used from bufptr. + */ +ssize_t +oer_fetch_length(const void *bufptr, size_t size, size_t *len_r) { + uint8_t first_byte; + size_t len_len; /* Length of the length determinant */ + const uint8_t *b; + const uint8_t *bend; + size_t len; + + if(size == 0) { + *len_r = 0; + return 0; + } + + first_byte = *(const uint8_t *)bufptr; + if((first_byte & 0x80) == 0) { /* Short form */ + *len_r = first_byte; /* 0..127 */ + return 1; + } + + len_len = (first_byte & 0x7f); + if((1 + len_len) > size) { + *len_r = 0; + return 0; + } + + b = (const uint8_t *)bufptr + 1; + bend = b + len_len; + + for(; b < bend && *b == 0; b++) { + /* Skip the leading 0-bytes */ + } + + if((bend - b) > (ssize_t)sizeof(size_t)) { + /* Length is not representable by the native size_t type */ + *len_r = 0; + return -1; + } + + for(len = 0; b < bend; b++) { + len = (len << 8) + *b; + } + + if(len > RSIZE_MAX) { /* A bit of C11 validation */ + *len_r = 0; + return -1; + } + + *len_r = len; + assert(len_len + 1 == (size_t)(bend - (const uint8_t *)bufptr)); + return len_len + 1; +} + + +/* + * Serialize OER length. Returns the number of bytes serialized + * or -1 if a given callback returned with negative result. + */ +ssize_t +oer_serialize_length(size_t length, asn_app_consume_bytes_f *cb, + void *app_key) { + uint8_t scratch[1 + sizeof(length)]; + uint8_t *sp = scratch; + int littleEndian = 1; /* Run-time detection */ + const uint8_t *pstart; + const uint8_t *pend; + const uint8_t *p; + int add; + + if(length <= 127) { + uint8_t b = length; + if(cb(&b, 1, app_key) < 0) { + return -1; + } + return 1; + } + + if(*(char *)&littleEndian) { + pstart = (const uint8_t *)&length + sizeof(length) - 1; + pend = (const uint8_t *)&length; + add = -1; + } else { + pstart = (const uint8_t *)&length; + pend = pstart + sizeof(length); + add = 1; + } + + for(p = pstart; p != pend; p += add) { + /* Skip leading zeros. */ + if(*p) break; + } + + for(sp = scratch + 1; ; p += add) { + *sp++ = *p; + if(p == pend) break; + } + assert((sp - scratch) - 1 <= 0x7f); + scratch[0] = 0x80 + ((sp - scratch) - 1); + + if(cb(scratch, sp - scratch, app_key) < 0) { + return -1; + } + + return sp - scratch; +} + diff --git a/src/tmx/Asn_J2735/src/r2024/oer_support.h b/src/tmx/Asn_J2735/src/r2024/oer_support.h deleted file mode 100644 index dbc9b5fcf..000000000 --- a/src/tmx/Asn_J2735/src/r2024/oer_support.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Copyright (c) 2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef OER_SUPPORT_H -#define OER_SUPPORT_H - -#include /* Platform-specific types */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Pre-computed OER constraints. - */ -typedef struct asn_oer_constraint_number_s { - unsigned width; /* ±8,4,2,1 fixed bytes */ - unsigned positive; /* 1 for unsigned number, 0 for signed */ -} asn_oer_constraint_number_t; -typedef struct asn_oer_constraints_s { - asn_oer_constraint_number_t value; - ssize_t size; /* -1 (no constraint) or >= 0 */ -} asn_oer_constraints_t; - - -/* - * Fetch the length determinant (X.696 (08/2015), #8.6) into *len_r. - * RETURN VALUES: - * 0: More data expected than bufptr contains. - * -1: Fatal error deciphering length. - * >0: Number of bytes used from bufptr. - */ -ssize_t oer_fetch_length(const void *bufptr, size_t size, size_t *len_r); - -/* - * Serialize OER length. Returns the number of bytes serialized - * or -1 if a given callback returned with negative result. - */ -ssize_t oer_serialize_length(size_t length, asn_app_consume_bytes_f *cb, void *app_key); - - -#ifdef __cplusplus -} -#endif - -#endif /* OER_SUPPORT_H */ diff --git a/src/tmx/Asn_J2735/src/r2024/per_decoder.c b/src/tmx/Asn_J2735/src/r2024/per_decoder.c new file mode 100644 index 000000000..42b92cacd --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/per_decoder.c @@ -0,0 +1,5 @@ +#include +#include +#include + +// Absolutely nothing diff --git a/src/tmx/Asn_J2735/src/r2024/per_decoder.h b/src/tmx/Asn_J2735/src/r2024/per_decoder.h deleted file mode 100644 index 3cc0c6bf7..000000000 --- a/src/tmx/Asn_J2735/src/r2024/per_decoder.h +++ /dev/null @@ -1,30 +0,0 @@ -/*- - * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _PER_DECODER_H_ -#define _PER_DECODER_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * Type of the type-specific PER decoder function. - */ -typedef asn_dec_rval_t(per_type_decoder_f)( - const asn_codec_ctx_t *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_per_constraints_t *constraints, void **struct_ptr, - asn_per_data_t *per_data); - -#ifdef __cplusplus -} -#endif - -#endif /* _PER_DECODER_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/per_encoder.c b/src/tmx/Asn_J2735/src/r2024/per_encoder.c new file mode 100644 index 000000000..01ab70b06 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/per_encoder.c @@ -0,0 +1,35 @@ +#include +#include + +int +ignore_output(const void *data, size_t size, void *app_key) { + (void)data; + (void)size; + (void)app_key; + return 0; +} + +int +encode_dyn_cb(const void *buffer, size_t size, void *key) { + enc_dyn_arg *arg = key; + if(arg->length + size >= arg->allocated) { + size_t new_size = arg->allocated ? arg->allocated : 8; + void *p; + + do { + new_size <<= 2; + } while(arg->length + size >= new_size); + + p = REALLOC(arg->buffer, new_size); + if(!p) { + FREEMEM(arg->buffer); + memset(arg, 0, sizeof(*arg)); + return -1; + } + arg->buffer = p; + arg->allocated = new_size; + } + memcpy(((char *)arg->buffer) + arg->length, buffer, size); + arg->length += size; + return 0; +} diff --git a/src/tmx/Asn_J2735/src/r2024/per_encoder.h b/src/tmx/Asn_J2735/src/r2024/per_encoder.h deleted file mode 100644 index 8bb077170..000000000 --- a/src/tmx/Asn_J2735/src/r2024/per_encoder.h +++ /dev/null @@ -1,38 +0,0 @@ -/*- - * Copyright (c) 2006-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _PER_ENCODER_H_ -#define _PER_ENCODER_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * Type of the generic PER encoder function. - */ -typedef asn_enc_rval_t(per_type_encoder_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_per_constraints_t *constraints, const void *struct_ptr, - asn_per_outp_t *per_output); - -int ignore_output(const void *data, size_t size, void *app_key); - -typedef struct enc_dyn_arg { - void *buffer; - size_t length; - size_t allocated; -} enc_dyn_arg; -int encode_dyn_cb(const void *buffer, size_t size, void *key); - -#ifdef __cplusplus -} -#endif - -#endif /* _PER_ENCODER_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/per_opentype.c b/src/tmx/Asn_J2735/src/r2024/per_opentype.c new file mode 100644 index 000000000..5620c5bb9 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/per_opentype.c @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2007 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include + +/* + * Internal functions. + */ + +asn_dec_rval_t +uper_sot_suck(const asn_codec_ctx_t *ctx, const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + asn_dec_rval_t rv; + + (void)ctx; + (void)td; + (void)constraints; + (void)sptr; + + while(per_get_few_bits(pd, 1) >= 0); + + rv.code = RC_OK; + rv.consumed = pd->moved; + + return rv; +} diff --git a/src/tmx/Asn_J2735/src/r2024/per_opentype.h b/src/tmx/Asn_J2735/src/r2024/per_opentype.h deleted file mode 100644 index fc3785566..000000000 --- a/src/tmx/Asn_J2735/src/r2024/per_opentype.h +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2007-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _PER_OPENTYPE_H_ -#define _PER_OPENTYPE_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -asn_dec_rval_t uper_sot_suck( - const asn_codec_ctx_t *, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - void **sptr, asn_per_data_t *pd); - -#ifdef __cplusplus -} -#endif - -#endif /* _PER_OPENTYPE_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/per_support.c b/src/tmx/Asn_J2735/src/r2024/per_support.c new file mode 100644 index 000000000..62d343c74 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/per_support.c @@ -0,0 +1,9 @@ +/* + * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +// Absolutely nothing diff --git a/src/tmx/Asn_J2735/src/r2024/per_support.h b/src/tmx/Asn_J2735/src/r2024/per_support.h deleted file mode 100644 index b3056a21a..000000000 --- a/src/tmx/Asn_J2735/src/r2024/per_support.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _PER_SUPPORT_H_ -#define _PER_SUPPORT_H_ - -#include /* Platform-specific types */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Pre-computed PER constraints. - */ -typedef struct asn_per_constraint_s { - enum asn_per_constraint_flags { - APC_UNCONSTRAINED = 0x0, /* No PER visible constraints */ - APC_SEMI_CONSTRAINED = 0x1, /* Constrained at "lb" */ - APC_CONSTRAINED = 0x2, /* Fully constrained */ - APC_EXTENSIBLE = 0x4 /* May have extension */ - } flags; - int range_bits; /* Full number of bits in the range */ - int effective_bits; /* Effective bits */ - intmax_t lower_bound; /* "lb" value */ - intmax_t upper_bound; /* "ub" value */ -} asn_per_constraint_t; -typedef struct asn_per_constraints_s { - asn_per_constraint_t value; - asn_per_constraint_t size; - int (*value2code)(unsigned int value); - int (*code2value)(unsigned int code); -} asn_per_constraints_t; - -/* Temporary compatibility layer. Will get removed. */ -typedef struct asn_bit_data_s asn_per_data_t; -#define per_get_few_bits(data, bits) asn_get_few_bits(data, bits) -#define per_get_undo(data, bits) asn_get_undo(data, bits) -#define per_get_many_bits(data, dst, align, bits) \ - asn_get_many_bits(data, dst, align, bits) - -/* Temporary compatibility layer. Will get removed. */ -typedef struct asn_bit_outp_s asn_per_outp_t; -#define per_put_few_bits(out, bits, obits) asn_put_few_bits(out, bits, obits) -#define per_put_many_bits(out, src, nbits) asn_put_many_bits(out, src, nbits) -#define per_put_aligned_flush(out) asn_put_aligned_flush(out) - -#ifdef __cplusplus -} -#endif - -#endif /* _PER_SUPPORT_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/uper_decoder.c b/src/tmx/Asn_J2735/src/r2024/uper_decoder.c new file mode 100644 index 000000000..a88e95cfb --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/uper_decoder.c @@ -0,0 +1,96 @@ +#include +#include +#include + +/* + * Decode a "Production of a complete encoding", X.691#10.1. + * The complete encoding contains at least one byte, and is an integral + * multiple of 8 bytes. + */ +asn_dec_rval_t +uper_decode_complete(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, + const void *buffer, size_t size) { + asn_dec_rval_t rval; + + rval = uper_decode(opt_codec_ctx, td, sptr, buffer, size, 0, 0); + if(rval.consumed) { + /* + * We've always given 8-aligned data, + * so convert bits to integral bytes. + */ + rval.consumed += 7; + rval.consumed >>= 3; + } else if(rval.code == RC_OK) { + if(size) { + if(((const uint8_t *)buffer)[0] == 0) { + rval.consumed = 1; /* 1 byte */ + } else { + ASN_DEBUG("Expecting single zeroed byte"); + rval.code = RC_FAIL; + } + } else { + /* Must contain at least 8 bits. */ + rval.code = RC_WMORE; + } + } + + return rval; +} + +asn_dec_rval_t +uper_decode(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **sptr, const void *buffer, + size_t size, int skip_bits, int unused_bits) { + asn_codec_ctx_t s_codec_ctx; + asn_dec_rval_t rval; + asn_per_data_t pd; + + if(skip_bits < 0 || skip_bits > 7 + || unused_bits < 0 || unused_bits > 7 + || (unused_bits > 0 && !size)) + ASN__DECODE_FAILED; + + /* + * Stack checker requires that the codec context + * must be allocated on the stack. + */ + if(opt_codec_ctx) { + if(opt_codec_ctx->max_stack_size) { + s_codec_ctx = *opt_codec_ctx; + opt_codec_ctx = &s_codec_ctx; + } + } else { + /* If context is not given, be security-conscious anyway */ + memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); + s_codec_ctx.max_stack_size = ASN__DEFAULT_STACK_MAX; + opt_codec_ctx = &s_codec_ctx; + } + + /* Fill in the position indicator */ + memset(&pd, 0, sizeof(pd)); + pd.buffer = (const uint8_t *)buffer; + pd.nboff = skip_bits; + pd.nbits = 8 * size - unused_bits; /* 8 is CHAR_BIT from */ + if(pd.nboff > pd.nbits) + ASN__DECODE_FAILED; + + /* + * Invoke type-specific decoder. + */ + if(!td->op->uper_decoder) + ASN__DECODE_FAILED; /* PER is not compiled in */ + rval = td->op->uper_decoder(opt_codec_ctx, td, 0, sptr, &pd); + if(rval.code == RC_OK) { + /* Return the number of consumed bits */ + rval.consumed = ((pd.buffer - (const uint8_t *)buffer) << 3) + + pd.nboff - skip_bits; + ASN_DEBUG("PER decoding consumed %ld, counted %ld", + (long)rval.consumed, (long)pd.moved); + assert(rval.consumed == pd.moved); + } else { + /* PER codec is not a restartable */ + rval.consumed = 0; + } + return rval; +} diff --git a/src/tmx/Asn_J2735/src/r2024/uper_decoder.h b/src/tmx/Asn_J2735/src/r2024/uper_decoder.h deleted file mode 100644 index ded851565..000000000 --- a/src/tmx/Asn_J2735/src/r2024/uper_decoder.h +++ /dev/null @@ -1,47 +0,0 @@ -/*- - * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _UPER_DECODER_H_ -#define _UPER_DECODER_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * Unaligned PER decoder of a "complete encoding" as per X.691 (08/2015) #11.1. - * On success, this call always returns (.consumed >= 1), as per #11.1.3. - */ -asn_dec_rval_t uper_decode_complete( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */ - void **struct_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of data buffer */ -); - -/* - * Unaligned PER decoder of any ASN.1 type. May be invoked by the application. - * WARNING: This call returns the number of BITS read from the stream. Beware. - */ -asn_dec_rval_t uper_decode( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, /* Type to decode */ - void **struct_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size, /* Size of the input data buffer, in bytes */ - int skip_bits, /* Number of unused leading bits, 0..7 */ - int unused_bits /* Number of unused tailing bits, 0..7 */ -); - -#ifdef __cplusplus -} -#endif - -#endif /* _UPER_DECODER_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/uper_encoder.c b/src/tmx/Asn_J2735/src/r2024/uper_encoder.c new file mode 100644 index 000000000..4c1d24a6c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/uper_encoder.c @@ -0,0 +1,127 @@ +#include +#include +#include + +static int _uper_encode_flush_outp(asn_per_outp_t *po); + +asn_enc_rval_t +uper_encode(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_app_consume_bytes_f *cb, void *app_key) { + asn_per_outp_t po; + asn_enc_rval_t er = {0,0,0}; + + /* + * Invoke type-specific encoder. + */ + if(!td || !td->op->uper_encoder) + ASN__ENCODE_FAILED; /* PER is not compiled in */ + + po.buffer = po.tmpspace; + po.nboff = 0; + po.nbits = 8 * sizeof(po.tmpspace); + po.output = cb ? cb : ignore_output; + po.op_key = app_key; + po.flushed_bytes = 0; + + er = td->op->uper_encoder(td, constraints, sptr, &po); + if(er.encoded != -1) { + size_t bits_to_flush; + + bits_to_flush = ((po.buffer - po.tmpspace) << 3) + po.nboff; + + /* Set number of bits encoded to a firm value */ + er.encoded = (po.flushed_bytes << 3) + bits_to_flush; + + if(_uper_encode_flush_outp(&po)) ASN__ENCODE_FAILED; + } + + return er; +} + +/* + * Argument type and callback necessary for uper_encode_to_buffer(). + */ +typedef struct enc_to_buf_arg { + void *buffer; + size_t left; +} enc_to_buf_arg; +static int encode_to_buffer_cb(const void *buffer, size_t size, void *key) { + enc_to_buf_arg *arg = (enc_to_buf_arg *)key; + + if(arg->left < size) + return -1; /* Data exceeds the available buffer size */ + + memcpy(arg->buffer, buffer, size); + arg->buffer = ((char *)arg->buffer) + size; + arg->left -= size; + + return 0; +} + +asn_enc_rval_t +uper_encode_to_buffer(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, void *buffer, size_t buffer_size) { + enc_to_buf_arg key; + + key.buffer = buffer; + key.left = buffer_size; + + if(td) ASN_DEBUG("Encoding \"%s\" using UNALIGNED PER", td->name); + + return uper_encode(td, constraints, sptr, encode_to_buffer_cb, &key); +} + +ssize_t +uper_encode_to_new_buffer(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, + const void *sptr, void **buffer_r) { + asn_enc_rval_t er = {0,0,0}; + enc_dyn_arg key; + + memset(&key, 0, sizeof(key)); + + er = uper_encode(td, constraints, sptr, encode_dyn_cb, &key); + switch(er.encoded) { + case -1: + FREEMEM(key.buffer); + return -1; + case 0: + FREEMEM(key.buffer); + key.buffer = MALLOC(1); + if(key.buffer) { + *(char *)key.buffer = '\0'; + *buffer_r = key.buffer; + return 1; + } else { + return -1; + } + default: + *buffer_r = key.buffer; + ASN_DEBUG("Complete encoded in %ld bits", (long)er.encoded); + return ((er.encoded + 7) >> 3); + } +} + +/* + * Internally useful functions. + */ + +/* Flush partially filled buffer */ +static int +_uper_encode_flush_outp(asn_per_outp_t *po) { + uint8_t *buf; + + if(po->nboff == 0 && po->buffer == po->tmpspace) + return 0; + + buf = po->buffer + (po->nboff >> 3); + /* Make sure we account for the last, partially filled */ + if(po->nboff & 0x07) { + buf[0] &= 0xff << (8 - (po->nboff & 0x07)); + buf++; + } + + return po->output(po->tmpspace, buf - po->tmpspace, po->op_key); +} diff --git a/src/tmx/Asn_J2735/src/r2024/uper_encoder.h b/src/tmx/Asn_J2735/src/r2024/uper_encoder.h deleted file mode 100644 index 8f73980c3..000000000 --- a/src/tmx/Asn_J2735/src/r2024/uper_encoder.h +++ /dev/null @@ -1,62 +0,0 @@ -/*- - * Copyright (c) 2006-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _UPER_ENCODER_H_ -#define _UPER_ENCODER_H_ - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * Unaligned PER encoder of any ASN.1 type. May be invoked by the application. - * WARNING: This function returns the number of encoded bits in the .encoded - * field of the return value. Use the following formula to convert to bytes: - * bytes = ((.encoded + 7) / 8) - */ -asn_enc_rval_t uper_encode( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_per_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - asn_app_consume_bytes_f *consume_bytes_cb, /* Data collector */ - void *app_key /* Arbitrary callback argument */ -); - -/* - * A variant of uper_encode() which encodes data into the existing buffer - * WARNING: This function returns the number of encoded bits in the .encoded - * field of the return value. - */ -asn_enc_rval_t uper_encode_to_buffer( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_per_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - void *buffer, /* Pre-allocated buffer */ - size_t buffer_size /* Initial buffer size (max) */ -); - -/* - * A variant of uper_encode_to_buffer() which allocates buffer itself. - * Returns the number of bytes in the buffer or -1 in case of failure. - * WARNING: This function produces a "Production of the complete encoding", - * with length of at least one octet. Contrast this to precise bit-packing - * encoding of uper_encode() and uper_encode_to_buffer(). - */ -ssize_t uper_encode_to_new_buffer( - const struct asn_TYPE_descriptor_s *type_descriptor, - const asn_per_constraints_t *constraints, - const void *struct_ptr, /* Structure to be encoded */ - void **buffer_r /* Buffer allocated and returned */ -); - -#ifdef __cplusplus -} -#endif - -#endif /* _UPER_ENCODER_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/uper_opentype.c b/src/tmx/Asn_J2735/src/r2024/uper_opentype.c new file mode 100644 index 000000000..17ee06416 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/uper_opentype.c @@ -0,0 +1,372 @@ +/* + * Copyright (c) 2007 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include +#include + +typedef struct uper_ugot_key { + asn_per_data_t oldpd; /* Old per data source */ + size_t unclaimed; + size_t ot_moved; /* Number of bits moved by OT processing */ + int repeat; +} uper_ugot_key; + +static int uper_ugot_refill(asn_per_data_t *pd); +static int per_skip_bits(asn_per_data_t *pd, int skip_nbits); + +/* + * Encode an "open type field". + * #10.1, #10.2 + */ +int +uper_open_type_put(const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, const void *sptr, + asn_per_outp_t *po) { + void *buf; + void *bptr; + ssize_t size; + + ASN_DEBUG("Open type put %s ...", td->name); + + size = uper_encode_to_new_buffer(td, constraints, sptr, &buf); + if(size <= 0) return -1; + + ASN_DEBUG("Open type put %s of length %" ASN_PRI_SSIZE " + overhead (1byte?)", td->name, + size); + + bptr = buf; + do { + int need_eom = 0; + ssize_t may_save = uper_put_length(po, size, &need_eom); + ASN_DEBUG("Prepending length %" ASN_PRI_SSIZE + " to %s and allowing to save %" ASN_PRI_SSIZE, + size, td->name, may_save); + if(may_save < 0) break; + if(per_put_many_bits(po, bptr, may_save * 8)) break; + bptr = (char *)bptr + may_save; + size -= may_save; + if(need_eom && uper_put_length(po, 0, 0)) { + FREEMEM(buf); + return -1; + } + } while(size); + + FREEMEM(buf); + if(size) return -1; + + return 0; +} + +static asn_dec_rval_t +uper_open_type_get_simple(const asn_codec_ctx_t *ctx, + const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + asn_dec_rval_t rv; + ssize_t chunk_bytes; + int repeat; + uint8_t *buf = 0; + size_t bufLen = 0; + size_t bufSize = 0; + asn_per_data_t spd; + size_t padding; + + ASN__STACK_OVERFLOW_CHECK(ctx); + + ASN_DEBUG("Getting open type %s...", td->name); + + do { + chunk_bytes = uper_get_length(pd, -1, 0, &repeat); + if(chunk_bytes < 0) { + FREEMEM(buf); + ASN__DECODE_STARVED; + } + if(bufLen + chunk_bytes > bufSize) { + void *ptr; + bufSize = chunk_bytes + (bufSize << 2); + ptr = REALLOC(buf, bufSize); + if(!ptr) { + FREEMEM(buf); + ASN__DECODE_FAILED; + } + buf = ptr; + } + if(per_get_many_bits(pd, (buf == NULL)? NULL : buf + bufLen, 0, chunk_bytes << 3)) { + FREEMEM(buf); + ASN__DECODE_STARVED; + } + bufLen += chunk_bytes; + } while(repeat); + + ASN_DEBUG("Getting open type %s encoded in %ld bytes", td->name, + (long)bufLen); + + memset(&spd, 0, sizeof(spd)); + spd.buffer = buf; + spd.nbits = bufLen << 3; + + ASN_DEBUG_INDENT_ADD(+4); + rv = td->op->uper_decoder(ctx, td, constraints, sptr, &spd); + ASN_DEBUG_INDENT_ADD(-4); + + if(rv.code == RC_OK) { + /* Check padding validity */ + padding = spd.nbits - spd.nboff; + if (((padding > 0 && padding < 8) || + /* X.691#10.1.3 */ + (spd.nboff == 0 && spd.nbits == 8 && spd.buffer == buf)) && + per_get_few_bits(&spd, padding) == 0) { + /* Everything is cool */ + FREEMEM(buf); + return rv; + } + FREEMEM(buf); + if(padding >= 8) { + ASN_DEBUG("Too large padding %d in open type", (int)padding); + ASN__DECODE_FAILED; + } else { + ASN_DEBUG("No padding"); + } + } else { + FREEMEM(buf); + /* rv.code could be RC_WMORE, nonsense in this context */ + rv.code = RC_FAIL; /* No one would give us more */ + } + + return rv; +} + +static asn_dec_rval_t CC_NOTUSED +uper_open_type_get_complex(const asn_codec_ctx_t *ctx, + const asn_TYPE_descriptor_t *td, + asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + uper_ugot_key arg; + asn_dec_rval_t rv; + ssize_t padding; + + ASN__STACK_OVERFLOW_CHECK(ctx); + + ASN_DEBUG("Getting open type %s from %s", td->name, + asn_bit_data_string(pd)); + arg.oldpd = *pd; + arg.unclaimed = 0; + arg.ot_moved = 0; + arg.repeat = 1; + pd->refill = uper_ugot_refill; + pd->refill_key = &arg; + pd->nbits = pd->nboff; /* 0 good bits at this point, will refill */ + pd->moved = 0; /* This now counts the open type size in bits */ + + ASN_DEBUG_INDENT_ADD(+4); + rv = td->op->uper_decoder(ctx, td, constraints, sptr, pd); + ASN_DEBUG_INDENT_ADD(-4); + +#define UPDRESTOREPD do { \ + /* buffer and nboff are valid, preserve them. */ \ + pd->nbits = arg.oldpd.nbits - (pd->moved - arg.ot_moved); \ + pd->moved = arg.oldpd.moved + (pd->moved - arg.ot_moved); \ + pd->refill = arg.oldpd.refill; \ + pd->refill_key = arg.oldpd.refill_key; \ + } while(0) + + if(rv.code != RC_OK) { + UPDRESTOREPD; + return rv; + } + + ASN_DEBUG("OpenType %s pd%s old%s unclaimed=%d, repeat=%d", td->name, + asn_bit_data_string(pd), + asn_bit_data_string(&arg.oldpd), + (int)arg.unclaimed, (int)arg.repeat); + + padding = pd->moved % 8; + if(padding) { + int32_t pvalue; + if(padding > 7) { + ASN_DEBUG("Too large padding %d in open type", + (int)padding); + rv.code = RC_FAIL; + UPDRESTOREPD; + return rv; + } + padding = 8 - padding; + ASN_DEBUG("Getting padding of %d bits", (int)padding); + pvalue = per_get_few_bits(pd, padding); + switch(pvalue) { + case -1: + ASN_DEBUG("Padding skip failed"); + UPDRESTOREPD; + ASN__DECODE_STARVED; + case 0: break; + default: + ASN_DEBUG("Non-blank padding (%d bits 0x%02x)", + (int)padding, (int)pvalue); + UPDRESTOREPD; + ASN__DECODE_FAILED; + } + } + if(pd->nboff != pd->nbits) { + ASN_DEBUG("Open type %s overhead pd%s old%s", td->name, + asn_bit_data_string(pd), asn_bit_data_string(&arg.oldpd)); + if(1) { + UPDRESTOREPD; + ASN__DECODE_FAILED; + } else { + arg.unclaimed += pd->nbits - pd->nboff; + } + } + + /* Adjust pd back so it points to original data */ + UPDRESTOREPD; + + /* Skip data not consumed by the decoder */ + if(arg.unclaimed) { + ASN_DEBUG("Getting unclaimed %d", (int)arg.unclaimed); + switch(per_skip_bits(pd, arg.unclaimed)) { + case -1: + ASN_DEBUG("Claim of %d failed", (int)arg.unclaimed); + ASN__DECODE_STARVED; + case 0: + ASN_DEBUG("Got claim of %d", (int)arg.unclaimed); + break; + default: + /* Padding must be blank */ + ASN_DEBUG("Non-blank unconsumed padding"); + ASN__DECODE_FAILED; + } + arg.unclaimed = 0; + } + + if(arg.repeat) { + ASN_DEBUG("Not consumed the whole thing"); + rv.code = RC_FAIL; + return rv; + } + + return rv; +} + + +asn_dec_rval_t +uper_open_type_get(const asn_codec_ctx_t *ctx, const asn_TYPE_descriptor_t *td, + const asn_per_constraints_t *constraints, void **sptr, + asn_per_data_t *pd) { + return uper_open_type_get_simple(ctx, td, constraints, sptr, pd); +} + +int +uper_open_type_skip(const asn_codec_ctx_t *ctx, asn_per_data_t *pd) { + asn_TYPE_descriptor_t s_td; + asn_TYPE_operation_t s_op; + asn_dec_rval_t rv; + + s_td.name = ""; + s_td.op = &s_op; + s_op.uper_decoder = uper_sot_suck; + + rv = uper_open_type_get(ctx, &s_td, 0, 0, pd); + if(rv.code != RC_OK) + return -1; + else + return 0; +} + +/* + * Internal functions. + */ + +static int +uper_ugot_refill(asn_per_data_t *pd) { + uper_ugot_key *arg = pd->refill_key; + ssize_t next_chunk_bytes, next_chunk_bits; + ssize_t avail; + + asn_per_data_t *oldpd = &arg->oldpd; + + ASN_DEBUG("REFILLING pd->moved=%ld, oldpd->moved=%ld", + (long)pd->moved, (long)oldpd->moved); + + /* Advance our position to where pd is */ + oldpd->buffer = pd->buffer; + oldpd->nboff = pd->nboff; + oldpd->nbits -= pd->moved - arg->ot_moved; + oldpd->moved += pd->moved - arg->ot_moved; + arg->ot_moved = pd->moved; + + if(arg->unclaimed) { + /* Refill the container */ + if(per_get_few_bits(oldpd, 1)) + return -1; + if(oldpd->nboff == 0) { + assert(0); + return -1; + } + pd->buffer = oldpd->buffer; + pd->nboff = oldpd->nboff - 1; + pd->nbits = oldpd->nbits; + ASN_DEBUG("UNCLAIMED <- return from (pd->moved=%ld)", + (long)pd->moved); + return 0; + } + + if(!arg->repeat) { + ASN_DEBUG("Want more but refill doesn't have it"); + return -1; + } + + next_chunk_bytes = uper_get_length(oldpd, -1, 0, &arg->repeat); + ASN_DEBUG("Open type LENGTH %ld bytes at off %ld, repeat %ld", + (long)next_chunk_bytes, (long)oldpd->moved, (long)arg->repeat); + if(next_chunk_bytes < 0) return -1; + if(next_chunk_bytes == 0) { + pd->refill = 0; /* No more refills, naturally */ + assert(!arg->repeat); /* Implementation guarantee */ + } + next_chunk_bits = next_chunk_bytes << 3; + avail = oldpd->nbits - oldpd->nboff; + if(avail >= next_chunk_bits) { + pd->nbits = oldpd->nboff + next_chunk_bits; + arg->unclaimed = 0; + ASN_DEBUG("!+Parent frame %ld bits, alloting %ld [%ld..%ld] (%ld)", + (long)next_chunk_bits, (long)oldpd->moved, + (long)oldpd->nboff, (long)oldpd->nbits, + (long)(oldpd->nbits - oldpd->nboff)); + } else { + pd->nbits = oldpd->nbits; + arg->unclaimed = next_chunk_bits - avail; + ASN_DEBUG("!-Parent frame %ld, require %ld, will claim %ld", + (long)avail, (long)next_chunk_bits, + (long)arg->unclaimed); + } + pd->buffer = oldpd->buffer; + pd->nboff = oldpd->nboff; + ASN_DEBUG("Refilled pd%s old%s", + asn_bit_data_string(pd), asn_bit_data_string(oldpd)); + return 0; +} + +static int +per_skip_bits(asn_per_data_t *pd, int skip_nbits) { + int hasNonZeroBits = 0; + while(skip_nbits > 0) { + int skip; + + /* per_get_few_bits() is more efficient when nbits <= 24 */ + if(skip_nbits < 24) + skip = skip_nbits; + else + skip = 24; + skip_nbits -= skip; + + switch(per_get_few_bits(pd, skip)) { + case -1: return -1; /* Starving */ + case 0: continue; /* Skipped empty space */ + default: hasNonZeroBits = 1; continue; + } + } + return hasNonZeroBits; +} diff --git a/src/tmx/Asn_J2735/src/r2024/uper_opentype.h b/src/tmx/Asn_J2735/src/r2024/uper_opentype.h deleted file mode 100644 index 3a248225f..000000000 --- a/src/tmx/Asn_J2735/src/r2024/uper_opentype.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2007-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _UPER_OPENTYPE_H_ -#define _UPER_OPENTYPE_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -asn_dec_rval_t uper_open_type_get(const asn_codec_ctx_t *opt_codec_ctx, - const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - void **sptr, asn_per_data_t *pd); - -int uper_open_type_skip(const asn_codec_ctx_t *opt_codec_ctx, - asn_per_data_t *pd); - -/* - * X.691 (2015/08), #11.2 - * Returns -1 if error is encountered. 0 if all OK. - */ -int uper_open_type_put(const asn_TYPE_descriptor_t *td, - const asn_per_constraints_t *constraints, - const void *sptr, asn_per_outp_t *po); - -#ifdef __cplusplus -} -#endif - -#endif /* _UPER_OPENTYPE_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/uper_support.c b/src/tmx/Asn_J2735/src/r2024/uper_support.c new file mode 100644 index 000000000..ce8adc5e7 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/uper_support.c @@ -0,0 +1,311 @@ +/* + * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * X.691-201508 #10.9 General rules for encoding a length determinant. + * Get the optionally constrained length "n" from the stream. + */ +ssize_t +uper_get_length(asn_per_data_t *pd, int ebits, size_t lower_bound, + int *repeat) { + ssize_t value; + + *repeat = 0; + + /* #11.9.4.1 Encoding if constrained (according to effective bits) */ + if(ebits >= 0 && ebits <= 16) { + value = per_get_few_bits(pd, ebits); + if(value >= 0) value += lower_bound; + return value; + } + + value = per_get_few_bits(pd, 8); + if((value & 0x80) == 0) { /* #11.9.3.6 */ + return (value & 0x7F); + } else if((value & 0x40) == 0) { /* #11.9.3.7 */ + /* bit 8 ... set to 1 and bit 7 ... set to zero */ + value = ((value & 0x3f) << 8) | per_get_few_bits(pd, 8); + return value; /* potential -1 from per_get_few_bits passes through. */ + } else if(value < 0) { + ASN_DEBUG("END of stream reached for PER"); + return -1; + } + value &= 0x3f; /* this is "m" from X.691, #11.9.3.8 */ + if(value < 1 || value > 4) { + return -1; /* Prohibited by #11.9.3.8 */ + } + *repeat = 1; + return (16384 * value); +} + +/* + * Get the normally small length "n". + * This procedure used to decode length of extensions bit-maps + * for SET and SEQUENCE types. + */ +ssize_t +uper_get_nslength(asn_per_data_t *pd) { + ssize_t length; + + ASN_DEBUG("Getting normally small length"); + + if(per_get_few_bits(pd, 1) == 0) { + length = per_get_few_bits(pd, 6) + 1; + if(length <= 0) return -1; + ASN_DEBUG("l=%d", (int)length); + return length; + } else { + int repeat; + length = uper_get_length(pd, -1, 0, &repeat); + if(length >= 0 && !repeat) return length; + return -1; /* Error, or do not support >16K extensions */ + } +} + +/* + * Get the normally small non-negative whole number. + * X.691, #10.6 + */ +ssize_t +uper_get_nsnnwn(asn_per_data_t *pd) { + ssize_t value; + + value = per_get_few_bits(pd, 7); + if(value & 64) { /* implicit (value < 0) */ + value &= 63; + value <<= 2; + value |= per_get_few_bits(pd, 2); + if(value & 128) /* implicit (value < 0) */ + return -1; + if(value == 0) + return 0; + if(value >= 3) + return -1; + value = per_get_few_bits(pd, 8 * value); + return value; + } + + return value; +} + +/* + * X.691-11/2008, #11.6 + * Encoding of a normally small non-negative whole number + */ +int +uper_put_nsnnwn(asn_per_outp_t *po, int n) { + int bytes; + + if(n <= 63) { + if(n < 0) return -1; + return per_put_few_bits(po, n, 7); + } + if(n < 256) + bytes = 1; + else if(n < 65536) + bytes = 2; + else if(n < 256 * 65536) + bytes = 3; + else + return -1; /* This is not a "normally small" value */ + if(per_put_few_bits(po, bytes, 8)) + return -1; + + return per_put_few_bits(po, n, 8 * bytes); +} + + +/* X.691-2008/11, #11.5.6 -> #11.3 */ +int uper_get_constrained_whole_number(asn_per_data_t *pd, uintmax_t *out_value, int nbits) { + uintmax_t lhalf; /* Lower half of the number*/ + intmax_t half; + + if(nbits <= 31) { + half = per_get_few_bits(pd, nbits); + if(half < 0) return -1; + *out_value = half; + return 0; + } + + if((size_t)nbits > 8 * sizeof(*out_value)) + return -1; /* RANGE */ + + half = per_get_few_bits(pd, 31); + if(half < 0) return -1; + + if(uper_get_constrained_whole_number(pd, &lhalf, nbits - 31)) + return -1; + + *out_value = ((uintmax_t)half << (nbits - 31)) | lhalf; + return 0; +} + + +/* X.691-2008/11, #11.5.6 -> #11.3 */ +int +uper_put_constrained_whole_number_u(asn_per_outp_t *po, uintmax_t v, + int nbits) { + if(nbits <= 31) { + return per_put_few_bits(po, v, nbits); + } else { + /* Put higher portion first, followed by lower 31-bit */ + if(uper_put_constrained_whole_number_u(po, v >> 31, nbits - 31)) + return -1; + return per_put_few_bits(po, v, 31); + } +} + +/* + * X.691 (08/2015) #11.9 "General rules for encoding a length determinant" + * Put the length "n" (or part of it) into the stream. + */ +ssize_t +uper_put_length(asn_per_outp_t *po, size_t length, int *need_eom) { + int dummy = 0; + if(!need_eom) need_eom = &dummy; + + if(length <= 127) { /* #11.9.3.6 */ + *need_eom = 0; + return per_put_few_bits(po, length, 8) + ? -1 : (ssize_t)length; + } else if(length < 16384) { /* #10.9.3.7 */ + *need_eom = 0; + return per_put_few_bits(po, length|0x8000, 16) + ? -1 : (ssize_t)length; + } + + *need_eom = 0 == (length & 16383); + length >>= 14; + if(length > 4) { + *need_eom = 0; + length = 4; + } + + return per_put_few_bits(po, 0xC0 | length, 8) + ? -1 : (ssize_t)(length << 14); + +} + + +/* + * Put the normally small length "n" into the stream. + * This procedure used to encode length of extensions bit-maps + * for SET and SEQUENCE types. + */ +int +uper_put_nslength(asn_per_outp_t *po, size_t length) { + if(length <= 64) { + /* #11.9.3.4 */ + if(length == 0) return -1; + return per_put_few_bits(po, length - 1, 7) ? -1 : 0; + } else { + int need_eom = 0; + if(uper_put_length(po, length, &need_eom) != (ssize_t)length + || need_eom) { + /* This might happen in case of >16K extensions */ + return -1; + } + } + + return 0; +} + +static int +per__imax_range(intmax_t lb, intmax_t ub, uintmax_t *range_r) { + uintmax_t bounds_range; + if((ub < 0) == (lb < 0)) { + bounds_range = ub - lb; + } else if(lb < 0) { + assert(ub >= 0); + bounds_range = 1 + ((uintmax_t)ub + (uintmax_t)-(lb + 1)); + } else { + assert(!"Unreachable"); + return -1; + } + *range_r = bounds_range; + return 0; +} + +int +per_imax_range_rebase(intmax_t v, intmax_t lb, intmax_t ub, uintmax_t *output) { + uintmax_t range; + + assert(lb <= ub); + + if(v < lb || v > ub || per__imax_range(lb, ub, &range) < 0) { + /* Range error. */ + return -1; + } + + /* + * Fundamentally what we're doing is returning (v-lb). + * However, this triggers undefined behavior when the word width + * of signed (v) is the same as the size of unsigned (*output). + * In practice, it triggers the UndefinedSanitizer. Therefore we shall + * compute the ranges accurately to avoid C's undefined behavior. + */ + if((v < 0) == (lb < 0)) { + *output = v-lb; + return 0; + } else if(v < 0) { + uintmax_t rebased = 1 + (uintmax_t)-(v+1) + (uintmax_t)lb; + assert(rebased <= range); /* By construction */ + *output = rebased; + return 0; + } else if(lb < 0) { + uintmax_t rebased = 1 + (uintmax_t)-(lb+1) + (uintmax_t)v; + assert(rebased <= range); /* By construction */ + *output = rebased; + return 0; + } else { + assert(!"Unreachable"); + return -1; + } +} + +int +per_long_range_rebase(long v, intmax_t lb, intmax_t ub, unsigned long *output) { + uintmax_t tmp = *output; + int rc = per_imax_range_rebase((intmax_t)v, lb, ub, &tmp); + *output = tmp; + return rc; +} + +int +per_imax_range_unrebase(uintmax_t inp, intmax_t lb, intmax_t ub, intmax_t *outp) { + uintmax_t range; + + if(per__imax_range(lb, ub, &range) != 0) { + return -1; + } + + if(inp > range) { + /* + * We can encode something in the given number of bits that technically + * exceeds the range. This is an avenue for security errors, + * so we don't allow that. + */ + return -1; + } + + if(inp <= INTMAX_MAX) { + *outp = (intmax_t)inp + lb; + } else { + *outp = (lb + INTMAX_MAX + 1) + (intmax_t)((inp - INTMAX_MAX) - 1); + } + + return 0; +} + +int +per_long_range_unrebase(unsigned long inp, intmax_t lb, intmax_t ub, long *outp) { + intmax_t tmp = *outp; + int rc = per_imax_range_unrebase((uintmax_t)inp, lb, ub, &tmp); + *outp = tmp; + return rc; +} diff --git a/src/tmx/Asn_J2735/src/r2024/uper_support.h b/src/tmx/Asn_J2735/src/r2024/uper_support.h deleted file mode 100644 index 6c9d4ea74..000000000 --- a/src/tmx/Asn_J2735/src/r2024/uper_support.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (c) 2005-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _UPER_SUPPORT_H_ -#define _UPER_SUPPORT_H_ - -#include /* Platform-specific types */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * X.691 (08/2015) #11.9 "General rules for encoding a length determinant" - * Get the length "n" from the Unaligned PER stream. - */ -ssize_t uper_get_length(asn_per_data_t *pd, int effective_bound_bits, - size_t lower_bound, int *repeat); - -/* - * Get the normally small length "n". - */ -ssize_t uper_get_nslength(asn_per_data_t *pd); - -/* - * Get the normally small non-negative whole number. - */ -ssize_t uper_get_nsnnwn(asn_per_data_t *pd); - -/* X.691-2008/11, #11.5.6 */ -int uper_get_constrained_whole_number(asn_per_data_t *pd, uintmax_t *v, int nbits); - -/* - * Rebase the given value as an offset into the range specified by the - * lower bound (lb) and upper bound (ub). - * RETURN VALUES: - * -1: Conversion failed due to range problems. - * 0: Conversion was successful. - */ -int per_long_range_rebase(long, intmax_t lb, intmax_t ub, unsigned long *output); -int per_imax_range_rebase(intmax_t v, intmax_t lb, intmax_t ub, uintmax_t *output); -/* The inverse operation: restores the value by the offset and its bounds. */ -int per_long_range_unrebase(unsigned long inp, intmax_t lb, intmax_t ub, long *outp); -int per_imax_range_unrebase(uintmax_t inp, intmax_t lb, intmax_t ub, intmax_t *outp); - -/* X.691-2008/11, #11.5 */ -int uper_put_constrained_whole_number_u(asn_per_outp_t *po, uintmax_t v, int nbits); - -/* - * X.691 (08/2015) #11.9 "General rules for encoding a length determinant" - * Put the length "whole_length" to the Unaligned PER stream. - * If (opt_need_eom) is given, it will be set to 1 if final 0-length is needed. - * In that case, invoke uper_put_length(po, 0, 0) after encoding the last block. - * This function returns the number of units which may be flushed - * in the next units saving iteration. - */ -ssize_t uper_put_length(asn_per_outp_t *po, size_t whole_length, - int *opt_need_eom); - -/* - * Put the normally small length "n" to the Unaligned PER stream. - * Returns 0 or -1. - */ -int uper_put_nslength(asn_per_outp_t *po, size_t length); - -/* - * Put the normally small non-negative whole number. - */ -int uper_put_nsnnwn(asn_per_outp_t *po, int n); - -#ifdef __cplusplus -} -#endif - -#endif /* _UPER_SUPPORT_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/xer_decoder.c b/src/tmx/Asn_J2735/src/r2024/xer_decoder.c new file mode 100644 index 000000000..2a14557a6 --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/xer_decoder.c @@ -0,0 +1,369 @@ +/* + * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include /* XER/XML parsing support */ + + +/* + * Decode the XER encoding of a given type. + */ +asn_dec_rval_t +xer_decode(const asn_codec_ctx_t *opt_codec_ctx, + const asn_TYPE_descriptor_t *td, void **struct_ptr, + const void *buffer, size_t size) { + asn_codec_ctx_t s_codec_ctx; + + /* + * Stack checker requires that the codec context + * must be allocated on the stack. + */ + if(opt_codec_ctx) { + if(opt_codec_ctx->max_stack_size) { + s_codec_ctx = *opt_codec_ctx; + opt_codec_ctx = &s_codec_ctx; + } + } else { + /* If context is not given, be security-conscious anyway */ + memset(&s_codec_ctx, 0, sizeof(s_codec_ctx)); + s_codec_ctx.max_stack_size = ASN__DEFAULT_STACK_MAX; + opt_codec_ctx = &s_codec_ctx; + } + + /* + * Invoke type-specific decoder. + */ + return td->op->xer_decoder(opt_codec_ctx, td, struct_ptr, 0, buffer, size); +} + + + +struct xer__cb_arg { + pxml_chunk_type_e chunk_type; + size_t chunk_size; + const void *chunk_buf; + int callback_not_invoked; +}; + +static int +xer__token_cb(pxml_chunk_type_e type, const void *_chunk_data, size_t _chunk_size, void *key) { + struct xer__cb_arg *arg = (struct xer__cb_arg *)key; + arg->chunk_type = type; + arg->chunk_size = _chunk_size; + arg->chunk_buf = _chunk_data; + arg->callback_not_invoked = 0; + return -1; /* Terminate the XML parsing */ +} + +/* + * Fetch the next token from the XER/XML stream. + */ +ssize_t +xer_next_token(int *stateContext, const void *buffer, size_t size, pxer_chunk_type_e *ch_type) { + struct xer__cb_arg arg; + int new_stateContext = *stateContext; + ssize_t ret; + + arg.callback_not_invoked = 1; + ret = pxml_parse(&new_stateContext, buffer, size, xer__token_cb, &arg); + if(ret < 0) return -1; + if(arg.callback_not_invoked) { + assert(ret == 0); /* No data was consumed */ + *ch_type = PXER_WMORE; + return 0; /* Try again with more data */ + } else { + assert(arg.chunk_size); + assert(arg.chunk_buf == buffer); + } + + /* + * Translate the XML chunk types into more convenient ones. + */ + switch(arg.chunk_type) { + case PXML_TEXT: + *ch_type = PXER_TEXT; + break; + case PXML_TAG: + *ch_type = PXER_WMORE; + return 0; /* Want more */ + case PXML_TAG_END: + *ch_type = PXER_TAG; + break; + case PXML_COMMENT: + case PXML_COMMENT_END: + *ch_type = PXER_COMMENT; + break; + } + + *stateContext = new_stateContext; + return arg.chunk_size; +} + +#define CSLASH 0x2f /* '/' */ +#define LANGLE 0x3c /* '<' */ +#define RANGLE 0x3e /* '>' */ + +xer_check_tag_e +xer_check_tag(const void *buf_ptr, int size, const char *need_tag) { + const char *buf = (const char *)buf_ptr; + const char *end; + xer_check_tag_e ct = XCT_OPENING; + + if(size < 2 || buf[0] != LANGLE || buf[size-1] != RANGLE) { + if(size >= 2) + ASN_DEBUG("Broken XML tag: \"%c...%c\"", + buf[0], buf[size - 1]); + return XCT_BROKEN; + } + + /* + * Determine the tag class. + */ + if(buf[1] == CSLASH) { + buf += 2; /* advance past "" */ + ct = XCT_CLOSING; + if(size > 0 && buf[size-1] == CSLASH) + return XCT_BROKEN; /* */ + } else { + buf++; /* advance past "<" */ + size -= 2; /* strip "<" and ">" */ + if(size > 0 && buf[size-1] == CSLASH) { + ct = XCT_BOTH; + size--; /* One more, for "/" */ + } + } + + /* Sometimes we don't care about the tag */ + if(!need_tag || !*need_tag) + return (xer_check_tag_e)(XCT__UNK__MASK | ct); + + /* + * Determine the tag name. + */ + for(end = buf + size; buf < end; buf++, need_tag++) { + int b = *buf, n = *need_tag; + if(b != n) { + if(n == 0) { + switch(b) { + case 0x09: case 0x0a: case 0x0c: case 0x0d: + case 0x20: + /* "": whitespace is normal */ + return ct; + } + } + return (xer_check_tag_e)(XCT__UNK__MASK | ct); + } + if(b == 0) + return XCT_BROKEN; /* Embedded 0 in buf?! */ + } + if(*need_tag) + return (xer_check_tag_e)(XCT__UNK__MASK | ct); + + return ct; +} + + +#undef ADVANCE +#define ADVANCE(num_bytes) do { \ + size_t num = (num_bytes); \ + buf_ptr = ((const char *)buf_ptr) + num; \ + size -= num; \ + consumed_myself += num; \ + } while(0) + +#undef RETURN +#define RETURN(_code) do { \ + rval.code = _code; \ + rval.consumed = consumed_myself; \ + if(rval.code != RC_OK) \ + ASN_DEBUG("Failed with %d", rval.code); \ + return rval; \ + } while(0) + +#define XER_GOT_BODY(chunk_buf, chunk_size, size) do { \ + ssize_t converted_size = body_receiver \ + (struct_key, chunk_buf, chunk_size, \ + (size_t)chunk_size < size); \ + if(converted_size == -1) RETURN(RC_FAIL); \ + if(converted_size == 0 \ + && size == (size_t)chunk_size) \ + RETURN(RC_WMORE); \ + chunk_size = converted_size; \ + } while(0) +#define XER_GOT_EMPTY() do { \ + if(body_receiver(struct_key, 0, 0, size > 0) == -1) \ + RETURN(RC_FAIL); \ + } while(0) + +/* + * Generalized function for decoding the primitive values. + */ +asn_dec_rval_t +xer_decode_general(const asn_codec_ctx_t *opt_codec_ctx, + asn_struct_ctx_t *ctx, /* Type decoder context */ + void *struct_key, + const char *xml_tag, /* Expected XML tag */ + const void *buf_ptr, size_t size, + int (*opt_unexpected_tag_decoder) + (void *struct_key, const void *chunk_buf, size_t chunk_size), + ssize_t (*body_receiver) + (void *struct_key, const void *chunk_buf, size_t chunk_size, + int have_more) + ) { + + asn_dec_rval_t rval; + ssize_t consumed_myself = 0; + + (void)opt_codec_ctx; + + /* + * Phases of XER/XML processing: + * Phase 0: Check that the opening tag matches our expectations. + * Phase 1: Processing body and reacting on closing tag. + */ + if(ctx->phase > 1) RETURN(RC_FAIL); + for(;;) { + pxer_chunk_type_e ch_type; /* XER chunk type */ + ssize_t ch_size; /* Chunk size */ + xer_check_tag_e tcv; /* Tag check value */ + + /* + * Get the next part of the XML stream. + */ + ch_size = xer_next_token(&ctx->context, buf_ptr, size, + &ch_type); + if(ch_size == -1) { + RETURN(RC_FAIL); + } else { + switch(ch_type) { + case PXER_WMORE: + RETURN(RC_WMORE); + case PXER_COMMENT: /* Got XML comment */ + ADVANCE(ch_size); /* Skip silently */ + continue; + case PXER_TEXT: + if(ctx->phase == 0) { + /* + * We have to ignore whitespace here, + * but in order to be forward compatible + * with EXTENDED-XER (EMBED-VALUES, #25) + * any text is just ignored here. + */ + } else { + XER_GOT_BODY(buf_ptr, ch_size, size); + } + ADVANCE(ch_size); + continue; + case PXER_TAG: + break; /* Check the rest down there */ + } + } + + assert(ch_type == PXER_TAG && size); + + tcv = xer_check_tag(buf_ptr, ch_size, xml_tag); + /* + * Phase 0: + * Expecting the opening tag + * for the type being processed. + * Phase 1: + * Waiting for the closing XML tag. + */ + switch(tcv) { + case XCT_BOTH: + if(ctx->phase) break; + /* Finished decoding of an empty element */ + XER_GOT_EMPTY(); + ADVANCE(ch_size); + ctx->phase = 2; /* Phase out */ + RETURN(RC_OK); + case XCT_OPENING: + if(ctx->phase) break; + ADVANCE(ch_size); + ctx->phase = 1; /* Processing body phase */ + continue; + case XCT_CLOSING: + if(!ctx->phase) break; + ADVANCE(ch_size); + ctx->phase = 2; /* Phase out */ + RETURN(RC_OK); + case XCT_UNKNOWN_BO: + /* + * Certain tags in the body may be expected. + */ + if(opt_unexpected_tag_decoder + && opt_unexpected_tag_decoder(struct_key, + buf_ptr, ch_size) >= 0) { + /* Tag's processed fine */ + ADVANCE(ch_size); + if(!ctx->phase) { + /* We are not expecting + * the closing tag anymore. */ + ctx->phase = 2; /* Phase out */ + RETURN(RC_OK); + } + continue; + } + /* Fall through */ + default: + break; /* Unexpected tag */ + } + + ASN_DEBUG("Unexpected XML tag (expected \"%s\")", xml_tag); + break; /* Dark and mysterious things have just happened */ + } + + RETURN(RC_FAIL); +} + + +size_t +xer_whitespace_span(const void *chunk_buf, size_t chunk_size) { + const char *p = (const char *)chunk_buf; + const char *pend = (p == NULL)? NULL : p + chunk_size; + + for(; p < pend; p++) { + switch(*p) { + /* X.693, #8.1.4 + * HORISONTAL TAB (9) + * LINE FEED (10) + * CARRIAGE RETURN (13) + * SPACE (32) + */ + case 0x09: case 0x0a: case 0x0d: case 0x20: + continue; + default: + break; + } + break; + } + return (p - (const char *)chunk_buf); +} + +/* + * This is a vastly simplified, non-validating XML tree skipper. + */ +int +xer_skip_unknown(xer_check_tag_e tcv, ber_tlv_len_t *depth) { + assert(*depth > 0); + switch(tcv) { + case XCT_BOTH: + case XCT_UNKNOWN_BO: + /* These negate each other. */ + return 0; + case XCT_OPENING: + case XCT_UNKNOWN_OP: + ++(*depth); + return 0; + case XCT_CLOSING: + case XCT_UNKNOWN_CL: + if(--(*depth) == 0) + return (tcv == XCT_CLOSING) ? 2 : 1; + return 0; + default: + return -1; + } +} diff --git a/src/tmx/Asn_J2735/src/r2024/xer_decoder.h b/src/tmx/Asn_J2735/src/r2024/xer_decoder.h deleted file mode 100644 index b951c41d1..000000000 --- a/src/tmx/Asn_J2735/src/r2024/xer_decoder.h +++ /dev/null @@ -1,106 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _XER_DECODER_H_ -#define _XER_DECODER_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* - * The XER decoder of any ASN.1 type. May be invoked by the application. - * Decodes CANONICAL-XER and BASIC-XER. - */ -asn_dec_rval_t xer_decode( - const struct asn_codec_ctx_s *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, - void **struct_ptr, /* Pointer to a target structure's pointer */ - const void *buffer, /* Data to be decoded */ - size_t size /* Size of data buffer */ -); - -/* - * Type of the type-specific XER decoder function. - */ -typedef asn_dec_rval_t(xer_type_decoder_f)( - const asn_codec_ctx_t *opt_codec_ctx, - const struct asn_TYPE_descriptor_s *type_descriptor, void **struct_ptr, - const char *opt_mname, /* Member name */ - const void *buf_ptr, size_t size); - -/******************************* - * INTERNALLY USEFUL FUNCTIONS * - *******************************/ - -/* - * Generalized function for decoding the primitive values. - * Used by more specialized functions, such as OCTET_STRING_decode_xer_utf8 - * and others. This function should not be used by applications, as its API - * is subject to changes. - */ -asn_dec_rval_t xer_decode_general( - const asn_codec_ctx_t *opt_codec_ctx, - asn_struct_ctx_t *ctx, /* Type decoder context */ - void *struct_key, /* Treated as opaque pointer */ - const char *xml_tag, /* Expected XML tag name */ - const void *buf_ptr, size_t size, - int (*opt_unexpected_tag_decoder)(void *struct_key, const void *chunk_buf, - size_t chunk_size), - ssize_t (*body_receiver)(void *struct_key, const void *chunk_buf, - size_t chunk_size, int have_more)); - - -/* - * Fetch the next XER (XML) token from the stream. - * The function returns the number of bytes occupied by the chunk type, - * returned in the _ch_type. The _ch_type is only set (and valid) when - * the return value is >= 0. - */ - typedef enum pxer_chunk_type { - PXER_WMORE, /* Chunk type is not clear, more data expected. */ - PXER_TAG, /* Complete XER tag */ - PXER_TEXT, /* Plain text between XER tags */ - PXER_COMMENT /* A comment, may be part of */ - } pxer_chunk_type_e; -ssize_t xer_next_token(int *stateContext, - const void *buffer, size_t size, pxer_chunk_type_e *_ch_type); - -/* - * This function checks the buffer against the tag name is expected to occur. - */ - typedef enum xer_check_tag { - XCT_BROKEN = 0, /* The tag is broken */ - XCT_OPENING = 1, /* This is the tag */ - XCT_CLOSING = 2, /* This is the tag */ - XCT_BOTH = 3, /* This is the tag */ - XCT__UNK__MASK = 4, /* Mask of everything unexpected */ - XCT_UNKNOWN_OP = 5, /* Unexpected tag */ - XCT_UNKNOWN_CL = 6, /* Unexpected tag */ - XCT_UNKNOWN_BO = 7 /* Unexpected tag */ - } xer_check_tag_e; -xer_check_tag_e xer_check_tag(const void *buf_ptr, int size, - const char *need_tag); - -/* - * Get the number of bytes consisting entirely of XER whitespace characters. - * RETURN VALUES: - * >=0: Number of whitespace characters in the string. - */ -size_t xer_whitespace_span(const void *chunk_buf, size_t chunk_size); - -/* - * Skip the series of anticipated extensions. - */ -int xer_skip_unknown(xer_check_tag_e tcv, ber_tlv_len_t *depth); - -#ifdef __cplusplus -} -#endif - -#endif /* _XER_DECODER_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/xer_encoder.c b/src/tmx/Asn_J2735/src/r2024/xer_encoder.c new file mode 100644 index 000000000..4177ede5c --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/xer_encoder.c @@ -0,0 +1,237 @@ +/*- + * Copyright (c) 2003, 2004 Lev Walkin . All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include +#include + +/* + * The XER encoder of any type. May be invoked by the application. + */ +asn_enc_rval_t +xer_encode(const asn_TYPE_descriptor_t *td, const void *sptr, + enum xer_encoder_flags_e xer_flags, asn_app_consume_bytes_f *cb, + void *app_key) { + asn_enc_rval_t er = {0, 0, 0}; + asn_enc_rval_t tmper; + const char *mname; + size_t mlen; + int xcan = (xer_flags & XER_F_CANONICAL) ? 1 : 2; + + if(!td || !sptr) goto cb_failed; + + mname = td->xml_tag; + mlen = strlen(mname); + + ASN__CALLBACK3("<", 1, mname, mlen, ">", 1); + + tmper = td->op->xer_encoder(td, sptr, 1, xer_flags, cb, app_key); + if(tmper.encoded == -1) return tmper; + er.encoded += tmper.encoded; + + ASN__CALLBACK3("\n", xcan); + + ASN__ENCODED_OK(er); +cb_failed: + ASN__ENCODE_FAILED; +} + +/* + * This is a helper function for xer_fprint, which directs all incoming data + * into the provided file descriptor. + */ +static int +xer__print2fp(const void *buffer, size_t size, void *app_key) { + FILE *stream = (FILE *)app_key; + + if(fwrite(buffer, 1, size, stream) != size) + return -1; + + return 0; +} + +int +xer_fprint(FILE *stream, const asn_TYPE_descriptor_t *td, const void *sptr) { + asn_enc_rval_t er = {0,0,0}; + + if(!stream) stream = stdout; + if(!td || !sptr) + return -1; + + er = xer_encode(td, sptr, XER_F_BASIC, xer__print2fp, stream); + if(er.encoded == -1) + return -1; + + return fflush(stream); +} + +struct xer_buffer { + char *buffer; + size_t buffer_size; + size_t allocated_size; +}; + +static int +xer__buffer_append(const void *buffer, size_t size, void *app_key) { + struct xer_buffer *xb = app_key; + + while(xb->buffer_size + size + 1 > xb->allocated_size) { + size_t new_size = 2 * (xb->allocated_size ? xb->allocated_size : 64); + char *new_buf = MALLOC(new_size); + if(!new_buf) return -1; + if (xb->buffer) { + memcpy(new_buf, xb->buffer, xb->buffer_size); + } + FREEMEM(xb->buffer); + xb->buffer = new_buf; + xb->allocated_size = new_size; + } + + memcpy(xb->buffer + xb->buffer_size, buffer, size); + xb->buffer_size += size; + xb->buffer[xb->buffer_size] = '\0'; + return 0; +} + +enum xer_equivalence_e +xer_equivalent(const struct asn_TYPE_descriptor_s *td, const void *struct1, + const void *struct2, FILE *opt_debug_stream) { + struct xer_buffer xb1 = {0, 0, 0}; + struct xer_buffer xb2 = {0, 0, 0}; + asn_enc_rval_t e1, e2; + asn_dec_rval_t rval; + void *sptr = NULL; + + if(!td || !struct1 || !struct2) { + if(opt_debug_stream) { + if(!td) fprintf(opt_debug_stream, "Type descriptor missing\n"); + if(!struct1) fprintf(opt_debug_stream, "Structure 1 missing\n"); + if(!struct2) fprintf(opt_debug_stream, "Structure 2 missing\n"); + } + return XEQ_FAILURE; + } + + e1 = xer_encode(td, struct1, XER_F_BASIC, xer__buffer_append, &xb1); + if(e1.encoded == -1) { + if(opt_debug_stream) { + fprintf(stderr, "XER Encoding of %s failed\n", td->name); + } + FREEMEM(xb1.buffer); + return XEQ_ENCODE1_FAILED; + } + + e2 = xer_encode(td, struct2, XER_F_BASIC, xer__buffer_append, &xb2); + if(e2.encoded == -1) { + if(opt_debug_stream) { + fprintf(stderr, "XER Encoding of %s failed\n", td->name); + } + FREEMEM(xb1.buffer); + FREEMEM(xb2.buffer); + return XEQ_ENCODE1_FAILED; + } + + if(xb1.buffer_size != xb2.buffer_size + || memcmp(xb1.buffer, xb2.buffer, xb1.buffer_size) != 0) { + if(opt_debug_stream) { + fprintf(opt_debug_stream, + "Structures XER-encoded into different byte streams:\n=== " + "Structure 1 ===\n%s\n=== Structure 2 ===\n%s\n", + xb1.buffer, xb2.buffer); + } + FREEMEM(xb1.buffer); + FREEMEM(xb2.buffer); + return XEQ_DIFFERENT; + } else { + if(opt_debug_stream) { + fprintf(opt_debug_stream, + "Both structures encoded into the same XER byte stream " + "of size %" ASN_PRI_SIZE ":\n%s", + xb1.buffer_size, xb1.buffer); + } + } + + rval = xer_decode(NULL, td, (void **)&sptr, xb1.buffer, + xb1.buffer_size); + switch(rval.code) { + case RC_OK: + break; + case RC_WMORE: + if(opt_debug_stream) { + fprintf(opt_debug_stream, + "Structure %s XER decode unexpectedly requires " + "more data:\n%s\n", + td->name, xb1.buffer); + } + /* Fall through */ + case RC_FAIL: + default: + if(opt_debug_stream) { + fprintf(opt_debug_stream, + "Structure %s XER decoding resulted in failure.\n", + td->name); + } + ASN_STRUCT_FREE(*td, sptr); + FREEMEM(xb1.buffer); + FREEMEM(xb2.buffer); + return XEQ_DECODE_FAILED; + } + + if(rval.consumed != xb1.buffer_size + && ((rval.consumed > xb1.buffer_size) + || xer_whitespace_span(xb1.buffer + rval.consumed, + xb1.buffer_size - rval.consumed) + != (xb1.buffer_size - rval.consumed))) { + if(opt_debug_stream) { + fprintf(opt_debug_stream, + "Round-trip decode of %s required less bytes (%" ASN_PRI_SIZE ") than " + "encoded (%" ASN_PRI_SIZE ")\n", + td->name, rval.consumed, xb1.buffer_size); + } + ASN_STRUCT_FREE(*td, sptr); + FREEMEM(xb1.buffer); + FREEMEM(xb2.buffer); + return XEQ_ROUND_TRIP_FAILED; + } + + /* + * Reuse xb2 to encode newly decoded structure. + */ + FREEMEM(xb2.buffer); + memset(&xb2, 0, sizeof(xb2)); + + e2 = xer_encode(td, sptr, XER_F_BASIC, xer__buffer_append, &xb2); + if(e2.encoded == -1) { + if(opt_debug_stream) { + fprintf(stderr, "XER Encoding of round-trip decode of %s failed\n", + td->name); + } + ASN_STRUCT_FREE(*td, sptr); + FREEMEM(xb1.buffer); + FREEMEM(xb2.buffer); + return XEQ_ROUND_TRIP_FAILED; + } + + ASN_STRUCT_FREE(*td, sptr); + sptr = 0; + + if(xb1.buffer_size != xb2.buffer_size + || memcmp(xb1.buffer, xb2.buffer, xb1.buffer_size) != 0) { + if(opt_debug_stream) { + fprintf(opt_debug_stream, + "XER Encoding of round-trip decode of %s resulted in " + "different byte stream:\n" + "=== Original ===\n%s\n" + "=== Round-tripped ===\n%s\n", + xb1.buffer, xb2.buffer, td->name); + } + FREEMEM(xb1.buffer); + FREEMEM(xb2.buffer); + return XEQ_ROUND_TRIP_FAILED; + } + + FREEMEM(xb1.buffer); + FREEMEM(xb2.buffer); + return XEQ_SUCCESS; +} + diff --git a/src/tmx/Asn_J2735/src/r2024/xer_encoder.h b/src/tmx/Asn_J2735/src/r2024/xer_encoder.h deleted file mode 100644 index 6cfc505fa..000000000 --- a/src/tmx/Asn_J2735/src/r2024/xer_encoder.h +++ /dev/null @@ -1,83 +0,0 @@ -/*- - * Copyright (c) 2004-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _XER_ENCODER_H_ -#define _XER_ENCODER_H_ - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct asn_TYPE_descriptor_s; /* Forward declaration */ - -/* Flags used by the xer_encode() and (*xer_type_encoder_f), defined below */ -enum xer_encoder_flags_e { - /* Mode of encoding */ - XER_F_BASIC = 0x01, /* BASIC-XER (pretty-printing) */ - XER_F_CANONICAL = 0x02 /* Canonical XER (strict rules) */ -}; - -/* - * The XER encoder of any type. May be invoked by the application. - * Produces CANONICAL-XER and BASIC-XER depending on the (xer_flags). - */ -asn_enc_rval_t xer_encode(const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, /* Structure to be encoded */ - enum xer_encoder_flags_e xer_flags, - asn_app_consume_bytes_f *consume_bytes_cb, - void *app_key /* Arbitrary callback argument */ -); - -/* - * The variant of the above function which dumps the BASIC-XER (XER_F_BASIC) - * output into the chosen file pointer. - * RETURN VALUES: - * 0: The structure is printed. - * -1: Problem printing the structure. - * WARNING: No sensible errno value is returned. - */ -int xer_fprint(FILE *stream, const struct asn_TYPE_descriptor_s *td, - const void *struct_ptr); - -/* - * A helper function that uses XER encoding/decoding to verify that: - * - Both structures encode into the same BASIC XER. - * - Both resulting XER byte streams can be decoded back. - * - Both decoded structures encode into the same BASIC XER (round-trip). - * All of this verifies equivalence between structures and a round-trip. - * ARGUMENTS: - * (opt_debug_stream) - If specified, prints ongoing details. - */ -enum xer_equivalence_e { - XEQ_SUCCESS, /* The only completely positive return value */ - XEQ_FAILURE, /* General failure */ - XEQ_ENCODE1_FAILED, /* First structure XER encoding failed */ - XEQ_ENCODE2_FAILED, /* Second structure XER encoding failed */ - XEQ_DIFFERENT, /* Structures encoded into different XER */ - XEQ_DECODE_FAILED, /* Decode of the XER data failed */ - XEQ_ROUND_TRIP_FAILED /* Bad round-trip */ -}; -enum xer_equivalence_e xer_equivalent( - const struct asn_TYPE_descriptor_s *type_descriptor, const void *struct1, - const void *struct2, FILE *opt_debug_stream); - -/* - * Type of the generic XER encoder. - */ -typedef asn_enc_rval_t(xer_type_encoder_f)( - const struct asn_TYPE_descriptor_s *type_descriptor, - const void *struct_ptr, /* Structure to be encoded */ - int ilevel, /* Level of indentation */ - enum xer_encoder_flags_e xer_flags, - asn_app_consume_bytes_f *consume_bytes_cb, /* Callback */ - void *app_key /* Arbitrary callback argument */ -); - -#ifdef __cplusplus -} -#endif - -#endif /* _XER_ENCODER_H_ */ diff --git a/src/tmx/Asn_J2735/src/r2024/xer_support.c b/src/tmx/Asn_J2735/src/r2024/xer_support.c new file mode 100644 index 000000000..36b4bfbfc --- /dev/null +++ b/src/tmx/Asn_J2735/src/r2024/xer_support.c @@ -0,0 +1,227 @@ +/* + * Copyright (c) 2003, 2004 X/IO Labs, xiolabs.com. + * Copyright (c) 2003, 2004, 2005 Lev Walkin . + * All rights reserved. + * Redistribution and modifications are permitted subject to BSD license. + */ +#include +#include + +/* Parser states */ +typedef enum { + ST_TEXT, + ST_TAG_START, + ST_TAG_BODY, + ST_TAG_QUOTE_WAIT, + ST_TAG_QUOTED_STRING, + ST_TAG_UNQUOTED_STRING, + ST_COMMENT_WAIT_DASH1, /* ""[0] */ + ST_COMMENT_CLO_RT /* "-->"[1] */ +} pstate_e; + +static const int +_charclass[256] = { + 0,0,0,0,0,0,0,0, 0,1,1,0,1,1,0,0, + 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, + 1,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, + 2,2,2,2,2,2,2,2, 2,2,0,0,0,0,0,0, /* 01234567 89 */ + 0,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3, /* ABCDEFG HIJKLMNO */ + 3,3,3,3,3,3,3,3, 3,3,3,0,0,0,0,0, /* PQRSTUVW XYZ */ + 0,3,3,3,3,3,3,3, 3,3,3,3,3,3,3,3, /* abcdefg hijklmno */ + 3,3,3,3,3,3,3,3, 3,3,3,0,0,0,0,0 /* pqrstuvw xyz */ +}; +#define WHITESPACE(c) (_charclass[(unsigned char)(c)] == 1) +#define ALNUM(c) (_charclass[(unsigned char)(c)] >= 2) +#define ALPHA(c) (_charclass[(unsigned char)(c)] == 3) + +/* Aliases for characters, ASCII/UTF-8 */ +#define EXCLAM 0x21 /* '!' */ +#define CQUOTE 0x22 /* '"' */ +#define CDASH 0x2d /* '-' */ +#define CSLASH 0x2f /* '/' */ +#define LANGLE 0x3c /* '<' */ +#define CEQUAL 0x3d /* '=' */ +#define RANGLE 0x3e /* '>' */ +#define CQUEST 0x3f /* '?' */ + +/* Invoke token callback */ +#define TOKEN_CB_CALL(type, _ns, _current_too, _final) do { \ + int _ret; \ + pstate_e ns = _ns; \ + ssize_t _sz = (p - chunk_start) + _current_too; \ + if (!_sz) { \ + /* Shortcut */ \ + state = _ns; \ + break; \ + } \ + _ret = cb(type, chunk_start, _sz, key); \ + if(_ret < _sz) { \ + if(_current_too && _ret == -1) \ + state = ns; \ + goto finish; \ + } \ + chunk_start = p + _current_too; \ + state = ns; \ + } while(0) + +#define TOKEN_CB(_type, _ns, _current_too) \ + TOKEN_CB_CALL(_type, _ns, _current_too, 0) + +#define PXML_TAG_FINAL_CHUNK_TYPE PXML_TAG_END +#define PXML_COMMENT_FINAL_CHUNK_TYPE PXML_COMMENT_END + +#define TOKEN_CB_FINAL(_type, _ns, _current_too) \ + TOKEN_CB_CALL( _type ## _FINAL_CHUNK_TYPE , _ns, _current_too, 1) + +/* + * Parser itself + */ +ssize_t pxml_parse(int *stateContext, const void *xmlbuf, size_t size, pxml_callback_f *cb, void *key) { + pstate_e state = (pstate_e)*stateContext; + const char *chunk_start = (const char *)xmlbuf; + const char *p = chunk_start; + const char *end = p + size; + + for(; p < end; p++) { + int C = *(const unsigned char *)p; + switch(state) { + case ST_TEXT: + /* + * Initial state: we're in the middle of some text, + * or just have started. + */ + if (C == LANGLE) + /* We're now in the tag, probably */ + TOKEN_CB(PXML_TEXT, ST_TAG_START, 0); + break; + case ST_TAG_START: + if (ALPHA(C) || (C == CSLASH)) + state = ST_TAG_BODY; + else if (C == EXCLAM) + state = ST_COMMENT_WAIT_DASH1; + else + /* + * Not characters and not whitespace. + * Must be something like "3 < 4". + */ + TOKEN_CB(PXML_TEXT, ST_TEXT, 1);/* Flush as data */ + break; + case ST_TAG_BODY: + switch(C) { + case RANGLE: + /* End of the tag */ + TOKEN_CB_FINAL(PXML_TAG, ST_TEXT, 1); + break; + case LANGLE: + /* + * The previous tag wasn't completed, but still + * recognized as valid. (Mozilla-compatible) + */ + TOKEN_CB_FINAL(PXML_TAG, ST_TAG_START, 0); + break; + case CEQUAL: + state = ST_TAG_QUOTE_WAIT; + break; + } + break; + case ST_TAG_QUOTE_WAIT: + /* + * State after the equal sign ("=") in the tag. + */ + switch(C) { + case CQUOTE: + state = ST_TAG_QUOTED_STRING; + break; + case RANGLE: + /* End of the tag */ + TOKEN_CB_FINAL(PXML_TAG, ST_TEXT, 1); + break; + default: + if(!WHITESPACE(C)) + /* Unquoted string value */ + state = ST_TAG_UNQUOTED_STRING; + } + break; + case ST_TAG_QUOTED_STRING: + /* + * Tag attribute's string value in quotes. + */ + if(C == CQUOTE) { + /* Return back to the tag state */ + state = ST_TAG_BODY; + } + break; + case ST_TAG_UNQUOTED_STRING: + if(C == RANGLE) { + /* End of the tag */ + TOKEN_CB_FINAL(PXML_TAG, ST_TEXT, 1); + } else if(WHITESPACE(C)) { + /* Return back to the tag state */ + state = ST_TAG_BODY; + } + break; + case ST_COMMENT_WAIT_DASH1: + if(C == CDASH) { + state = ST_COMMENT_WAIT_DASH2; + } else { + /* Some ordinary tag. */ + state = ST_TAG_BODY; + } + break; + case ST_COMMENT_WAIT_DASH2: + if(C == CDASH) { + /* Seen "<--" */ + state = ST_COMMENT; + } else { + /* Some ordinary tag */ + state = ST_TAG_BODY; + } + break; + case ST_COMMENT: + if(C == CDASH) { + state = ST_COMMENT_CLO_DASH2; + } + break; + case ST_COMMENT_CLO_DASH2: + if(C == CDASH) { + state = ST_COMMENT_CLO_RT; + } else { + /* This is not an end of a comment */ + state = ST_COMMENT; + } + break; + case ST_COMMENT_CLO_RT: + if(C == RANGLE) { + TOKEN_CB_FINAL(PXML_COMMENT, ST_TEXT, 1); + } else if(C == CDASH) { + /* Maintain current state, still waiting for '>' */ + } else { + state = ST_COMMENT; + } + break; + } /* switch(*ptr) */ + } /* for() */ + + /* + * Flush the partially processed chunk, state permitting. + */ + if(p - chunk_start) { + switch (state) { + case ST_COMMENT: + TOKEN_CB(PXML_COMMENT, state, 0); + break; + case ST_TEXT: + TOKEN_CB(PXML_TEXT, state, 0); + break; + default: break; /* a no-op */ + } + } + +finish: + *stateContext = (int)state; + return chunk_start - (const char *)xmlbuf; +} + diff --git a/src/tmx/Asn_J2735/src/r2024/xer_support.h b/src/tmx/Asn_J2735/src/r2024/xer_support.h deleted file mode 100644 index 2c3f369b8..000000000 --- a/src/tmx/Asn_J2735/src/r2024/xer_support.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright (c) 2003, 2004 X/IO Labs, xiolabs.com. - * Copyright (c) 2003-2017 Lev Walkin . All rights reserved. - * Redistribution and modifications are permitted subject to BSD license. - */ -#ifndef _XER_SUPPORT_H_ -#define _XER_SUPPORT_H_ - -#include /* Platform-specific types */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Types of data transferred to the application. - */ -typedef enum { - PXML_TEXT, /* Plain text between XML tags. */ - PXML_TAG, /* A tag, starting with '<'. */ - PXML_COMMENT, /* An XML comment, including "". */ - /* - * The following chunk types are reported if the chunk - * terminates the specified XML element. - */ - PXML_TAG_END, /* Tag ended */ - PXML_COMMENT_END /* Comment ended */ -} pxml_chunk_type_e; - -/* - * Callback function that is called by the parser when parsed data is - * available. The _opaque is the pointer to a field containing opaque user - * data specified in pxml_create() call. The chunk type is _type and the text - * data is the piece of buffer identified by _bufid (as supplied to - * pxml_feed() call) starting at offset _offset and of _size bytes size. - * The chunk is NOT '\0'-terminated. - */ -typedef int (pxml_callback_f)(pxml_chunk_type_e _type, - const void *_chunk_data, size_t _chunk_size, void *_key); - -/* - * Parse the given buffer as it were a chunk of XML data. - * Invoke the specified callback each time the meaningful data is found. - * This function returns number of bytes consumed from the buffer. - * It will always be lesser than or equal to the specified _size. - * The next invocation of this function must account the difference. - */ -ssize_t pxml_parse(int *_stateContext, const void *_buf, size_t _size, - pxml_callback_f *cb, void *_key); - -#ifdef __cplusplus -} -#endif - -#endif /* _XER_SUPPORT_H_ */